adbf8b25f8
* Got rid of <dirent_private.h> -- the __DIR structure is private to dirent.c, now. The attribute directory, index directory, and query functions use the the public POSIX API, so does the kernel module code. Those components were not initializing the structure correctly anymore since the introduction of telldir()/seekdir(). +alphabranch git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32819 a95241bf-73f2-0310-859d-f6bbb57e9c96
51 lines
1.1 KiB
C
51 lines
1.1 KiB
C
/*
|
|
* Copyright 2002-2008, Haiku Inc. All Rights Reserved.
|
|
* Distributed under the terms of the MIT License.
|
|
*/
|
|
#ifndef _DIRENT_H
|
|
#define _DIRENT_H
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
typedef struct dirent {
|
|
dev_t d_dev; /* device */
|
|
dev_t d_pdev; /* parent device (only for queries) */
|
|
ino_t d_ino; /* inode number */
|
|
ino_t d_pino; /* parent inode (only for queries) */
|
|
unsigned short d_reclen; /* length of this record, not the name */
|
|
char d_name[1]; /* name of the entry (null byte terminated) */
|
|
} dirent_t;
|
|
|
|
typedef struct __DIR DIR;
|
|
|
|
#ifndef MAXNAMLEN
|
|
# ifdef NAME_MAX
|
|
# define MAXNAMLEN NAME_MAX
|
|
# else
|
|
# define MAXNAMLEN 256
|
|
# endif
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
DIR* fdopendir(int fd);
|
|
DIR* opendir(const char* dirName);
|
|
struct dirent* readdir(DIR* dir);
|
|
int readdir_r(DIR* dir, struct dirent* entry,
|
|
struct dirent** _result);
|
|
int closedir(DIR* dir);
|
|
void rewinddir(DIR* dir);
|
|
void seekdir(DIR* dir, long int position);
|
|
long int telldir(DIR* dir);
|
|
int dirfd(const DIR* dir);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _DIRENT_H */
|