1 #ifndef	_GLOB_H
2 #define	_GLOB_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <features.h>
9 
10 #define __NEED_size_t
11 
12 #include <bits/alltypes.h>
13 
14 typedef struct {
15 	size_t gl_pathc;
16 	char **gl_pathv;
17 	size_t gl_offs;
18 	int __dummy1;
19 	void *__dummy2[5];
20 } glob_t;
21 
22 int  glob(const char *__restrict, int, int (*)(const char *, int), glob_t *__restrict);
23 void globfree(glob_t *);
24 
25 #define GLOB_ERR      0x01
26 #define GLOB_MARK     0x02
27 #define GLOB_NOSORT   0x04
28 #define GLOB_DOOFFS   0x08
29 #define GLOB_NOCHECK  0x10
30 #define GLOB_APPEND   0x20
31 #define GLOB_NOESCAPE 0x40
32 #define	GLOB_PERIOD   0x80
33 
34 #ifdef __wasilibc_unmodified_upstream // WASI has no usernames
35 #define GLOB_TILDE       0x1000
36 #define GLOB_TILDE_CHECK 0x4000
37 #endif
38 
39 #define GLOB_NOSPACE 1
40 #define GLOB_ABORTED 2
41 #define GLOB_NOMATCH 3
42 #define GLOB_NOSYS   4
43 
44 #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
45 #define glob64 glob
46 #define globfree64 globfree
47 #define glob64_t glob_t
48 #endif
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif
55