... | @@ -9,9 +9,13 @@ |
... | @@ -9,9 +9,13 @@ |
|
```
|
|
```
|
|
这些是标准C库头文件,提供文件I/O、数据类型、布尔值和字符串操作的功能。
|
|
这些是标准C库头文件,提供文件I/O、数据类型、布尔值和字符串操作的功能。
|
|
## 类型定义
|
|
## 类型定义
|
|
|
|
```c
|
|
typedef uint32_t fat_entry_t;
|
|
typedef uint32_t fat_entry_t;
|
|
|
|
```
|
|
这里定义了一个名为**fat_entry_t** 的32位无符号整数类型别名,表示FAT表中的条目。
|
|
这里定义了一个名为**fat_entry_t** 的32位无符号整数类型别名,表示FAT表中的条目。
|
|
|
|
```c
|
|
#define SECTOR_SIZE 512
|
|
#define SECTOR_SIZE 512
|
|
|
|
|
|
这里定义了一个名为**SECTOR_SIZE**的宏,来表示每个扇区的大小为512字节。
|
|
这里定义了一个名为**SECTOR_SIZE**的宏,来表示每个扇区的大小为512字节。
|
|
## 结构体
|
|
## 结构体
|
|
struct fat32_dbr {
|
|
struct fat32_dbr {
|
... | @@ -49,6 +53,7 @@ int fd; |
... | @@ -49,6 +53,7 @@ int fd; |
|
表示文件描述符,用于指定要操作的文件或设备。
|
|
表示文件描述符,用于指定要操作的文件或设备。
|
|
struct fat32_dbr dbr
|
|
struct fat32_dbr dbr
|
|
表示FAT32文件系统的DBR(DOS Boot Record),包含文件系统的关键参数。
|
|
表示FAT32文件系统的DBR(DOS Boot Record),包含文件系统的关键参数。
|
|
|
|
```
|
|
#### 函数实现
|
|
#### 函数实现
|
|
1. 首先,计算FAT表在磁盘中的偏移量,即fat_offset = dbr.reserved_sector_count * dbr.bytes_per_sector。这里的reserved_sector_count表示保留的扇区数,bytes_per_sector表示每个扇区的字节数。
|
|
1. 首先,计算FAT表在磁盘中的偏移量,即fat_offset = dbr.reserved_sector_count * dbr.bytes_per_sector。这里的reserved_sector_count表示保留的扇区数,bytes_per_sector表示每个扇区的字节数。
|
|
|
|
|
... | | ... | |