gwenhywfar 4.0.3
|
00001 /*************************************************************************** 00002 $RCSfile$ 00003 ------------------- 00004 cvs : $Id$ 00005 begin : Tue Dec 03 2002 00006 copyright : (C) 2002 by Martin Preuss 00007 email : martin@libchipcard.de 00008 00009 *************************************************************************** 00010 * * 00011 * This library is free software; you can redistribute it and/or * 00012 * modify it under the terms of the GNU Lesser General Public * 00013 * License as published by the Free Software Foundation; either * 00014 * version 2.1 of the License, or (at your option) any later version. * 00015 * * 00016 * This library is distributed in the hope that it will be useful, * 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 00019 * Lesser General Public License for more details. * 00020 * * 00021 * You should have received a copy of the GNU Lesser General Public * 00022 * License along with this library; if not, write to the Free Software * 00023 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * 00024 * MA 02111-1307 USA * 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_DIRECTORY GWEN_DIRECTORY; 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_DIRECTORY *GWEN_Directory_new(); 00078 00082 GWENHYWFAR_API void GWEN_Directory_free(GWEN_DIRECTORY *d); 00083 00092 GWENHYWFAR_API 00093 int GWEN_Directory_Open(GWEN_DIRECTORY *d, const char *n); 00094 00102 GWENHYWFAR_API int GWEN_Directory_Close(GWEN_DIRECTORY *d); 00103 00115 GWENHYWFAR_API int GWEN_Directory_Read(GWEN_DIRECTORY *d, 00116 char *buffer, 00117 unsigned int len); 00118 00127 GWENHYWFAR_API int GWEN_Directory_Rewind(GWEN_DIRECTORY *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 00179 GWENHYWFAR_API 00180 int GWEN_Directory_GetPrefixDirectory(char *buffer, unsigned int size); 00181 00182 00190 GWENHYWFAR_API 00191 int GWEN_Directory_GetPath(const char *path, unsigned int flags); 00192 00193 00197 GWENHYWFAR_API 00198 int GWEN_Directory_Create(const char *path); 00199 00204 GWENHYWFAR_API 00205 int GWEN_Directory_CreatePublic(const char *path); 00206 00220 GWENHYWFAR_API 00221 int GWEN_Directory_OsifyPath(const char *path, GWEN_BUFFER *pbuf, 00222 int transformDriveElement); 00223 00224 00225 GWENHYWFAR_API 00226 int GWEN_Directory_FindFileInPaths(const GWEN_STRINGLIST *paths, 00227 const char *filePath, 00228 GWEN_BUFFER *fbuf); 00229 00230 GWENHYWFAR_API 00231 int GWEN_Directory_FindPathForFile(const GWEN_STRINGLIST *paths, 00232 const char *filePath, 00233 GWEN_BUFFER *fbuf); 00234 00246 GWENHYWFAR_API 00247 int GWEN_Directory_GetAllEntries(const char *folder, 00248 GWEN_STRINGLIST *sl, 00249 const char *mask); 00250 00266 GWENHYWFAR_API 00267 int GWEN_Directory_GetFileEntriesWithType(const char *folder, 00268 GWEN_STRINGLIST *sl, 00269 const char *mask); 00270 00279 GWENHYWFAR_API 00280 int GWEN_Directory_GetFileEntries(const char *folder, 00281 GWEN_STRINGLIST *sl, 00282 const char *mask); 00283 00284 00293 GWENHYWFAR_API 00294 int GWEN_Directory_GetDirEntries(const char *folder, 00295 GWEN_STRINGLIST *sl, 00296 const char *mask); 00297 00298 00306 GWENHYWFAR_API 00307 int GWEN_Directory_GetMatchingFilesRecursively(const char *folder, 00308 GWEN_STRINGLIST *sl, 00309 const char *mask); 00310 00311 /* defgroup */ 00313 00314 00315 #ifdef __cplusplus 00316 } 00317 #endif 00318 00319 00320 #endif /* GWEN_DIRECTORY_H */ 00321 00322 00323 00324