Retro Rocket Kernel
BASIC-Powered Operating System
lfn_t Struct Reference

Long filename entry, overlays a directory_entry_t. These entries repeat before a non-lfn entry, each holding up to 13 UCS-2 characters. Note that they are not stored in order, the 'order' attribute indicates which order they go in. More...

#include <fat32.h>

+ Collaboration diagram for lfn_t:

Data Fields

uint8_t order
 Note the order is arbitrary. It may have the value 0, 3, 65, 48... No way to know! To work around this weirdness, we have an array of lfn_t[256] that holds all possible entries ordered by the order value, which we can then iterate once we encounter a non-lfn to build the name. More...
 
uint16_t first [5]
 
uint8_t attributes
 
uint8_t entry_type
 
uint8_t checksum
 
uint16_t second [6]
 
uint16_t reserved
 
uint16_t third [2]
 

Detailed Description

Long filename entry, overlays a directory_entry_t. These entries repeat before a non-lfn entry, each holding up to 13 UCS-2 characters. Note that they are not stored in order, the 'order' attribute indicates which order they go in.

Field Documentation

◆ attributes

uint8_t lfn_t::attributes

◆ checksum

uint8_t lfn_t::checksum

◆ entry_type

uint8_t lfn_t::entry_type

◆ first

uint16_t lfn_t::first[5]

◆ order

uint8_t lfn_t::order

Note the order is arbitrary. It may have the value 0, 3, 65, 48... No way to know! To work around this weirdness, we have an array of lfn_t[256] that holds all possible entries ordered by the order value, which we can then iterate once we encounter a non-lfn to build the name.

◆ reserved

uint16_t lfn_t::reserved

◆ second

uint16_t lfn_t::second[6]

◆ third

uint16_t lfn_t::third[2]