FAT 32 driver. | |
FAT32_MAX_PATH | Maximum character length of a path. |
FAT32_MAX_PARTITION_COUNT | Maximum number of msdos partitions. |
FAT32_MBR_SIGNATURE | Master Boot Record signature. |
FAT32_PARTITION | |
FAT32_INT13_PARTITION | |
FAT32_BOOT_JMP | JMP opcode (x86). |
FAT32_BOOT_NOP | NOP opcode (x86). |
FAT32_MEDIA_TYPE | |
FAT32_BYTES_PER_SECTOR | Number of bytes per sector. |
FAT32_FAT_COUNT | Maximum number of File Attribute Tables. |
FAT32 directory entry attribute flag | |
FAT32_READ_ONLY | |
FAT32_HIDDEN | |
FAT32_SYSTEM | |
FAT32_VOLUME_ID | |
FAT32_DIRECTORY | |
FAT32_ARCHIVE | |
FAT32_LONG_NAME | |
FAT32 routines | |
fat32_read_sector | Copies 512 bytes from the specified sector to the destination buffer. |
fat32_read_mbr | Reads partition table from sector. |
fat32_mount | Mount a FAT32 partition and opens its root directory. |
_fat32_open_root_dir | Opens root directory of current partition. |
_fat32_read_boot_sector | Reads FAT32 boot sector. |
_fat32_sector_address | Computes the sector id of a cluster. |
_fat32_end_of_fat | Checks if the last fat sector was reached. |
_fat32_next_cluster | Retrieves the next data cluster from the File Allocation Table. |
_fat32_next_sector | Reads next data sector and stores the data at the memory location pointed by fat32.data_buffer. |
fat32_read_entry | Retrieves the next valid directory entry and moves fat32.data_offset past it. |
_fat32_is_lfn | Checks if the current directory entry is a long filename (LFN) entry. |
_fat32_checksum | Computes the directory entry checksum. |
fat32_lfn_get | Retrieves the directory entry long file name (if any). |
fat32_get_filename | Retrieves the directory entry file name. |
fat32_open | Opens the file whose directory entry is pointed by _si for reading. |
fat32_read | Reads _cx bytes from the currently opened file and stores them at the memory location given by fat32.dst. |
_fat32_8. | Checks it the 8.3 filename stored in a directory entry matches current string. |
fat32_find_file | Opens the file whose name is the string pointed to by _r1. |
fat32_free_cluster | Inspects the FAT in order to find the id of the first free cluster. |
Mount a FAT32 partition and opens its root directory.
A | Id of the partition to mount. |
fat32.partition.current | Partition id. |
fat32.sectors_per_cluster | Number of sectors per cluster. |
fat32.sectors_per_fat | Number of sectors stored in FAT. |
fat32.root_dir_cluster | 1st cluster of the root directory. |
fat32.fat_begin_lba | 1st FAT sector. |
fat32.cluster_begin_lba | 1st data cluster. |
fat32.current_cluster | 1st cluster of the root directory. |
fat32.current_sector | 1st sector of the root directory. |
fat32.fat_sector | Current FAT sector. |
fat32.fat_entry | Current FAT entry. |
X | FAT32_OK if the partition was successfully mounted. |
Opens root directory of current partition.
fat32.root_dir_cluster | 1st cluster of the root directory. |
fat32.fat_buffer | Address of the FAT RAM buffer. |
fat32.data_buffer | Address of the data RAM buffer. |
fat32.current_cluster | 1st cluster of the root directory. |
fat32.current_sector | 1st sector of the root directory. |
fat32.fat_sector | Current FAT sector. |
fat32.fat_entry | Current FAT entry. |
X | FAT32_OK on success. |
Reads FAT32 boot sector.
fat32.data_buffer | address of sector buffer. |
fat32.sectors_per_cluster | Number of sectors per cluster. |
fat32.sectors_per_fat | Number of sectors stored in FAT. |
fat32.root_dir_cluster | 1st cluster of the root directory. |
fat32.fat_begin_lba | 1st FAT sector. |
fat32.cluster_begin_lba | 1st data cluster. |
X | FAT32_OK if a valid FAT32 boot sector was read. |
Retrieves the next data cluster from the File Allocation Table.
fat32.current_cluster | Current data cluster. |
fat32.current_cluster | Next data cluster upon success. It’s left unchanged if the current cluster is the last one. |
Carry flag | Set if the current cluster is the last cluster, cleared otherwise. |
Retrieves the next valid directory entry and moves fat32.data_offset past it.
fat32.data_offset | Offset of the current directory entry. |
_si | Address of the valid directory entry (file or directory). |
fat32.data_offset | Offset of the next directory entry. |
Carry flag | Set if a valid entry was found. |
Maximum character length of a path.
FAT32_MAX_PATH = 260
Maximum number of msdos partitions.
FAT32_MAX_PARTITION_COUNT = 4
Master Boot Record signature.
FAT32_MBR_SIGNATURE = $AA55
FAT32_PARTITION = $0b
FAT32_INT13_PARTITION = $0c
JMP opcode (x86).
FAT32_BOOT_JMP = $EB
NOP opcode (x86).
FAT32_BOOT_NOP = $90
FAT32_MEDIA_TYPE = $f8
Number of bytes per sector.
FAT32_BYTES_PER_SECTOR = $200
Maximum number of File Attribute Tables.
FAT32_FAT_COUNT = $02
FAT32_READ_ONLY = %0000_0001
FAT32_HIDDEN = %0000_0010
FAT32_SYSTEM = %0000_0100
FAT32_VOLUME_ID = %0000_1000
FAT32_DIRECTORY = %0001_0000
FAT32_ARCHIVE = %0010_0000
FAT32_LONG_NAME = $0f