UbixOS  2.0
fat_defs.h File Reference
#include "fat/fat.h"
#include "fat_opts.h"
#include "fat_types.h"
Include dependency graph for fat_defs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  fat_dir_entry
 

Macros

#define BPB_BYTSPERSEC   11
 
#define BPB_FAT32_BKBOOTSEC   50
 
#define BPB_FAT32_EXTFLAGS   40
 
#define BPB_FAT32_FATSZ32   36
 
#define BPB_FAT32_FSINFO   48
 
#define BPB_FAT32_FSVER   42
 
#define BPB_FAT32_ROOTCLUS   44
 
#define BPB_FATSZ16   22
 
#define BPB_HIDDSEC   28
 
#define BPB_MEDIA   21
 
#define BPB_NUMFATS   16
 
#define BPB_NUMHEADS   26
 
#define BPB_ROOTENTCNT   17
 
#define BPB_RSVDSECCNT   14
 
#define BPB_SECPERCLUS   13
 
#define BPB_SECPERTRK   24
 
#define BPB_TOTSEC16   19
 
#define BPB_TOTSEC32   32
 
#define BS_FAT32_BOOTSIG   66
 
#define BS_FAT32_DRVNUM   64
 
#define BS_FAT32_FILSYSTYPE   82
 
#define BS_FAT32_VOLID   67
 
#define BS_FAT32_VOLLAB   71
 
#define BS_FAT_BOOTSIG   38
 
#define BS_FAT_DRVNUM   36
 
#define BS_FAT_FILSYSTYPE   54
 
#define BS_FAT_VOLID   39
 
#define BS_FAT_VOLLAB   43
 
#define BS_JMPBOOT   0
 
#define BS_OEMNAME   3
 
#define FAT32_INVALID_CLUSTER   0xFFFFFFFF
 
#define FAT32_LAST_CLUSTER   0xFFFFFFFF
 
#define FAT32_TYPECODE1   0x0B
 
#define FAT32_TYPECODE2   0x0C
 
#define FAT_DATE_DAY_MASK   0x1F
 
#define FAT_DATE_DAY_SHIFT   0
 
#define FAT_DATE_MONTH_MASK   0xF
 
#define FAT_DATE_MONTH_SHIFT   5
 
#define FAT_DATE_YEAR_MASK   0x7F
 
#define FAT_DATE_YEAR_OFFSET   1980
 
#define FAT_DATE_YEAR_SHIFT   9
 
#define FAT_DIR_ENTRY_SIZE   32
 
#define FAT_SFN_SIZE_FULL   11
 
#define FAT_SFN_SIZE_PARTIAL   8
 
#define FAT_TIME_HOURS_MASK   0x1F
 
#define FAT_TIME_HOURS_SHIFT   11
 
#define FAT_TIME_MINUTES_MASK   0x3F
 
#define FAT_TIME_MINUTES_SHIFT   5
 
#define FAT_TIME_SECONDS_MASK   0x1F
 
#define FAT_TIME_SECONDS_SCALE   2
 
#define FAT_TIME_SECONDS_SHIFT   0
 
#define FAT_TYPE_FAT12   1
 
#define FAT_TYPE_FAT16   2
 
#define FAT_TYPE_FAT32   3
 
#define FILE_ATTR_ARCHIVE   0x20
 
#define FILE_ATTR_DIRECTORY   0x10
 
#define FILE_ATTR_HIDDEN   0x02
 
#define FILE_ATTR_LFN_TEXT   0x0F
 
#define FILE_ATTR_READ_ONLY   0x01
 
#define FILE_ATTR_SYSHID   0x06
 
#define FILE_ATTR_SYSTEM   0x04
 
#define FILE_ATTR_VOLUME_ID   0x08
 
#define FILE_HEADER_BLANK   0x00
 
#define FILE_HEADER_DELETED   0xE5
 
#define FILE_TYPE_DIR   0x10
 
#define FILE_TYPE_FILE   0x20
 
#define PARTITION1_LBA_BEGIN_LOCATION   454
 
#define PARTITION1_SIZE_LOCATION   458
 
#define PARTITION1_TYPECODE_LOCATION   450
 
#define SIGNATURE_POSITION   510
 
#define SIGNATURE_VALUE   0xAA55
 

Macro Definition Documentation

◆ BPB_BYTSPERSEC

#define BPB_BYTSPERSEC   11

Definition at line 16 of file fat_defs.h.

◆ BPB_FAT32_BKBOOTSEC

#define BPB_FAT32_BKBOOTSEC   50

Definition at line 42 of file fat_defs.h.

◆ BPB_FAT32_EXTFLAGS

#define BPB_FAT32_EXTFLAGS   40

Definition at line 38 of file fat_defs.h.

◆ BPB_FAT32_FATSZ32

#define BPB_FAT32_FATSZ32   36

Definition at line 37 of file fat_defs.h.

