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);
Основные определения ядра
struct registers __attribute__((packed))
Структура данных пакета от мыши
Definition: psf.h:19
Структура файла
Definition: ahci.h:15
uint32_t Real
Адрес размещения файла
Definition: tarfs.h:49
char Type
Контрольная сумма для записи заголовка
Definition: tarfs.h:26
TarFS_File * Files
Кол-во файлов и элементов
Definition: tarfs.h:55
uint32_t Addr
Тип элемента
Definition: tarfs.h:48