github.com/afumu/libc@v0.0.6/musl/include/dirent.h (about)

     1  #ifndef	_DIRENT_H
     2  #define	_DIRENT_H
     3  
     4  #ifdef __cplusplus
     5  extern "C" {
     6  #endif
     7  
     8  #include <features.h>
     9  
    10  #define __NEED_ino_t
    11  #define __NEED_off_t
    12  #if defined(_BSD_SOURCE) || defined(_GNU_SOURCE)
    13  #define __NEED_size_t
    14  #endif
    15  
    16  #include <bits/alltypes.h>
    17  
    18  #include <bits/dirent.h>
    19  
    20  typedef struct __dirstream DIR;
    21  
    22  #define d_fileno d_ino
    23  
    24  int            closedir(DIR *);
    25  DIR           *fdopendir(int);
    26  DIR           *opendir(const char *);
    27  struct dirent *readdir(DIR *);
    28  int            readdir_r(DIR *__restrict, struct dirent *__restrict, struct dirent **__restrict);
    29  void           rewinddir(DIR *);
    30  int            dirfd(DIR *);
    31  
    32  int alphasort(const struct dirent **, const struct dirent **);
    33  int scandir(const char *, struct dirent ***, int (*)(const struct dirent *), int (*)(const struct dirent **, const struct dirent **));
    34  
    35  #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
    36  void           seekdir(DIR *, long);
    37  long           telldir(DIR *);
    38  #endif
    39  
    40  #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
    41  #define DT_UNKNOWN 0
    42  #define DT_FIFO 1
    43  #define DT_CHR 2
    44  #define DT_DIR 4
    45  #define DT_BLK 6
    46  #define DT_REG 8
    47  #define DT_LNK 10
    48  #define DT_SOCK 12
    49  #define DT_WHT 14
    50  #define IFTODT(x) ((x)>>12 & 017)
    51  #define DTTOIF(x) ((x)<<12)
    52  int getdents(int, struct dirent *, size_t);
    53  #endif
    54  
    55  #ifdef _GNU_SOURCE
    56  int versionsort(const struct dirent **, const struct dirent **);
    57  #endif
    58  
    59  #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
    60  #define dirent64 dirent
    61  #define readdir64 readdir
    62  #define readdir64_r readdir_r
    63  #define scandir64 scandir
    64  #define alphasort64 alphasort
    65  #define versionsort64 versionsort
    66  #define off64_t off_t
    67  #define ino64_t ino_t
    68  #define getdents64 getdents
    69  #endif
    70  
    71  #ifdef __cplusplus
    72  }
    73  #endif
    74  
    75  #endif