Retro Rocket Kernel BASIC-Powered Operating System

Data Fields
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:
[legend]

## 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]