xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/dirent.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker #ifndef	_DIRENT_H
2*cda5da8dSAndroid Build Coastguard Worker #define	_DIRENT_H
3*cda5da8dSAndroid Build Coastguard Worker 
4*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
5*cda5da8dSAndroid Build Coastguard Worker extern "C" {
6*cda5da8dSAndroid Build Coastguard Worker #endif
7*cda5da8dSAndroid Build Coastguard Worker 
8*cda5da8dSAndroid Build Coastguard Worker #include <features.h>
9*cda5da8dSAndroid Build Coastguard Worker 
10*cda5da8dSAndroid Build Coastguard Worker #define __NEED_ino_t
11*cda5da8dSAndroid Build Coastguard Worker #define __NEED_off_t
12*cda5da8dSAndroid Build Coastguard Worker #define __NEED_size_t
13*cda5da8dSAndroid Build Coastguard Worker #define __NEED_ssize_t
14*cda5da8dSAndroid Build Coastguard Worker 
15*cda5da8dSAndroid Build Coastguard Worker #include <bits/alltypes.h>
16*cda5da8dSAndroid Build Coastguard Worker 
17*cda5da8dSAndroid Build Coastguard Worker #include <bits/dirent.h>
18*cda5da8dSAndroid Build Coastguard Worker 
19*cda5da8dSAndroid Build Coastguard Worker typedef unsigned short reclen_t;
20*cda5da8dSAndroid Build Coastguard Worker 
21*cda5da8dSAndroid Build Coastguard Worker struct posix_dent {
22*cda5da8dSAndroid Build Coastguard Worker 	ino_t d_ino;
23*cda5da8dSAndroid Build Coastguard Worker 	off_t d_off;
24*cda5da8dSAndroid Build Coastguard Worker 	reclen_t d_reclen;
25*cda5da8dSAndroid Build Coastguard Worker 	unsigned char d_type;
26*cda5da8dSAndroid Build Coastguard Worker 	char d_name[];
27*cda5da8dSAndroid Build Coastguard Worker };
28*cda5da8dSAndroid Build Coastguard Worker 
29*cda5da8dSAndroid Build Coastguard Worker typedef struct __dirstream DIR;
30*cda5da8dSAndroid Build Coastguard Worker 
31*cda5da8dSAndroid Build Coastguard Worker #define d_fileno d_ino
32*cda5da8dSAndroid Build Coastguard Worker 
33*cda5da8dSAndroid Build Coastguard Worker int            closedir(DIR *);
34*cda5da8dSAndroid Build Coastguard Worker DIR           *fdopendir(int);
35*cda5da8dSAndroid Build Coastguard Worker DIR           *opendir(const char *);
36*cda5da8dSAndroid Build Coastguard Worker struct dirent *readdir(DIR *);
37*cda5da8dSAndroid Build Coastguard Worker int            readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict);
38*cda5da8dSAndroid Build Coastguard Worker void           rewinddir(DIR *);
39*cda5da8dSAndroid Build Coastguard Worker int            dirfd(DIR *);
40*cda5da8dSAndroid Build Coastguard Worker 
41*cda5da8dSAndroid Build Coastguard Worker ssize_t posix_getdents(int, void *, size_t, int);
42*cda5da8dSAndroid Build Coastguard Worker 
43*cda5da8dSAndroid Build Coastguard Worker int alphasort(const struct dirent **, const struct dirent **);
44*cda5da8dSAndroid Build Coastguard Worker int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **));
45*cda5da8dSAndroid Build Coastguard Worker 
46*cda5da8dSAndroid Build Coastguard Worker #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
47*cda5da8dSAndroid Build Coastguard Worker void           seekdir(DIR *, long);
48*cda5da8dSAndroid Build Coastguard Worker long           telldir(DIR *);
49*cda5da8dSAndroid Build Coastguard Worker #endif
50*cda5da8dSAndroid Build Coastguard Worker 
51*cda5da8dSAndroid Build Coastguard Worker #define DT_UNKNOWN 0
52*cda5da8dSAndroid Build Coastguard Worker #define DT_FIFO 1
53*cda5da8dSAndroid Build Coastguard Worker #define DT_CHR 2
54*cda5da8dSAndroid Build Coastguard Worker #define DT_DIR 4
55*cda5da8dSAndroid Build Coastguard Worker #define DT_BLK 6
56*cda5da8dSAndroid Build Coastguard Worker #define DT_REG 8
57*cda5da8dSAndroid Build Coastguard Worker #define DT_LNK 10
58*cda5da8dSAndroid Build Coastguard Worker #define DT_SOCK 12
59*cda5da8dSAndroid Build Coastguard Worker #define DT_WHT 14
60*cda5da8dSAndroid Build Coastguard Worker 
61*cda5da8dSAndroid Build Coastguard Worker #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
62*cda5da8dSAndroid Build Coastguard Worker #define IFTODT(x) ((x)>>12 & 017)
63*cda5da8dSAndroid Build Coastguard Worker #define DTTOIF(x) ((x)<<12)
64*cda5da8dSAndroid Build Coastguard Worker int getdents(int, struct dirent *, size_t);
65*cda5da8dSAndroid Build Coastguard Worker #endif
66*cda5da8dSAndroid Build Coastguard Worker 
67*cda5da8dSAndroid Build Coastguard Worker #ifdef _GNU_SOURCE
68*cda5da8dSAndroid Build Coastguard Worker int versionsort(const struct dirent **, const struct dirent **);
69*cda5da8dSAndroid Build Coastguard Worker #endif
70*cda5da8dSAndroid Build Coastguard Worker 
71*cda5da8dSAndroid Build Coastguard Worker #if defined(_LARGEFILE64_SOURCE)
72*cda5da8dSAndroid Build Coastguard Worker #define dirent64 dirent
73*cda5da8dSAndroid Build Coastguard Worker #define readdir64 readdir
74*cda5da8dSAndroid Build Coastguard Worker #define readdir64_r readdir_r
75*cda5da8dSAndroid Build Coastguard Worker #define scandir64 scandir
76*cda5da8dSAndroid Build Coastguard Worker #define alphasort64 alphasort
77*cda5da8dSAndroid Build Coastguard Worker #define versionsort64 versionsort
78*cda5da8dSAndroid Build Coastguard Worker #define off64_t off_t
79*cda5da8dSAndroid Build Coastguard Worker #define ino64_t ino_t
80*cda5da8dSAndroid Build Coastguard Worker #define getdents64 getdents
81*cda5da8dSAndroid Build Coastguard Worker #endif
82*cda5da8dSAndroid Build Coastguard Worker 
83*cda5da8dSAndroid Build Coastguard Worker #ifdef __cplusplus
84*cda5da8dSAndroid Build Coastguard Worker }
85*cda5da8dSAndroid Build Coastguard Worker #endif
86*cda5da8dSAndroid Build Coastguard Worker 
87*cda5da8dSAndroid Build Coastguard Worker #endif
88