mfs_api.h
上传用户:sunhongbo
上传日期:2022-01-25
资源大小:3010k
文件大小:4k
源码类别:

数据库系统

开发平台:

C/C++

  1. /**************************************************************
  2. author:szhy
  3. create time:080513
  4. description:内存文件系统
  5. **************************************************************/
  6. #ifndef __MFS_API_H_
  7. #define __MFS_API_H_
  8. /**************************************************************
  9. 基本类型定义
  10. **************************************************************/
  11. typedef signed int MFS_HANDLE;
  12. /**************************************************************
  13. 获取内存文件系统的版本号
  14. **************************************************************/
  15. char * MFS_API_GetVersion(void);
  16. /**************************************************************
  17. 初始化内存文件系统
  18. **************************************************************/
  19. int MFS_API_Init(unsigned int memSize);
  20. /**************************************************************
  21. 退出内存文件系统
  22. **************************************************************/
  23. int MFS_API_Exit(void);
  24. /**************************************************************
  25. 打开文件,返回值
  26. **************************************************************/
  27. #define FILE_OPEN_FAIL -1
  28. /**************************************************************
  29. 打开文件,如果返回FILE_OPEN_FAIL表示打开文件失败,否则成功
  30. **************************************************************/
  31. MFS_HANDLE MFS_API_Open(const char *pFileName, const char *pMode);
  32. /**************************************************************
  33. 关闭文件
  34. **************************************************************/
  35. int MFS_API_Close(MFS_HANDLE fileHandle);
  36. /**************************************************************
  37. 删除文件
  38. **************************************************************/
  39. int MFS_API_Remove(const char *pFileName);
  40. /**************************************************************
  41. 定位文件指针参数定义
  42. **************************************************************/
  43. #define MFS_SEEK_CUR         1
  44. #define MFS_SEEK_END         2
  45. #define MFS_SEEK_SET         0
  46. /**************************************************************
  47. 定位文件指针返回值
  48. **************************************************************/
  49. #define FILE_SEEK_FAIL  -1
  50. /**************************************************************
  51. 定位文件指针,如果返回FILE_SEEK_FAIL表示定位文件指针失败,否则返回文件指针的位置
  52. **************************************************************/
  53. signed int MFS_API_Seek(MFS_HANDLE fileHandle, signed int Offset, signed int Whence);
  54. /**************************************************************
  55. 读文件返回值
  56. **************************************************************/
  57. #define FILE_READ_FAIL  -1
  58. /**************************************************************
  59. 读文件,如果返回FILE_READ_FAIL表示读文件失败,否则返回读取的数据长度
  60. **************************************************************/
  61. signed int MFS_API_Read(MFS_HANDLE fileHandle, void * data, signed int dataLen);
  62. /**************************************************************
  63. 写文件返回值
  64. **************************************************************/
  65. #define FILE_WRITE_FAIL  -1
  66. /**************************************************************
  67. 写文件,如果返回FILE_WRITE_FAIL表示写文件失败,否则返回写的数据长度
  68. **************************************************************/
  69. signed int MFS_API_Write(MFS_HANDLE fileHandle,const void * data, signed int dataLen);
  70. /**************************************************************
  71. 读取文件大小返回值
  72. **************************************************************/
  73. #define FILE_GETSIZE_FAIL  -1
  74. /**************************************************************
  75. 获取文件大小,如果返回FILE_GETSIZE_FAIL表示获取文件大小失败,否则返回文件大小
  76. **************************************************************/
  77. signed int MFS_API_GetSize(MFS_HANDLE fileHandle);
  78. /**************************************************************
  79. 内存文件系统的移植接口
  80. **************************************************************/
  81. typedef struct _tagMFS_Interface_s
  82. {
  83. void * (*MFS_API_Malloc)(unsigned int size);
  84. void (*MFS_API_Free)(void * pointer);
  85. void (*MFS_API_Printf)(char * string);
  86. } MFS_Interface_s;
  87. typedef MFS_Interface_s * MFS_Interface_sp;
  88. /**************************************************************
  89. 注册内存文件系统的移植接口
  90. **************************************************************/
  91. void MFS_API_RegisterInterface(MFS_Interface_sp pInterface);
  92. #endif