glob.h
001: 
002: 
003: 
004: 
005: 
006: 
007: 
008: 
009: 
010: 
011: 
012: 
013: 
014: 
015: 
016: 
017: 
018: 
019: 
020: #ifndef _GLOB_H
021: #define _GLOB_H 1
022: 
023: #include <sys/cdefs.h>
024: 
025: __BEGIN_DECLS
026: 
027: 
028: #ifndef __size_t
029: typedef __SIZE_TYPE__ __size_t;
030: # if defined __USE_XOPEN || __USE_XOPEN2K8
031: typedef __SIZE_TYPE__ size_t;
032: # endif
033: #else
034: 
035: 
036: # undef __size_t
037: # define __size_t size_t
038: #endif
039: 
040: 
041: #define GLOB_ERR        (1 << 0)
042: #define GLOB_MARK       (1 << 1)
043: #define GLOB_NOSORT     (1 << 2)
044: #define GLOB_DOOFFS     (1 << 3)
045: #define GLOB_NOCHECK    (1 << 4)
046: #define GLOB_APPEND     (1 << 5)
047: #define GLOB_NOESCAPE   (1 << 6)
048: #define GLOB_PERIOD     (1 << 7)
049: 
050: #if !defined __USE_POSIX2 || defined __USE_BSD || defined __USE_GNU
051: # define GLOB_MAGCHAR    (1 << 8)
052: # define GLOB_ALTDIRFUNC (1 << 9)
053: # define GLOB_BRACE      (1 << 10)
054: # define GLOB_NOMAGIC    (1 << 11)
055: # define GLOB_TILDE      (1 << 12)
056: # define GLOB_ONLYDIR    (1 << 13)
057: # define GLOB_TILDE_CHECK (1 << 14)
058: 
059: # define __GLOB_FLAGS   (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
060:                          GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|     \
061:                          GLOB_PERIOD|GLOB_ALTDIRFUNC|GLOB_BRACE|     \
062:                          GLOB_NOMAGIC|GLOB_TILDE|GLOB_ONLYDIR|GLOB_TILDE_CHECK)
063: #else
064: # define __GLOB_FLAGS   (GLOB_ERR|GLOB_MARK|GLOB_NOSORT|GLOB_DOOFFS| \
065:                          GLOB_NOESCAPE|GLOB_NOCHECK|GLOB_APPEND|     \
066:                          GLOB_PERIOD)
067: #endif
068: 
069: 
070: #define GLOB_NOSPACE    1       
071: #define GLOB_ABORTED    2       
072: #define GLOB_NOMATCH    3       
073: #define GLOB_NOSYS      4       
074: #ifdef __USE_GNU
075: 
076: 
077: # define GLOB_ABEND GLOB_ABORTED
078: #endif
079: 
080: 
081: #ifdef __USE_GNU
082: struct stat;
083: #endif
084: typedef struct
085:   {
086:     __size_t gl_pathc;          
087:     char **gl_pathv;            
088:     __size_t gl_offs;           
089:     int gl_flags;               
090: 
091:     
092: 
093:     void (*gl_closedir) (void *);
094: #ifdef __USE_GNU
095:     struct dirent *(*gl_readdir) (void *);
096: #else
097:     void *(*gl_readdir) (void *);
098: #endif
099:     void *(*gl_opendir) (__const char *);
100: #ifdef __USE_GNU
101:     int (*gl_lstat) (__const char *__restrict, struct stat *__restrict);
102:     int (*gl_stat) (__const char *__restrict, struct stat *__restrict);
103: #else
104:     int (*gl_lstat) (__const char *__restrict, void *__restrict);
105:     int (*gl_stat) (__const char *__restrict, void *__restrict);
106: #endif
107:   } glob_t;
108: 
109: #ifdef __USE_LARGEFILE64
110: # ifdef __USE_GNU
111: struct stat64;
112: # endif
113: typedef struct
114:   {
115:     __size_t gl_pathc;
116:     char **gl_pathv;
117:     __size_t gl_offs;
118:     int gl_flags;
119: 
120:     
121: 
122:     void (*gl_closedir) (void *);
123: # ifdef __USE_GNU
124:     struct dirent64 *(*gl_readdir) (void *);
125: # else
126:     void *(*gl_readdir) (void *);
127: # endif
128:     void *(*gl_opendir) (__const char *);
129: # ifdef __USE_GNU
130:     int (*gl_lstat) (__const char *__restrict, struct stat64 *__restrict);
131:     int (*gl_stat) (__const char *__restrict, struct stat64 *__restrict);
132: # else
133:     int (*gl_lstat) (__const char *__restrict, void *__restrict);
134:     int (*gl_stat) (__const char *__restrict, void *__restrict);
135: # endif
136:   } glob64_t;
137: #endif
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: #if !defined __USE_FILE_OFFSET64
148: extern int glob (__const char *__restrict __pattern, int __flags,
149:                  int (*__errfunc) (__const char *, int),
150:                  glob_t *__restrict __pglob) __THROW;
151: 
152: 
153: extern void globfree (glob_t *__pglob) __THROW;
154: #else
155: extern int __REDIRECT_NTH (glob, (__const char *__restrict __pattern,
156:                                   int __flags,
157:                                   int (*__errfunc) (__const char *, int),
158:                                   glob_t *__restrict __pglob), glob64);
159: 
160: extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
161: #endif
162: 
163: #ifdef __USE_LARGEFILE64
164: extern int glob64 (__const char *__restrict __pattern, int __flags,
165:                    int (*__errfunc) (__const char *, int),
166:                    glob64_t *__restrict __pglob) __THROW;
167: 
168: extern void globfree64 (glob64_t *__pglob) __THROW;
169: #endif
170: 
171: 
172: #ifdef __USE_GNU
173: 
174: 
175: 
176: 
177: 
178: extern int glob_pattern_p (__const char *__pattern, int __quote) __THROW;
179: #endif
180: 
181: __END_DECLS
182: 
183: #endif 
184: 
      
      
      
      
   
      
      
         
            
            © Andrew Scott 2006 -
            2025, 
            All Rights Reserved