Volkov: добавить Sprinter Commander
Реализовать двухпанельный Commander от платформенного PoC до этапов P6-P20: EMM-каталог, сортировку и выбор, операции с файлами и деревьями, транзакционное копирование, метаданные, политику конфликтов и предварительную проверку свободного места. Добавить проектную документацию, HDD/MAME-сценарии и проверенные артефакты. Расширить libc операцией bank_write_page, исправлением режима O_RDONLY и связанными регрессионными проверками.
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
/* sc_panel.h — состояние одной независимой файловой панели. */
|
||||
|
||||
#ifndef SC_PANEL_H
|
||||
#define SC_PANEL_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include "sc_entry.h"
|
||||
|
||||
#define SC_SOURCE_REAL_FS 0u
|
||||
|
||||
typedef enum {
|
||||
SC_SORT_NAME = 0,
|
||||
SC_SORT_EXTENSION,
|
||||
SC_SORT_SIZE,
|
||||
SC_SORT_DATE
|
||||
} ScSortKey;
|
||||
|
||||
typedef struct {
|
||||
char path[256];
|
||||
uint16_t count;
|
||||
uint16_t cursor;
|
||||
uint16_t top;
|
||||
uint32_t total_size;
|
||||
uint16_t selected_count;
|
||||
uint32_t selected_size;
|
||||
uint8_t source_kind;
|
||||
uint8_t phys_page;
|
||||
uint8_t truncated;
|
||||
uint8_t dirty;
|
||||
uint8_t sort_key;
|
||||
uint8_t sort_descending;
|
||||
} ScPanel;
|
||||
|
||||
int sc_panel_init(ScPanel *panel, uint8_t phys_page);
|
||||
int sc_panel_refresh(ScPanel *panel);
|
||||
int sc_panel_selected(const ScPanel *panel, ScDirEntry *entry);
|
||||
int sc_panel_open_selected(ScPanel *panel);
|
||||
int sc_panel_parent(ScPanel *panel);
|
||||
void sc_panel_normalize_view(ScPanel *panel);
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user