filesys.h

来自「Linux下简单文件系统的操作 具体可以实现目录得建立删除等等功能」· C头文件 代码 · 共 81 行

H
81
字号
#ifndef FILESYS_H#define FILESYS_H#define DEVNAME "/dev/fd0H1440"#define DIR_ENTRY_SIZE 32 #define SECTOR_SIZE    512#define FAT_ONE_OFFSET 0x200 #define FAT_TWO_OFFSET 0x1400 #define ROOTDIR_OFFSET 0x2600 #define DATA_OFFSET    0x4200 /* mask for the entry attribute */ #define ATTR_READONLY 0x01 #define ATTR_HIDDEN   0x02#define ATTR_SYSTEM   0x04#define ATTR_VLABEL   0x08#define ATTR_SUBDIR   0x10#define ATTR_ARCHIVE  0x20/* mask for time 5:6:5*/#define MASK_HOUR     0xf800#define MASK_MIN      0x07e0#define MASK_SEC      0x001f/* mask for date 7:4:5*/#define MASK_YEAR     0xfe00#define MASK_MONTH    0x01e0#define MASK_DAY      0x001fstruct BootDescriptor_t { unsigned char Oem_name[9];     int BytesPerSector;           int SectorsPerCluster;       int ReservedSectors;         int FATs;                      int RootDirEntries;           int LogicSectors;       int MediaType;              int SectorsPerFAT;          int SectorsPerTrack;          int Heads;                     int HiddenSectors;            };struct Entry { unsigned char short_name[12]; unsigned char long_name[27];  unsigned short hour,min,sec;  unsigned short year,month,day; unsigned short FirstCluster;   unsigned int size;          unsigned char readonly:1;    unsigned char hidden:1;       unsigned char system:1;    unsigned char vlabel:1;    unsigned char subdir:1;     unsigned char archive:1;    };int fd_load();int fd_ls();int fd_cd(char *dir);int fd_rm(char *file_name);void findDate(unsigned short *year,unsigned short *month,unsigned short *day,unsigned char info[2]);void findTime(unsigned short *hour,unsigned short *min,unsigned short *sec,unsigned char info[2]);int  ReadFat();int  WriteFat();void ScanBootSector();void ScanRootEntry();int  ScanEntry(char *entryname,struct Entry *pentry,int mode); int  GetEntry(struct Entry *entry);void FileNameFormat(unsigned char *name);unsigned short GetFatCluster(unsigned short prev);void ClearFatCluster(unsigned short cluster);#endif 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?