diff --git a/headers/os/kernel/dirent.h b/headers/os/kernel/dirent.h index 33c111ff7d..96ff238a6f 100644 --- a/headers/os/kernel/dirent.h +++ b/headers/os/kernel/dirent.h @@ -6,12 +6,22 @@ #ifndef _DIRENT_H #define _DIRENT_H +// ToDo: should really be +// This file should reside in headers/posix, not here... +// needs ino_t (int64), and dev_t (long) +#include +typedef long dev_t; + typedef struct dirent { - vnode_id d_ino; + dev_t d_dev; + dev_t d_pdev; + ino_t d_ino; + ino_t d_pino; unsigned short d_reclen; char d_name[1]; } dirent_t; +// ToDo: this structure is still incompatible with BeOS typedef struct { int fd; struct dirent *ent; @@ -19,11 +29,15 @@ typedef struct { } DIR; #ifndef MAXNAMLEN -#ifdef NAME_MAX -#define MAXNAMLEN NAME_MAX -#else -#define MAXNAMLEN 256 +# ifdef NAME_MAX +# define MAXNAMLEN NAME_MAX +# else +# define MAXNAMLEN 256 +# endif #endif + +#ifdef _cplusplus +extern "C" { #endif DIR *opendir(const char *dirname); @@ -31,5 +45,9 @@ struct dirent *readdir(DIR *dirp); int closedir(DIR *dirp); void rewinddir(DIR *dirp); +#ifdef _cplusplus +} +#endif + #endif /* _DIRENT_H */