| /* |
| * dirent.h |
| */ |
| |
| #ifndef _DIRENT_H |
| #define _DIRENT_H |
| |
| #include <klibc/extern.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[15]; /* 15 times max dirent size =~ 4K */ |
| #endif |
| }; |
| typedef struct _IO_dir DIR; |
| |
| __extern DIR *opendir(const char *); |
| __extern struct dirent *readdir(DIR *); |
| __extern int closedir(DIR *); |
| static __inline__ int dirfd (DIR *__d) { |
| return __d->__fd; |
| } |
| |
| #endif /* _DIRENT_H */ |