1 #ifndef SAYORIOS_TEMPFS_H
2 #define SAYORIOS_TEMPFS_H
4 #include "../../include/portability.h"
7 #define tfs_log(M,...); printf(M,##__VA_ARGS__);
9 #define TEMPFS_CHMOD_EXEC 0x01
10 #define TEMPFS_CHMOD_WRITE 0x02
11 #define TEMPFS_CHMOD_READ 0x04
12 #define TEMPFS_CHMOD_SYS 0x08
15 #define TEMPFS_DIR_INFO_ROOT 0x01
16 #define TEMPFS_DIR_INFO_EXITS 0x02
18 #define TEMPFS_ENTITY_STATUS_ERROR 0x00
19 #define TEMPFS_ENTITY_STATUS_READY 0x01
20 #define TEMPFS_ENTITY_STATUS_PKG_READY 0x02
22 #define TEMPFS_ENTITY_TYPE_UNKNOWN 0x00
23 #define TEMPFS_ENTITY_TYPE_FILE 0x01
24 #define TEMPFS_ENTITY_TYPE_FOLDER 0x02
67 FSM_FILE fs_tempfs_info(
const char Disk,
const char* Path);
68 FSM_DIR* fs_tempfs_dir(
const char Disk,
const char* Path);
69 int fs_tempfs_create(
const char Disk,
const char* Path,
int Mode);
70 int fs_tempfs_delete(
const char Disk,
const char* Path,
int Mode);
71 void fs_tempfs_label(
const char Disk,
char* Label);
72 int fs_tempfs_detect(
const char Disk);
73 void fs_tempfs_format(
const char Disk);
74 size_t fs_tempfs_write(
const char Disk,
const char* Path,
size_t Offset,
size_t Size,
void* Buffer);
75 size_t fs_tempfs_read(
const char Disk,
const char* Path,
size_t Offset,
size_t Size,
void* Buffer);
77 #define TMF_GETDISKSIZE(Ch) dpm_disk_size(Ch)
uint16_t Sign1
Сигнатура 1.
uint16_t Sign2
Сигнатура 2.
uint32_t CountFiles
Количество файлов
uint32_t EndDisk
Точка конца диска
uint32_t CountBlocks
Количество используемых блоков
TEMPFS_BOOT * Boot
Ссылка на Boot.
size_t FreeAll
Свободное количество блоков
TEMPFS_ENTITY * Files
Ссылка на Файловые поинты
size_t BlocksAll
Максимальное количество блоков информации
size_t CountFiles
Количество файлов
size_t EndPoint
Точка конца диска
uint32_t Size
Размер файла в байтах (только для файлов)
uint8_t CHMOD
Права доступа
uint32_t Date
Дата изменения
uint32_t Point
Точка входа в файл | папки
uint8_t Type
Тип файл или папки
uint32_t Next
Следующий пакет данных
uint8_t Rev
Зарезервировано, всегда ноль
uint8_t Status
Статус пакета
uint16_t Length
Длина пакета