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
00153 GWENHYWFAR_API
00154 int GWEN_Directory_GetHomeDirectory(char *buffer, unsigned int size);
00155
00167 GWENHYWFAR_API
00168 int GWEN_Directory_GetTmpDirectory(char *buffer, unsigned int size);
00169
00177 GWENHYWFAR_API
00178 int GWEN_Directory_GetPath(const char *path, unsigned int flags);
00179
00180
00184 GWENHYWFAR_API
00185 int GWEN_Directory_Create(const char *path);
00186
00191 GWENHYWFAR_API
00192 int GWEN_Directory_CreatePublic(const char *path);
00193
00207 GWENHYWFAR_API
00208 int GWEN_Directory_OsifyPath(const char *path, GWEN_BUFFER *pbuf,
00209 int transformDriveElement);
00210
00211
00212 GWENHYWFAR_API
00213 int GWEN_Directory_FindFileInPaths(const GWEN_STRINGLIST *paths,
00214 const char *filePath,
00215 GWEN_BUFFER *fbuf);
00216
00217 GWENHYWFAR_API
00218 int GWEN_Directory_FindPathForFile(const GWEN_STRINGLIST *paths,
00219 const char *filePath,
00220 GWEN_BUFFER *fbuf);
00221
00223
00224
00225 #ifdef __cplusplus
00226 }
00227 #endif
00228
00229
00230 #endif
00231
00232
00233
00234