1# dirent.h 2## 简介 3 与文件夹有关的头文件。 4 5## 结构体列表: 6 7 ``struct DIR`` : 8 9 变量列表: 10 11 ``int fd`` : 文件夹id(不推荐修改) 12 13 ``int buf_pos`` : 文件夹缓冲区指针的位置 14 15 ``int buf_len`` : 文件夹缓冲区的大小(默认为256) 16 17 ``struct dirent`` : 18 19 变量列表: 20 21 ``ino_t(see libc/sys/types.h) ino`` : 文件序列号(不推荐修改) 22 23 ``off_t d_off`` : dir偏移量(不推荐修改) 24 25 ``unsigned short d_reclen`` : 文件夹中的记录数 26 27 ``unsigned char d_type`` : 目标的类型(有可能是文件,文件夹,磁盘) 28 29 ``char d_name[]`` : 目标的名字 30 31## 函数列表(这里只列出已实现的函数): 32 33 ``DIR opendir(const char *path)`` 34 35 传入文件夹的路径,返回文件夹结构体 36 37 ``int closedir(DIR *dirp)`` 38 39 传入文件夹结构体,关闭文件夹,释放内存 40 41 若失败,返回-1 42 43 ``dirent readdir(DIR *dir)`` 44 45 传入文件夹结构体,读入文件夹里的内容,并打包为dirent结构体返回 46 47## 宏定义: 48 49 文件夹类型: 50 51 ``#define VFS_IF_FILE (1UL << 0)`` 52 53 ``#define VFS_IF_DIR (1UL << 1)`` 54 55 ``#define VFS_IF_DEVICE (1UL << 2)`` 56 57 缓冲区长度的默认值 58 59 ``#define DIR_BUF_SIZE 256`` 60