SayoriOS 0.3.3

tarfs.h
1 #pragma once
2
3 #include <common.h>
4 #define TARFS_ELEM_TYPE_FILE 48
5 #define TARFS_ELEM_TYPE_HARD_LINK 49
6 #define TARFS_ELEM_TYPE_SYMB_LINK 50
7 #define TARFS_ELEM_TYPE_CHR_DEV 51
8 #define TARFS_ELEM_TYPE_BLK_DEV 52
9 #define TARFS_ELEM_TYPE_DIR 53
10 #define TARFS_ELEM_TYPE_PIPE 54
11
15 typedef struct {
16 char Name[100];
17 char Mode[8];
18
19 char UID[8];
20 char GID[8];
21
22 char Size[12];
23 char LastTime[12];
24
25 char CheckSum[8];
26 char Type;
27
28 char Link[100];
29 char Signature[6];
30 char Version[2];
31
32 char OwnerUser[32];
33 char OwnerGroup[32];
34
35 char DM1[8];
36 char DM2[8];
37
38 char Prefix[155];
39 } __attribute__((packed, aligned(512))) TarFS_Elem;
40
41 typedef struct {
42 int Ready;
43 char Name[100];
44 char Mode[8];
45 size_t Size;
46 char LastTime[12];
47 int Type;
48 uint32_t Addr;
49 uint32_t Real;
50 } __attribute__((packed)) TarFS_File;
51
52 typedef struct {
53 int Ready;
54 size_t Count;
55 TarFS_File* Files;
56 } __attribute__((packed)) TarFS_ROOT;
57
58 int oct2bin(char *str, int size);
59 TarFS_File tarfs_infoFile(TarFS_ROOT* r,const char* name);
60 char* tarfs_readFile(TarFS_ROOT* r,const char* name);
61 size_t tarfs_getCountFiles(const uint32_t in);
62 TarFS_ROOT* tarfs_init(const uint32_t in);
63
64 size_t fs_tarfs_read(const char Disk,const char* Path,size_t Offset,size_t Size,void* Buffer);
65 size_t fs_tarfs_write(const char Disk,const char* Path,size_t Offset,size_t Size,void* Buffer);
66 FSM_FILE fs_tarfs_info(const char Disk,const char* Path);
67 int fs_tarfs_create(const char Disk,const char* Path,int Mode);
68 int fs_tarfs_delete(const char Disk,const char* Path,int Mode);
69
70 TarFS_ROOT* fs_tarfs_init(uint32_t in, uint32_t size, int Mode);
71 FSM_DIR* fs_tarfs_dir(const char Disk,const char* Path);
72
73 int fs_tarfs_detect(const char Disk);
74 void fs_tarfs_label(const char Disk, char* Label);
common.h
Основные определения ядра
__attribute__
struct registers __attribute__((packed))
Структура данных пакета от мыши
Definition: psf.h:19
__attribute__
Структура файла
Definition: ahci.h:15
__attribute__::Real
uint32_t Real
Адрес размещения файла
Definition: tarfs.h:49
__attribute__::Type
char Type
Контрольная сумма для записи заголовка
Definition: tarfs.h:26
__attribute__::Files
TarFS_File * Files
Кол-во файлов и элементов
Definition: tarfs.h:55
__attribute__::Addr
uint32_t Addr
Тип элемента
Definition: tarfs.h:48