📄 structure.h
字号:
#define DATA_BLOCK 263680
#define BLOCK_SIZE 512
#define DISK_START 0
#define BLOCK_BITMAP 512
#define INODE_BITMAP 1024
#define INODE_TABLE 1536
#define INODE_SIZE 64
#define PWDSIZ 10
#define USESIZ 10
struct group_desc{
char bg_volume_name[16]; /*卷名*/
unsigned short bg_block_bitmap; /*保存块位图的块号*/
unsigned short bg_inode_bitmap; /*保存索引结点位图的块号*/
unsigned short bg_inode_table; /*索引结点表的起始块号*/
unsigned short bg_free_blocks_count; /*本组空闲块的个数*/
unsigned short bg_free_inodes_count; /*本组空闲索引结点的个数*/
unsigned short bg_used_dirs_count; /*本组目录的个数*/
char bg_pad[4]; /*填充(0xff)*/
};
struct inode{
unsigned short i_mode; /*文件类型及访问权限*/
unsigned short i_blocks; /*文件的数据块个数*/
unsigned long i_size; /*大小( 字节)*/
unsigned long i_atime; /*访问时间*/
unsigned long i_ctime; /*创建时间*/
unsigned long i_mtime; /*修改时间*/
unsigned long i_dtime; /*删除时间*/
unsigned short i_block[8]; /*指向数据块的指针*/
char i_pad[24]; /*填充(0xff)*/
};
struct dir_entry{
unsigned short inode; /*索引节点号*/
unsigned short rec_len; /*目录项长度*/
unsigned short name_len; /*文件名长度*/
char file_type; /*文件类型(1: 普通文件, 2: 目录.. )*/
char name[9]; /*文件名*/
};
struct user{
unsigned short u_uid; /*用户ID*/
unsigned short u_gid; /*用户组ID*/
char u_name[USESIZ]; /*用户名称*/
};
struct pwd{
unsigned short p_uid; /*密码对应的用户ID*/
unsigned short p_gid; /*密码对应的组ID*/
char password[PWDSIZ]; /*用户密码*/
};
char Buffer[512];
char buf[512];
unsigned char bitbuf[512]={0};
unsigned short index_buf[256]={0};
unsigned short index_buf1[256]={0};
short fopen_table[16];
unsigned short last_alloc_inode;
unsigned short last_alloc_block;
unsigned short current_dir;
struct user u;
struct pwd p;
struct group_desc super_block[1];
struct inode inode_area[0];
struct dir_entry dir[32];
unsigned short tempdir[32]={0};
char current_path[256];
unsigned short current_dirlen;
FILE *fp;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -