501c97cb41e282dd7d7c6ffa08ce0903675f76be
[libc-test] / src / api / dirent.c
1 #include <dirent.h>
2 #define T(t) (t*)0;
3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
5 static void f()
6 {
7 T(DIR)
8 T(struct dirent)
9 #ifdef _XOPEN_SOURCE
10 T(ino_t)
11 #endif
12 {
13 struct dirent x;
14 #ifdef _XOPEN_SOURCE
15 F(ino_t,  d_ino)
16 #endif
17 F(char,   d_name[0])
18 }
19 int(*p_alphasort)(const struct dirent**,const struct dirent**) = alphasort;
20 int(*p_closedir)(DIR*) = closedir;
21 int(*p_dirfd)(DIR*) = dirfd;
22 DIR*(*p_fdopendir)(int) = fdopendir;
23 DIR*(*p_opendir)(const char*) = opendir;
24 struct dirent*(*p_readdir)(DIR*) = readdir;
25 int(*p_readdir_r)(DIR*restrict,struct dirent*restrict,struct dirent**restrict) = readdir_r;
26 void(*p_rewinddir)(DIR*) = rewinddir;
27 int(*p_scandir)(const char*,struct dirent***,int(*)(const struct dirent*),int(*)(const struct dirent**,const struct dirent**)) = scandir;
28 #ifdef _XOPEN_SOURCE
29 void(*p_seekdir)(DIR*,long) = seekdir;
30 long(*p_telldir)(DIR*) = telldir;
31 #endif
32 }