mirror of
https://review.haiku-os.org/haiku
synced 2024-11-23 07:18:40 +01:00
Updated to the current version of dirent.h (that somehow didn't make it to
here). Notably changes are: C++ safe, struct dirent is now BeOS compatible. git-svn-id: file:///srv/svn/repos/haiku/trunk/current@12 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
5f281ed502
commit
5a2b57c361
@ -6,12 +6,22 @@
|
||||
#ifndef _DIRENT_H
|
||||
#define _DIRENT_H
|
||||
|
||||
// ToDo: should really be <sys/types>
|
||||
// This file should reside in headers/posix, not here...
|
||||
// needs ino_t (int64), and dev_t (long)
|
||||
#include <ktypes.h>
|
||||
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 */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user