23 #include "pedigree/kernel/processor/types.h" 24 #include "pedigree/kernel/time/Time.h" 27 #define ATTR_READONLY 0x01 28 #define ATTR_HIDDEN 0x02 29 #define ATTR_SYSTEM 0x04 30 #define ATTR_VOLUME_ID 0x08 31 #define ATTR_DIRECTORY 0x10 32 #define ATTR_ARCHIVE 0x20 34 #define ATTR_LONG_NAME \ 35 (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID) 36 #define ATTR_LONG_NAME_MASK \ 37 (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_VOLUME_ID | \ 38 ATTR_DIRECTORY | ATTR_ARCHIVE) 55 uint8_t BS_jmpBoot[3];
56 uint8_t BS_OEMName[8];
57 uint16_t BPB_BytsPerSec;
58 uint8_t BPB_SecPerClus;
59 uint16_t BPB_RsvdSecCnt;
61 uint16_t BPB_RootEntCnt;
62 uint16_t BPB_TotSec16;
65 uint16_t BPB_SecPerTrk;
66 uint16_t BPB_NumHeads;
68 uint32_t BPB_TotSec32;
75 uint16_t BPB_ExtFlags;
77 uint32_t BPB_RootClus;
79 uint16_t BPB_BkBootSec;
80 uint8_t BPB_Reserved[12];
85 uint8_t BS_VolLab[11];
86 uint8_t BS_FilSysType[8];
97 int8_t BS_FilSysType[8];
103 uint32_t FSI_LeadSig;
104 uint8_t FSI_Reserved1[480];
105 uint32_t FSI_StrucSig;
106 uint32_t FSI_Free_Count;
107 uint32_t FSI_NxtFree;
108 uint8_t FSI_Reserved2[12];
109 uint32_t FSI_TrailSig;
115 uint8_t DIR_Name[11];
118 uint8_t DIR_CrtTimeTenth;
119 uint16_t DIR_CrtTime;
120 uint16_t DIR_CrtDate;
121 uint16_t DIR_LstAccDate;
122 uint16_t DIR_FstClusHI;
123 uint16_t DIR_WrtTime;
124 uint16_t DIR_WrtDate;
125 uint16_t DIR_FstClusLO;
126 uint32_t DIR_FileSize;
133 uint8_t LDIR_Name1[10];
137 uint8_t LDIR_Name2[12];
138 uint16_t LDIR_FstClusLO;
139 uint8_t LDIR_Name3[4];
145 uint32_t secCount : 5;
146 uint32_t minutes : 6;
161 Time::Timestamp accessedTime;
162 Time::Timestamp modifiedTime;
163 Time::Timestamp creationTime;