Operating System
step_3
filesystem
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
;
30
uint16_t
recent_access_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
FAT_ITEM
Definition:
FATMacro.h:21
mod
uint8_t mod
Definition:
FATMacro.h:12
__attribute__
struct FAT_ITEM __attribute__((packed))
filename
uint8_t filename[8]
Definition:
FATMacro.h:10
FAT_ITEM::modify_hms
uint16_t modify_hms
Definition:
FATMacro.h:33
FAT_ITEM::bhigh_cluster
uint16_t bhigh_cluster
Definition:
FATMacro.h:31
FAT_ITEM::recent_access_ymd
uint16_t recent_access_ymd
Definition:
FATMacro.h:30
FAT_ITEM::created_time
uint8_t created_time
ms
Definition:
FATMacro.h:27
FAT_ITEM_T
uint16_t FAT_ITEM_T
Definition:
FATMacro.h:9
FAT_ITEM::filesize
uint32_t filesize
in bytes
Definition:
FATMacro.h:36
FAT_ITEM::res
uint8_t res
reserved
Definition:
FATMacro.h:26
FAT_ITEM::modify_ymd
uint16_t modify_ymd
Definition:
FATMacro.h:34
FAT_ITEM::hms
uint16_t hms
hour minute second
Definition:
FATMacro.h:28
FAT_ITEM::ymd
uint16_t ymd
year month day
Definition:
FATMacro.h:29
extendname
uint8_t extendname[3]
Definition:
FATMacro.h:11
FAT_ITEM::blow_cluster
uint16_t blow_cluster
Definition:
FATMacro.h:35
Generated by
1.8.15