fileutil.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /*
  2. * category: [tool for file]
  3. * apply status: framework
  4. * edit status:
  5. * build status:
  6. * description:
  7. */
  8. #ifndef __FILEUTIL_H__
  9. #define __FILEUTIL_H__
  10. #pragma once
  11. #include "config.h"
  12. #include "path.h"
  13. #ifdef __cplusplus
  14. extern "C" {
  15. #endif
  16. TOOLKIT_API BOOL ExistsDirA(LPCSTR lpDirPath);
  17. #define ExistsDir ExistsDirA
  18. TOOLKIT_API BOOL ExistsFileA(LPCSTR lpFilePath);
  19. #define ExistsFile ExistsFileA
  20. TOOLKIT_API DWORD ReadFileSize(LPCSTR pszFile);
  21. TOOLKIT_API BOOL RemoveFileA(LPCSTR pszFile);
  22. TOOLKIT_API BOOL RemoveFileReadOnlyAttributeA(LPCSTR pszFile);
  23. TOOLKIT_API BOOL CopyDirA(LPCSTR pszSourceDir, LPCSTR pszDestDir);
  24. TOOLKIT_API BOOL CreateDirA(LPCSTR lpDirPath, BOOL bRecursive);
  25. #define CreateDir CreateDirA
  26. TOOLKIT_API BOOL CreateDirRecursiveA(LPCSTR lpDirPath);
  27. #define CreateDirRecursive CreateDirRecursiveA
  28. TOOLKIT_API BOOL ClearDirRecursiveA(LPCSTR lpDirPath);
  29. #define ClearDirRecursive ClearDirRecursiveA
  30. TOOLKIT_API BOOL RemoveDirRecursiveA(LPCSTR lpDirPath);
  31. #define RemoveDirRecursive RemoveDirRecursiveA
  32. TOOLKIT_API BOOL CreateParentDirA(LPCSTR lpPath, BOOL bRecursive);
  33. #define CreateParentDir CreateParentDirA
  34. TOOLKIT_API HANDLE ExtCreateFileA(LPCSTR lpFileName,
  35. DWORD dwDesiredAccess,
  36. DWORD dwShareMode,
  37. LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  38. DWORD dwCreationDisposition,
  39. DWORD dwFlagsAndAttributes,
  40. HANDLE hTemplateFile);
  41. #define ExtCreateFile ExtCreateFileA
  42. typedef struct array_header_t array_header_t;
  43. TOOLKIT_API array_header_t *fileutil_get_sub_files_a(const char *path);
  44. TOOLKIT_API array_header_t *fileutil_get_sub_dirs_a(const char *path);
  45. TOOLKIT_API array_header_t *fileutil_get_sub_files2_a(const char *path, int limitation);
  46. TOOLKIT_API array_header_t *fileutil_get_sub_dirs2_a(const char *path, int limitation);
  47. #define fileutil_get_sub_files fileutil_get_sub_files_a
  48. #define fileutil_get_sub_dirs fileutil_get_sub_dirs_a
  49. /** suc:0, failed: -1*/
  50. TOOLKIT_API int fileutil_copy_file(const char* dest_file_path, const char* src_file_path);
  51. TOOLKIT_API void fileutil_delete_file(const char* filename);
  52. TOOLKIT_API FILE *fileutil_transaction_fopen(const char *filename, const char *mode);
  53. TOOLKIT_API int fileutil_transaction_fclose(const char *filename, FILE *fp);
  54. #ifndef _WIN32
  55. TOOLKIT_API void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext);
  56. #endif //NOT _WIN32
  57. #ifdef __cplusplus
  58. } // extern "C" {
  59. #endif
  60. #endif //__FILEUTIL_H__