path.h
Go to the documentation of this file.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
00028
00029 #ifndef GWENHYWFAR_PATH_H
00030 #define GWENHYWFAR_PATH_H
00031
00032 #include <gwenhywfar/gwenhywfarapi.h>
00033 #include <gwenhywfar/types.h>
00034 #include <gwenhywfar/buffer.h>
00035
00036
00037 #ifdef __cplusplus
00038 extern "C" {
00039 #endif
00040
00058
00069 #define GWEN_PATH_FLAGS_PATHMUSTEXIST 0x00000001
00070
00073 #define GWEN_PATH_FLAGS_PATHMUSTNOTEXIST 0x00000002
00074
00081 #define GWEN_PATH_FLAGS_PATHCREATE 0x00000004
00082
00087 #define GWEN_PATH_FLAGS_NAMEMUSTEXIST 0x00000008
00088
00092 #define GWEN_PATH_FLAGS_NAMEMUSTNOTEXIST 0x00000010
00093
00099 #define GWEN_PATH_FLAGS_CREATE_GROUP 0x00000020
00100
00106 #define GWEN_PATH_FLAGS_CREATE_VAR 0x00000040
00107
00114 #define GWEN_PATH_FLAGS_VARIABLE 0x00000080
00115
00116
00124 #define GWEN_PATH_FLAGS_ESCAPE 0x00000100
00125
00127 #define GWEN_PATH_FLAGS_UNESCAPE 0x00000100
00128
00129
00130 #define GWEN_PATH_FLAGS_TOLERANT_ESCAPE 0x00000200
00131
00136 #define GWEN_PATH_FLAGS_CONVERT_LAST 0x00000400
00137
00145 #define GWEN_PATH_FLAGS_CHECKROOT 0x00000800
00146
00151 #define GWEN_PATH_FLAGS_NO_IDX 0x00001000
00152
00156 #define GWEN_PATH_FLAGS_RFU1 0x00002000
00157
00158
00162 #define GWEN_PATH_FLAGS_INTERNAL 0x0000c000
00163
00169 #define GWEN_PATH_FLAGS_LAST 0x00004000
00170
00177 #define GWEN_PATH_FLAGS_ROOT 0x00008000
00178
00183 typedef void* (*GWEN_PATHHANDLERPTR)(const char *entry,
00184 void *data,
00185 uint32_t flags);
00186
00187 typedef void* (*GWEN_PATHIDXHANDLERPTR)(const char *entry,
00188 void *data,
00189 int idx,
00190 uint32_t flags);
00191
00192
00205 GWENHYWFAR_API
00206 void *GWEN_Path_Handle(const char *path,
00207 void *data,
00208 uint32_t flags,
00209 GWEN_PATHHANDLERPTR elementFunction);
00210
00211 GWENHYWFAR_API
00212 void *GWEN_Path_HandleWithIdx(const char *path,
00213 void *data,
00214 uint32_t flags,
00215 GWEN_PATHIDXHANDLERPTR elementFunction);
00216
00217
00224 GWENHYWFAR_API
00225 int GWEN_Path_Convert(const char *path,
00226 GWEN_BUFFER *buffer,
00227 uint32_t flags);
00228
00229
00231
00232
00233 #ifdef __cplusplus
00234 }
00235 #endif
00236
00237
00238 #endif
00239