iot_fs.h 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. #ifndef __IOT_FS_H__
  2. #define __IOT_FS_H__
  3. #include "iot_os.h"
  4. /**
  5. * @defgroup iot_sdk_fs 文件系统接口
  6. * @{
  7. */
  8. /**@example fs/demo_fs.c
  9. * fs接口示例
  10. */
  11. /**打开文件
  12. *@param pszFileNameUniLe: 文件全路径名称
  13. *@param iFlag: 打开标志详细请参见E_AMOPENAT_FILE_OPEN_FLAG
  14. *@return INT32: 返回文件句柄
  15. **/
  16. INT32 iot_fs_open_file(
  17. char* pszFileNameUniLe,
  18. UINT32 iFlag
  19. );
  20. /**关闭文件
  21. *@param iFd: 文件句柄,open_file 或 create_file 返回的
  22. *@return INT32: 返回值小于0失败, 其余成功
  23. **/
  24. INT32 iot_fs_close_file(
  25. INT32 iFd
  26. );
  27. /**读取文件
  28. *@param iFd: 文件句柄,open_file 或 create_file 返回的
  29. *@param pBuf: 数据保存指针
  30. *@param iLen: buf长度
  31. *@return INT32: 返回读取长度, 小于0表示失败,其余成功
  32. **/
  33. INT32 iot_fs_read_file(
  34. INT32 iFd,
  35. UINT8 *pBuf,
  36. UINT32 iLen
  37. );
  38. /**写入文件
  39. *@param iFd: 文件句柄,open_file 或 create_file 返回的
  40. *@param pBuf: 需要写入的数据指针
  41. *@param iLen: 数据长度
  42. *@return INT32: 返回写入长度, 小于0表示失败,其余成功
  43. **/
  44. INT32 iot_fs_write_file(
  45. INT32 iFd,
  46. UINT8 *pBuf,
  47. UINT32 iLen
  48. );
  49. /**立即写入flash
  50. *@param iFd: 文件句柄,open_file 或 create_file 返回的
  51. *@return INT32: 返回立即写入长度, 小于0表示失败,其余成功
  52. **/
  53. INT32 iot_fs_flush_file(
  54. INT32 iFd
  55. );
  56. /**文件定位
  57. *@note 参数iOffset的含义取决于iOrigin的值.
  58. *@param iFd: 文件句柄,open_file 或 create_file 返回的
  59. *@param iOffset: 偏移量
  60. *@param iOrigin: 参数详细请参见E_AMOPENAT_FILE_SEEK_FLAG
  61. *@return INT32: 返回文件的偏移量
  62. **/
  63. INT32 iot_fs_seek_file(
  64. INT32 iFd,
  65. INT32 iOffset,
  66. UINT8 iOrigin
  67. );
  68. /**创建文件
  69. *@param pszFileNameUniLe: 文件全路径名称
  70. *@return INT32: 返回文件句柄, 小于0表示失败,其余成功
  71. **/
  72. INT32 iot_fs_create_file(
  73. char* pszFileNameUniLe
  74. );
  75. /**删除文件
  76. *@param pszFileNameUniLe: 文件全路径名称
  77. *@return INT32: 返回值小于0表示失败,其余成功
  78. **/
  79. INT32 iot_fs_delete_file(
  80. char* pszFileNameUniLe
  81. );
  82. /**切换当前工作目录
  83. *@param pszDirNameUniLe: 目录路径
  84. *@return INT32: 返回值小于0表示失败,其余成功
  85. **/
  86. INT32 iot_fs_change_dir(
  87. char* pszDirNameUniLe
  88. );
  89. /**创建目录
  90. *@param pszDirNameUniLe: 目录路径
  91. *@param iMode: 目录属性,详细请参见E_AMOPENAT_FILE_ATTR_TAG
  92. *@return INT32: 返回值小于0表示失败,其余成功
  93. **/
  94. INT32 iot_fs_make_dir(
  95. char* pszDirNameUniLe,
  96. UINT32 iMode
  97. );
  98. /**删除目录
  99. *@param pszDirNameUniLe: 目录路径,该目录必须为空,接口才能返回成功
  100. *@return INT32: 返回值小于0表示失败,其余成功
  101. **/
  102. INT32 iot_fs_remove_dir(
  103. char* pszDirNameUniLe
  104. );
  105. /**获取当前路径
  106. *@param pCurDirUniLe: 目录路径
  107. *@param uUnicodeSize: 存储目录信息空间大小
  108. *@return INT32: 返回值小于0表示失败,其余成功
  109. **/
  110. INT32 iot_fs_get_current_dir(
  111. char* pCurDirUniLe,
  112. UINT32 uUnicodeSize
  113. );
  114. /**获取文件系统信息
  115. *@param devName: 查找文件句柄
  116. *@param fileInfo: 文件系统信息
  117. *@return INT32 返回值小于0表示失败,其余成功
  118. **/
  119. INT32 iot_fs_get_fs_info(
  120. E_AMOPENAT_FILE_DEVICE_NAME devName,
  121. T_AMOPENAT_FILE_INFO *fileInfo
  122. );
  123. /**获取文件大小接口
  124. *@param pszFileNameUniLe: 文件全路径名称
  125. *@return UINT32: 返回文件的大小
  126. **/
  127. UINT32 iot_fs_file_size(
  128. char* pszFileNameUniLe
  129. );
  130. /**打开查找,并且获取文件夹下文件名
  131. *@param dirName: 路径
  132. *@param findResult: 对应路径下的第一个文件
  133. *@return fileInfo: 查找返回的句柄,返回值小于0表示失败,其余成功
  134. **/
  135. INT32 iot_fs_find_first(
  136. char* dirName,
  137. PAMOPENAT_FS_FIND_DATA findResult
  138. );
  139. /**获取文件夹下文件名
  140. *@param iFd: iot_fs_find_first接口返回值
  141. *@param findResult: 对应路径下的文件
  142. *@return fileInfo: 返回小于0表示没有剩余文件,其他值表示还有文件
  143. **/
  144. INT32 iot_fs_find_next(
  145. INT32 iFd,
  146. PAMOPENAT_FS_FIND_DATA findResult
  147. );
  148. /**关闭查找
  149. *@param iFd: iot_fs_find_first接口返回值
  150. *@return fileInfo: 返回值小于0表示失败,其余成功
  151. **/
  152. INT32 iot_fs_find_close(
  153. INT32 iFd
  154. );
  155. /** @}*/
  156. #endif