00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00034 #ifndef GWEN_DIRECTORY_H
00035 #define GWEN_DIRECTORY_H
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00041 typedef struct GWEN_DIRECTORYDATASTRUCT GWEN_DIRECTORYDATA;
00042
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046
00047
00048 #include <gwenhywfar/gwenhywfarapi.h>
00049 #include <gwenhywfar/buffer.h>
00050 #include <gwenhywfar/stringlist.h>
00051
00052 #ifdef __cplusplus
00053 extern "C" {
00054 #endif
00055
00060 #define GWEN_DIR_FLAGS_PUBLIC_PATH 0x00010000
00061 #define GWEN_DIR_FLAGS_PUBLIC_NAME 0x00020000
00062
00073
00077 GWENHYWFAR_API GWEN_DIRECTORYDATA *GWEN_Directory_new();
00078
00082 GWENHYWFAR_API void GWEN_Directory_free(GWEN_DIRECTORYDATA *d);
00083
00092 GWENHYWFAR_API
00093 int GWEN_Directory_Open(GWEN_DIRECTORYDATA *d, const char *n);
00094
00102 GWENHYWFAR_API int GWEN_Directory_Close(GWEN_DIRECTORYDATA *d);
00103
00115 GWENHYWFAR_API int GWEN_Directory_Read(GWEN_DIRECTORYDATA *d,
00116 char *buffer,
00117 unsigned int len);
00118
00127 GWENHYWFAR_API int GWEN_Directory_Rewind(GWEN_DIRECTORYDATA *d);
00128
00129
00134 GWENHYWFAR_API
00135 int GWEN_Directory_GetHomeDirectory(char *buffer, unsigned int size);
00136
00144 GWENHYWFAR_API
00145 int GWEN_Directory_GetPath(const char *path, unsigned int flags);
00146
00147
00151 GWENHYWFAR_API
00152 int GWEN_Directory_Create(const char *path);
00153
00158 GWENHYWFAR_API
00159 int GWEN_Directory_CreatePublic(const char *path);
00160
00174 GWENHYWFAR_API
00175 int GWEN_Directory_OsifyPath(const char *path, GWEN_BUFFER *pbuf,
00176 int transformDriveElement);
00177
00178
00179 GWENHYWFAR_API
00180 int GWEN_Directory_FindFileInPaths(const GWEN_STRINGLIST *paths,
00181 const char *filePath,
00182 GWEN_BUFFER *fbuf);
00183
00184 GWENHYWFAR_API
00185 int GWEN_Directory_FindPathForFile(const GWEN_STRINGLIST *paths,
00186 const char *filePath,
00187 GWEN_BUFFER *fbuf);
00188
00190
00191
00192 #ifdef __cplusplus
00193 }
00194 #endif
00195
00196
00197 #endif
00198
00199
00200
00201