SLikeNet  0.1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
_FindFirst.h
Go to the documentation of this file.
1 /*
2  * This file was taken from RakNet 4.082.
3  * Please see licenses/RakNet license.txt for the underlying license and related copyright.
4  *
5  * Modified work: Copyright (c) 2017, SLikeSoft UG (haftungsbeschränkt)
6  *
7  * This source code was modified by SLikeSoft. Modifications are licensed under the MIT-style
8  * license found in the license.txt file in the root directory of this source tree.
9  */
10 
15 
16 #ifndef GCC_FINDFIRST_H
17 #define GCC_FINDFIRST_H
18 
19 #if (defined(__GNUC__) || defined(__ARMCC_VERSION) || defined(__GCCXML__) || defined(__S3E__) ) && !defined(__WIN32)
20 
21 #include <dirent.h>
22 
23 #include "string.h"
24 
25 #define _A_NORMAL 0x00 // Normal file
26 #define _A_RDONLY 0x01 // Read-only file
27 #define _A_HIDDEN 0x02 // Hidden file
28 #define _A_SYSTEM 0x04 // System file
29 #define _A_VOLID 0x08 // Volume ID
30 #define _A_SUBDIR 0x10 // Subdirectory
31 #define _A_ARCH 0x20 // File changed since last archive
32 #define FA_NORMAL 0x00 // Synonym of _A_NORMAL
33 #define FA_RDONLY 0x01 // Synonym of _A_RDONLY
34 #define FA_HIDDEN 0x02 // Synonym of _A_HIDDEN
35 #define FA_SYSTEM 0x04 // Synonym of _A_SYSTEM
36 #define FA_LABEL 0x08 // Synonym of _A_VOLID
37 #define FA_DIREC 0x10 // Synonym of _A_SUBDIR
38 #define FA_ARCH 0x20 // Synonym of _A_ARCH
39 
40 
41 const unsigned STRING_BUFFER_SIZE = 512;
42 
43 typedef struct _finddata_t
44 {
45  char name[STRING_BUFFER_SIZE];
46  int attrib;
47  unsigned long size;
48 } _finddata;
49 
53 typedef struct _findinfo_t
54 {
55  DIR* openedDir;
56  SLNet::RakString filter;
57  SLNet::RakString dirName;
58 } _findinfo;
59 
60 long _findfirst(const char *name, _finddata_t *f);
61 int _findnext(long h, _finddata_t *f);
62 int _findclose(long h);
63 
64 #endif
65 #endif
66