mp_flipper_fileio.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include <stdio.h>
  3. #include <stdbool.h>
  4. typedef enum {
  5. MP_FLIPPER_FILE_ACCESS_MODE_READ = (1 << 0),
  6. MP_FLIPPER_FILE_ACCESS_MODE_WRITE = (1 << 1),
  7. } mp_flipper_file_access_mode_t;
  8. typedef enum {
  9. MP_FLIPPER_FILE_OPEN_MODE_OPEN_EXIST = (1 << 0),
  10. MP_FLIPPER_FILE_OPEN_MODE_OPEN_ALWAYS = (1 << 1),
  11. MP_FLIPPER_FILE_OPEN_MODE_OPEN_APPEND = (1 << 2),
  12. MP_FLIPPER_FILE_OPEN_MODE_CREATE_NEW = (1 << 3),
  13. MP_FLIPPER_FILE_OPEN_MODE_CREATE_ALWAYS = (1 << 4),
  14. } mp_flipper_file_open_mode_t;
  15. void* mp_flipper_file_open(
  16. const char* name,
  17. mp_flipper_file_access_mode_t access_mode,
  18. mp_flipper_file_open_mode_t open_mode,
  19. size_t* offset);
  20. void* mp_flipper_file_new_file_descriptor(
  21. void* name,
  22. void* handle,
  23. size_t offset,
  24. mp_flipper_file_access_mode_t access_mode,
  25. mp_flipper_file_open_mode_t open_mode);
  26. int mp_flipper_file_close(void* handle, void* name);
  27. char* mp_flipper_file_name(void* name, size_t* size);
  28. bool mp_flipper_file_writable(void* handle);
  29. size_t mp_flipper_file_read(void* handle, void* buffer, size_t size, int* errcode);
  30. size_t mp_flipper_file_write(void* handle, const void* buffer, size_t size, int* errcode);