◆ BPB_FAT32_FSINFO

#define BPB_FAT32_FSINFO   48

Definition at line 41 of file fat_defs.h.

◆ BPB_FAT32_FSVER

#define BPB_FAT32_FSVER   42

Definition at line 39 of file fat_defs.h.

◆ BPB_FAT32_ROOTCLUS

#define BPB_FAT32_ROOTCLUS   44

Definition at line 40 of file fat_defs.h.

◆ BPB_FATSZ16

#define BPB_FATSZ16   22

Definition at line 23 of file fat_defs.h.

◆ BPB_HIDDSEC

#define BPB_HIDDSEC   28

Definition at line 26 of file fat_defs.h.

◆ BPB_MEDIA

#define BPB_MEDIA   21

Definition at line 22 of file fat_defs.h.

◆ BPB_NUMFATS

#define BPB_NUMFATS   16

Definition at line 19 of file fat_defs.h.

◆ BPB_NUMHEADS

#define BPB_NUMHEADS   26

Definition at line 25 of file fat_defs.h.

◆ BPB_ROOTENTCNT

#define BPB_ROOTENTCNT   17

Definition at line 20 of file fat_defs.h.

◆ BPB_RSVDSECCNT

#define BPB_RSVDSECCNT   14

Definition at line 18 of file fat_defs.h.

◆ BPB_SECPERCLUS

#define BPB_SECPERCLUS   13

Definition at line 17 of file fat_defs.h.

◆ BPB_SECPERTRK

#define BPB_SECPERTRK   24

Definition at line 24 of file fat_defs.h.

◆ BPB_TOTSEC16

#define BPB_TOTSEC16   19

Definition at line 21 of file fat_defs.h.

◆ BPB_TOTSEC32

#define BPB_TOTSEC32   32

Definition at line 27 of file fat_defs.h.

◆ BS_FAT32_BOOTSIG

#define BS_FAT32_BOOTSIG   66

Definition at line 44 of file fat_defs.h.

◆ BS_FAT32_DRVNUM

#define BS_FAT32_DRVNUM   64

Definition at line 43 of file fat_defs.h.

◆ BS_FAT32_FILSYSTYPE

#define BS_FAT32_FILSYSTYPE   82

Definition at line 47 of file fat_defs.h.

◆ BS_FAT32_VOLID

#define BS_FAT32_VOLID   67

Definition at line 45 of file fat_defs.h.

◆ BS_FAT32_VOLLAB

#define BS_FAT32_VOLLAB   71

Definition at line 46 of file fat_defs.h.

◆ BS_FAT_BOOTSIG

#define BS_FAT_BOOTSIG   38

Definition at line 31 of file fat_defs.h.

◆ BS_FAT_DRVNUM

#define BS_FAT_DRVNUM   36

Definition at line 30 of file fat_defs.h.

◆ BS_FAT_FILSYSTYPE

#define BS_FAT_FILSYSTYPE   54

Definition at line 34 of file fat_defs.h.

◆ BS_FAT_VOLID

#define BS_FAT_VOLID   39

Definition at line 32 of file fat_defs.h.

◆ BS_FAT_VOLLAB

#define BS_FAT_VOLLAB   43

Definition at line 33 of file fat_defs.h.

◆ BS_JMPBOOT

#define BS_JMPBOOT   0

Definition at line 14 of file fat_defs.h.

◆ BS_OEMNAME

#define BS_OEMNAME   3

Definition at line 15 of file fat_defs.h.

◆ FAT32_INVALID_CLUSTER

#define FAT32_INVALID_CLUSTER   0xFFFFFFFF

Definition at line 109 of file fat_defs.h.

◆ FAT32_LAST_CLUSTER

#define FAT32_LAST_CLUSTER   0xFFFFFFFF

Definition at line 108 of file fat_defs.h.

◆ FAT32_TYPECODE1

#define FAT32_TYPECODE1   0x0B

Definition at line 62 of file fat_defs.h.

◆ FAT32_TYPECODE2

#define FAT32_TYPECODE2   0x0C

Definition at line 63 of file fat_defs.h.

◆ FAT_DATE_DAY_MASK

#define FAT_DATE_DAY_MASK   0x1F

Definition at line 102 of file fat_defs.h.

◆ FAT_DATE_DAY_SHIFT

#define FAT_DATE_DAY_SHIFT   0

Definition at line 101 of file fat_defs.h.

◆ FAT_DATE_MONTH_MASK

#define FAT_DATE_MONTH_MASK   0xF

Definition at line 100 of file fat_defs.h.

◆ FAT_DATE_MONTH_SHIFT

#define FAT_DATE_MONTH_SHIFT   5

Definition at line 99 of file fat_defs.h.

◆ FAT_DATE_YEAR_MASK

#define FAT_DATE_YEAR_MASK   0x7F

Definition at line 98 of file fat_defs.h.

◆ FAT_DATE_YEAR_OFFSET

