Operating System
FATMacro.h
Go to the documentation of this file.
1 
5 #ifndef __FAT_MACRO_H_
6 #define __FAT_MACRO_H_
7 #include <stdint.h>
8 
9 typedef uint16_t FAT_ITEM_T;
10 
16 #define S_UNUSED ((uint8_t)0x00)
18 #define S_DOTS ((uint8_t)0x2E)
19 #define S_DEL ((uint8_t)0xE5)
20 struct FAT_ITEM {
22  uint8_t filename[8];
23  uint8_t extendname[3];
24  uint8_t mod;
25 
26  uint8_t res;
27  uint8_t created_time;
28  uint16_t hms;
29  uint16_t ymd;
31  uint16_t bhigh_cluster;
32 
33  uint16_t modify_hms;
34  uint16_t modify_ymd;
35  uint16_t blow_cluster;
36  uint32_t filesize;
37 }__attribute__((packed));
38 
39 typedef struct FAT_ITEM FAT_ITEM;
40 
44 #define FAT_rw (0)
46 #define FAT_ro (1)
47 #define FAT_hid (1 << 1)
48 #define FAT_sys (1 << 2)
49 #define FAT_fldr (1 << 4)
50 #define FAT_doc (1 << 5)
51 #define FAT_ITEM_EMPTY {0,0,0,0,0,0,0,0,0,0,0,0,0}
52 
53 #define FAT_ITEM_SIZE (32)
54 
56 #endif
uint8_t mod
Definition: FATMacro.h:12
struct FAT_ITEM __attribute__((packed))
uint8_t filename[8]
Definition: FATMacro.h:10
uint16_t modify_hms
Definition: FATMacro.h:33
uint16_t bhigh_cluster
Definition: FATMacro.h:31
uint16_t recent_access_ymd
Definition: FATMacro.h:30
uint8_t created_time
ms
Definition: FATMacro.h:27
uint16_t FAT_ITEM_T
Definition: FATMacro.h:9
uint32_t filesize
in bytes
Definition: FATMacro.h:36
uint8_t res
reserved
Definition: FATMacro.h:26
uint16_t modify_ymd
Definition: FATMacro.h:34
uint16_t hms
hour minute second
Definition: FATMacro.h:28
uint16_t ymd
year month day
Definition: FATMacro.h:29
uint8_t extendname[3]
Definition: FATMacro.h:11
uint16_t blow_cluster
Definition: FATMacro.h:35