46 lines
746 B
C
46 lines
746 B
C
/*
|
|
* sys/dirent.h
|
|
*/
|
|
|
|
#ifndef DIRENT_H
|
|
#define DIRENT_H
|
|
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
|
|
#ifndef NAME_MAX
|
|
#define NAME_MAX 255
|
|
#endif
|
|
|
|
struct dirent {
|
|
uint32_t d_ino;
|
|
uint32_t d_off;
|
|
uint16_t d_reclen;
|
|
uint16_t d_type;
|
|
char d_name[NAME_MAX + 1];
|
|
};
|
|
|
|
enum dirent_type {
|
|
DT_UNKNOWN = 0,
|
|
DT_FIFO = 1,
|
|
DT_CHR = 2,
|
|
DT_DIR = 4,
|
|
DT_BLK = 6,
|
|
DT_REG = 8,
|
|
DT_LNK = 10,
|
|
DT_SOCK = 12,
|
|
DT_WHT = 14,
|
|
};
|
|
|
|
/*
|
|
* Convert between stat structure mode types and directory types.
|
|
* The stat structure mode types are the same as in Linux.
|
|
*/
|
|
#define IFTODT(mode) (((mode) & 0170000) >> 12)
|
|
#define DTTOIF(dt) ((dt) << 12)
|
|
|
|
struct _DIR_;
|
|
typedef struct _DIR_ DIR;
|
|
|
|
#endif /* sys/dirent.h */
|