#define FAT_DATE_YEAR_OFFSET   1980

Definition at line 103 of file fat_defs.h.

◆ FAT_DATE_YEAR_SHIFT

#define FAT_DATE_YEAR_SHIFT   9

Definition at line 97 of file fat_defs.h.

◆ FAT_DIR_ENTRY_SIZE

#define FAT_DIR_ENTRY_SIZE   32

Definition at line 67 of file fat_defs.h.

◆ FAT_SFN_SIZE_FULL

#define FAT_SFN_SIZE_FULL   11

Definition at line 68 of file fat_defs.h.

◆ FAT_SFN_SIZE_PARTIAL

#define FAT_SFN_SIZE_PARTIAL   8

Definition at line 69 of file fat_defs.h.

◆ FAT_TIME_HOURS_MASK

#define FAT_TIME_HOURS_MASK   0x1F

Definition at line 91 of file fat_defs.h.

◆ FAT_TIME_HOURS_SHIFT

#define FAT_TIME_HOURS_SHIFT   11

Definition at line 90 of file fat_defs.h.

◆ FAT_TIME_MINUTES_MASK

#define FAT_TIME_MINUTES_MASK   0x3F

Definition at line 93 of file fat_defs.h.

◆ FAT_TIME_MINUTES_SHIFT

#define FAT_TIME_MINUTES_SHIFT   5

Definition at line 92 of file fat_defs.h.

◆ FAT_TIME_SECONDS_MASK

#define FAT_TIME_SECONDS_MASK   0x1F

Definition at line 95 of file fat_defs.h.

◆ FAT_TIME_SECONDS_SCALE

#define FAT_TIME_SECONDS_SCALE   2

Definition at line 96 of file fat_defs.h.

◆ FAT_TIME_SECONDS_SHIFT

#define FAT_TIME_SECONDS_SHIFT   0

Definition at line 94 of file fat_defs.h.

◆ FAT_TYPE_FAT12

#define FAT_TYPE_FAT12   1

Definition at line 52 of file fat_defs.h.

◆ FAT_TYPE_FAT16

#define FAT_TYPE_FAT16   2

Definition at line 53 of file fat_defs.h.

◆ FAT_TYPE_FAT32

#define FAT_TYPE_FAT32   3

Definition at line 54 of file fat_defs.h.

◆ FILE_ATTR_ARCHIVE

#define FILE_ATTR_ARCHIVE   0x20

Definition at line 80 of file fat_defs.h.

◆ FILE_ATTR_DIRECTORY

#define FILE_ATTR_DIRECTORY   0x10

Definition at line 79 of file fat_defs.h.

◆ FILE_ATTR_HIDDEN

#define FILE_ATTR_HIDDEN   0x02

Definition at line 75 of file fat_defs.h.

◆ FILE_ATTR_LFN_TEXT

#define FILE_ATTR_LFN_TEXT   0x0F

Definition at line 81 of file fat_defs.h.

◆ FILE_ATTR_READ_ONLY

#define FILE_ATTR_READ_ONLY   0x01

Definition at line 74 of file fat_defs.h.

◆ FILE_ATTR_SYSHID

#define FILE_ATTR_SYSHID   0x06

Definition at line 77 of file fat_defs.h.

◆ FILE_ATTR_SYSTEM

#define FILE_ATTR_SYSTEM   0x04

Definition at line 76 of file fat_defs.h.

◆ FILE_ATTR_VOLUME_ID

#define FILE_ATTR_VOLUME_ID   0x08

Definition at line 78 of file fat_defs.h.

◆ FILE_HEADER_BLANK

#define FILE_HEADER_BLANK   0x00

Definition at line 82 of file fat_defs.h.

◆ FILE_HEADER_DELETED

#define FILE_HEADER_DELETED   0xE5

Definition at line 83 of file fat_defs.h.

◆ FILE_TYPE_DIR

#define FILE_TYPE_DIR   0x10

Definition at line 84 of file fat_defs.h.

◆ FILE_TYPE_FILE

#define FILE_TYPE_FILE   0x20

Definition at line 85 of file fat_defs.h.

◆ PARTITION1_LBA_BEGIN_LOCATION

#define PARTITION1_LBA_BEGIN_LOCATION   454

Definition at line 64 of file fat_defs.h.

◆ PARTITION1_SIZE_LOCATION

#define PARTITION1_SIZE_LOCATION   458

Definition at line 65 of file fat_defs.h.

◆ PARTITION1_TYPECODE_LOCATION

#define PARTITION1_TYPECODE_LOCATION   450

Definition at line 61 of file fat_defs.h.

◆ SIGNATURE_POSITION

#define SIGNATURE_POSITION   510

Definition at line 59 of file fat_defs.h.

◆ SIGNATURE_VALUE

#define SIGNATURE_VALUE   0xAA55

Definition at line 60 of file fat_defs.h.