file_stream.h 816 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #pragma once
  2. #include <stdlib.h>
  3. #include <storage/storage.h>
  4. #include "stream.h"
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. /**
  9. * Allocate file stream
  10. * @return Stream*
  11. */
  12. Stream* file_stream_alloc(Storage* storage);
  13. /**
  14. * Opens an existing file or create a new one.
  15. * @param stream pointer to file stream object.
  16. * @param path path to file
  17. * @param access_mode access mode from FS_AccessMode
  18. * @param open_mode open mode from FS_OpenMode
  19. * @return success flag. You need to close the file even if the open operation failed.
  20. */
  21. bool file_stream_open(
  22. Stream* stream,
  23. const char* path,
  24. FS_AccessMode access_mode,
  25. FS_OpenMode open_mode);
  26. /**
  27. * Closes the file.
  28. * @param stream
  29. * @return true
  30. * @return false
  31. */
  32. bool file_stream_close(Stream* stream);
  33. #ifdef __cplusplus
  34. }
  35. #endif