GATE
filesystems.h File Reference

Native filesystem data structures. More...

Macros

#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_3_1440   0xf0 /* 3.5" HD 1.44MB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_3_2880   0xf0 /* 3.5" ED 2.88MB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_HDD   0xf8 /* hard disk drive */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_3_720   0xf9 /* 3.5" 720KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_5_1200   0xf9 /* 5.25" 1.2MB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_5_180   0xfc /* 5.25" SS 180KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_5_360   0xfd /* 5.25" DS 360KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_8_500   0xfd /* 8" 500KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_5_160   0xfe /* 5.25" SS 160KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_8_250   0xfe /* 8" 250KB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_8_1200   0xfe /* 8" 1.2MB */
 
#define GATE_FILESYSTEM_FAT_MEDIA_BYTE_5_320   0xff /* 5.25" DS 320KB */
 
#define GATE_FILESYSTEM_FAT_EBPB   0x29 /* enables EBPB if set in last BPB byte */
 
#define GATE_FILESYSTEM_FAT_BOOTSIG   0xaa55 /* boot sector signature at end of boot sector */
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_READONLY   0x01
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_HIDDEN   0x02
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_SYSTEM   0x04
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_VOLUME   0x08
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_DIRECTORY   0x10
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_ARCHIVE   0x20
 
#define GATE_FILESYSTEM_FAT_DIRENTRY_ATTR_LFN   0x0f
 

Typedefs

typedef struct gate_filesystem_fat_bpb gate_filesystem_fat_bpb_t
 
typedef struct gate_filesystem_fat_ebpb gate_filesystem_fat_ebpb_t
 
typedef struct gate_filesystem_fat_bootsect gate_filesystem_fat_bootsect_t
 
typedef struct gate_filesystem_fat_direntry gate_filesystem_fat_direntry_t
 
typedef gate_bool_t(* gate_filesystem_fat_direntry_callback_t) (gate_filesystem_fat_direntry_t const *entry, void *user_param)
 
typedef struct gate_filesystem_mbr_partition gate_filesystem_mbr_partition_t
 
typedef struct gate_filesystem_mbr gate_filesystem_mbr_t
 

Functions

 GATE_STRUCT_PACK_BEGIN (gate_filesystem_fat_bpb)
 
 GATE_STRUCT_PACK_BEGIN (gate_filesystem_fat_ebpb)
 
 GATE_STRUCT_PACK_BEGIN (gate_filesystem_fat_bootsect)
 
 GATE_STRUCT_PACK_BEGIN (gate_filesystem_fat_direntry)
 
 GATE_STRUCT_PACK_BEGIN (gate_filesystem_mbr_partition)
 
 GATE_STRUCT_PACK_BEGIN (gate_filesystem_mbr)
 
GATE_TECH_API gate_result_t gate_filesystem_read_bootsector (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t *bootsect)
 
GATE_TECH_API gate_result_t gate_filesystem_read_fat_entries (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t const *bootsect, gate_uint16_t *fat_entries, gate_size_t fat_entries_capacity, gate_size_t *fat_entries_count)
 
GATE_TECH_API gate_result_t gate_filesystem_read_next_fat_entry (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t const *bootsect, gate_uint32_t fat_entry, gate_uint32_t *next_fat_entry)
 
GATE_TECH_API gate_result_t gate_filesystem_read_fat_cluster (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t const *bootsect, gate_uint32_t cluster, char *buffer, gate_size_t buffer_capacity, gate_size_t *buffer_filled)
 
GATE_TECH_API gate_result_t gate_filesystem_read_fat_directory (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t const *bootsect, gate_string_t const *subdir, gate_filesystem_fat_direntry_callback_t callback, void *user_param)
 
GATE_TECH_API gate_result_t gate_filesystem_find_fat_file (gate_controlstream_t *blockstream, gate_filesystem_fat_bootsect_t const *bootsect, gate_string_t const *path, gate_filesystem_fat_direntry_t *ptr_found_entry)
 

Variables

 GATE_STRUCT_PACK_END
 

Detailed Description

Native filesystem data structures.