diff options
Diffstat (limited to 'usr/include/dirent.h')
-rw-r--r-- | usr/include/dirent.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/usr/include/dirent.h b/usr/include/dirent.h new file mode 100644 index 0000000..43df503 --- /dev/null +++ b/usr/include/dirent.h @@ -0,0 +1,43 @@ +/* + * dirent.h + */ + +#ifndef _DIRENT_H +#define _DIRENT_H + +#include <klibc/compiler.h> +#include <klibc/extern.h> +#include <klibc/sysconfig.h> +#include <sys/dirent.h> + +struct _IO_dir { + int __fd; + +#ifdef __KLIBC_DIRENT_INTERNALS + /* These fields for internal use only */ + + size_t bytes_left; + struct dirent *next; + /* Declaring this as an array of struct enforces correct alignment */ + struct dirent buffer[_KLIBC_BUFSIZ / sizeof(struct dirent)]; +#endif +}; +typedef struct _IO_dir DIR; + +__extern DIR *fdopendir(int); +__extern DIR *opendir(const char *); +__extern struct dirent *readdir(DIR *); +__extern int closedir(DIR *); +__static_inline int dirfd(DIR * __d) +{ + return __d->__fd; +} + +__extern int scandir(const char *, struct dirent ***, + int (*)(const struct dirent *), + int (*)(const struct dirent **, + const struct dirent **)); + +__extern int alphasort(const struct dirent **, const struct dirent **); + +#endif /* _DIRENT_H */ |