fileutil.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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 void SureUnixFileAttributeAccessable(LPCSTR pszFile);
  24. TOOLKIT_API BOOL IsDirectory(LPCSTR pszDir);
  25. TOOLKIT_API BOOL CopyDirA(LPCSTR pszSourceDir, LPCSTR pszDestDir);
  26. TOOLKIT_API BOOL CreateDirA(LPCSTR lpDirPath, BOOL bRecursive);
  27. #define CreateDir CreateDirA
  28. TOOLKIT_API BOOL CreateDirRecursiveA(LPCSTR lpDirPath);
  29. #define CreateDirRecursive CreateDirRecursiveA
  30. TOOLKIT_API BOOL ClearDirRecursiveA(LPCSTR lpDirPath);
  31. #define ClearDirRecursive ClearDirRecursiveA
  32. TOOLKIT_API BOOL RemoveDirRecursiveA(LPCSTR lpDirPath);
  33. #define RemoveDirRecursive RemoveDirRecursiveA
  34. TOOLKIT_API BOOL CreateParentDirA(LPCSTR lpPath, BOOL bRecursive);
  35. #define CreateParentDir CreateParentDirA
  36. TOOLKIT_API HANDLE ExtCreateFileA(LPCSTR lpFileName,
  37. DWORD dwDesiredAccess,
  38. DWORD dwShareMode,
  39. LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  40. DWORD dwCreationDisposition,
  41. DWORD dwFlagsAndAttributes,
  42. HANDLE hTemplateFile);
  43. #define ExtCreateFile ExtCreateFileA
  44. typedef struct array_header_t array_header_t;
  45. TOOLKIT_API array_header_t *fileutil_get_sub_files_a(const char *path);
  46. TOOLKIT_API array_header_t *fileutil_get_sub_dirs_a(const char *path);
  47. TOOLKIT_API array_header_t *fileutil_get_sub_files2_a(const char *path, int limitation);
  48. TOOLKIT_API array_header_t *fileutil_get_sub_dirs2_a(const char *path, int limitation);
  49. #define fileutil_get_sub_files fileutil_get_sub_files_a
  50. #define fileutil_get_sub_dirs fileutil_get_sub_dirs_a
  51. /** suc:0, failed: -1*/
  52. TOOLKIT_API int fileutil_copy_file(const char* dest_file_path, const char* src_file_path);
  53. TOOLKIT_API void fileutil_delete_file(const char* filename);
  54. TOOLKIT_API FILE *fileutil_transaction_fopen(const char *filename, const char *mode);
  55. TOOLKIT_API int fileutil_transaction_fclose(const char *filename, FILE *fp);
  56. #ifndef _WIN32
  57. TOOLKIT_API void _splitpath(const char* path, char* drive, char* dir, char* fname, char* ext);
  58. #endif //NOT _WIN32
  59. #ifdef __cplusplus
  60. } // extern "C" {
  61. #endif
  62. #endif //__FILEUTIL_H__