Datenstrukturen | |
struct | PartInfo |
struct | MBR |
struct | RemBoot |
struct | RemBoot32 |
union | endboot |
struct | BootSec |
struct | DirEntry |
struct | DirEntryBuffer |
Makrodefinitionen | |
#define | END_DIR 0 |
#define | NO_MATCH 1 |
#define | MATCH_NAME 2 |
#define | MATCH_EXT 3 |
#define | FULL_MATCH MATCH_NAME + MATCH_EXT |
#define | IOB_DATA (U8)0x01 |
#define | IOB_FAT (U8)0x02 |
#define | IOB_DIR (U8)0x03 |
#define | PART1_TABLE_OFFSET (U16) 0x01BE |
#define | BYTE_PER_SEC (U16) 512 |
#define | FAT12 (unsigned char) 12 |
#define | FAT16 (unsigned char) 16 |
#define | FAT32 (unsigned char) 32 |
#define | EOC12 (U16) 0xFF8 |
#define | EOC16 (U16) 0xFFF8 |
#define | EOC32 (unsigned long) 0x0FFFFFF8 |
#define | BADC12 (U16) 0xFF7 |
#define | BADC16 (U16) 0xFFF7 |
#define | BADC32 (unsigned long) 0x0FFFFFF7 |
#define | RESC12 (U16) 0xFF0 |
#define | RESC16 (U16) 0xFFF0 |
#define | RESC32 (unsigned long) 0x0FFFFFF0 |
#define | DISK_FULL (U16) 0xFFFF |
#define | ATTR_FILE (unsigned char)0x00 |
#define | ATTR_READ_ONLY (unsigned char)0x01 |
#define | ATTR_HIDDEN (unsigned char)0x02 |
#define | ATTR_SYSTEM (unsigned char)0x04 |
#define | ATTR_VOLUME_ID (unsigned char)0x08 |
#define | ATTR_DIRECTORY (unsigned char)0x10 |
#define | ATTR_ARCHIVE (unsigned char)0x20 |
#define | ATTR_LONG_NAME (unsigned char)0x0F |
#define | ATTR_NO_ATTR (unsigned char)0xFF |
Typdefinitionen | |
typedef unsigned char | U8 |
typedef unsigned int | U16 |
typedef unsigned long | U32 |
Funktionen | |
unsigned char | GetDriveInformation (void) |
void | UpdateFATBuffer (unsigned long newsector) |
unsigned long | GetFirstSectorOfCluster (U16 n) |
U16 | GetNextClusterNumber (U16 cluster) |
unsigned char | WriteClusterNumber (U16 cluster, U16 number) |
U16 | AllocCluster (U16 currentcluster) |
U16 | FindFreeCluster (U16 currentcluster) |
unsigned char | WriteFATSector (unsigned long sector, unsigned char *buf) |
unsigned char | WriteDirSector (unsigned long sector, unsigned char *buf) |
unsigned char | WriteFileSector (unsigned long sector, unsigned char *buf) |
unsigned char | ReadFATSector (unsigned long sector, unsigned char *buf) |
unsigned char | ReadDirSector (unsigned long sector, unsigned char *buf) |
unsigned char | ReadFileSector (unsigned long sector, unsigned char *buf) |
Variablen | |
struct PartInfo | packed |
U16 | endofclusterchain |
U16 | maxcluster |
unsigned long | maxsect |
unsigned char | secPerCluster |
unsigned long | BytesPerCluster |
unsigned char | fatbuf [] |
unsigned char | iob [] |
unsigned long | FATFirstSector |
unsigned long | FATCurrentSector |
unsigned char | FATtype |
unsigned char | FATStatus |
unsigned char | iob_status |
U16 | FirstDirCluster |
U16 | FileFirstCluster |
U16 | FileCurrentCluster |
unsigned long | FileCurrentSector |
unsigned long | File1stClusterSector |
unsigned long | FileClusterCount |
unsigned long | FileDirSector |
unsigned char | FileDirOffset |
unsigned long | FileSize |
unsigned long | FilePosition |
unsigned char | FileFlag |
unsigned char | FileAttr |
char | FileName [] |
char | FileExt [] |
unsigned long | FirstRootSector |
unsigned long | FirstDataSector |
unsigned long | RootDirSectors |
#define ATTR_ARCHIVE (unsigned char)0x20 |
#define ATTR_DIRECTORY (unsigned char)0x10 |
#define ATTR_FILE (unsigned char)0x00 |
#define ATTR_HIDDEN (unsigned char)0x02 |
#define ATTR_LONG_NAME (unsigned char)0x0F |
#define ATTR_NO_ATTR (unsigned char)0xFF |
#define ATTR_READ_ONLY (unsigned char)0x01 |
#define ATTR_SYSTEM (unsigned char)0x04 |
#define ATTR_VOLUME_ID (unsigned char)0x08 |
#define BADC12 (U16) 0xFF7 |
#define BADC16 (U16) 0xFFF7 |
#define BADC32 (unsigned long) 0x0FFFFFF7 |
#define BYTE_PER_SEC (U16) 512 |
#define DISK_FULL (U16) 0xFFFF |
#define END_DIR 0 |
#define EOC12 (U16) 0xFF8 |
#define EOC16 (U16) 0xFFF8 |
#define EOC32 (unsigned long) 0x0FFFFFF8 |
#define FAT12 (unsigned char) 12 |
#define FAT16 (unsigned char) 16 |
#define FAT32 (unsigned char) 32 |
#define FULL_MATCH MATCH_NAME + MATCH_EXT |
#define IOB_DATA (U8)0x01 |
#define IOB_DIR (U8)0x03 |
#define IOB_FAT (U8)0x02 |
#define MATCH_EXT 3 |
#define MATCH_NAME 2 |
#define NO_MATCH 1 |
#define PART1_TABLE_OFFSET (U16) 0x01BE |
#define RESC12 (U16) 0xFF0 |
#define RESC16 (U16) 0xFFF0 |
#define RESC32 (unsigned long) 0x0FFFFFF0 |
typedef unsigned int U16 |
typedef unsigned long U32 |
typedef unsigned char U8 |
unsigned char GetDriveInformation | ( | void | ) |
unsigned long GetFirstSectorOfCluster | ( | U16 | n | ) |
unsigned char ReadDirSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
unsigned char ReadFATSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
unsigned char ReadFileSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
void UpdateFATBuffer | ( | unsigned long | newsector | ) |
unsigned char WriteDirSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
unsigned char WriteFATSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
unsigned char WriteFileSector | ( | unsigned long | sector, | |
unsigned char * | buf | |||
) |
unsigned long BytesPerCluster |
unsigned char fatbuf[] |
unsigned long FATCurrentSector |
unsigned long FATFirstSector |
unsigned char FATStatus |
unsigned char FATtype |
unsigned long File1stClusterSector |
unsigned char FileAttr |
unsigned long FileClusterCount |
unsigned long FileCurrentSector |
unsigned char FileDirOffset |
unsigned long FileDirSector |
char FileExt[] |
unsigned char FileFlag |
char FileName[] |
unsigned long FilePosition |
unsigned long FileSize |
unsigned long FirstDataSector |
unsigned long FirstRootSector |
unsigned char iob[] |
unsigned char iob_status |
unsigned long maxsect |
struct DirEntryBuffer packed |
unsigned long RootDirSectors |
unsigned char secPerCluster |