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