8e389c03f8
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
28 lines
673 B
C
28 lines
673 B
C
/* sc_entry.h — компактная 24-байтовая запись каталога в EMM. */
|
|
|
|
#ifndef SC_ENTRY_H
|
|
#define SC_ENTRY_H
|
|
|
|
#include <stdint.h>
|
|
|
|
#define SC_ENTRY_PARENT 0x01u
|
|
#define SC_ENTRY_SELECTED 0x02u
|
|
#define SC_ENTRY_DSS_LIMIT 0x04u
|
|
|
|
#define SC_DIR_CAPACITY 640u
|
|
|
|
typedef struct {
|
|
char name[13];
|
|
uint32_t size;
|
|
uint16_t date;
|
|
uint16_t time;
|
|
uint8_t attr;
|
|
uint8_t flags;
|
|
uint8_t reserved;
|
|
} ScDirEntry;
|
|
|
|
/* SDCC обязан сохранить зафиксированный дисковый формат без padding. */
|
|
typedef char ScDirEntry_must_be_24_bytes[(sizeof(ScDirEntry) == 24u) ? 1 : -1];
|
|
|
|
#endif
|