-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstructs.h
More file actions
90 lines (76 loc) · 2.38 KB
/
Copy pathstructs.h
File metadata and controls
90 lines (76 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// User defined structures
//
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Structure Name: BootBlock
// Description: Holds the information for booting the operating system
//
/////////////////////////////////////////////////////////////////////////////////////////////////
struct BootBlock
{
char Information[100];
};
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Structure Name: SuperBlock
// Description: Holds the information about the file system
//
/////////////////////////////////////////////////////////////////////////////////////////////////
struct SuperBlock
{
int TotalInodes;
int FreeInodes;
};
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Structure Name: Inode
// Description: Holds the information about the file
//
/////////////////////////////////////////////////////////////////////////////////////////////////
#pragma pack(1)
struct Inode
{
char FileName[20];
int InodeNumber;
int FileSize;
int FileType;
int ActualFileSize;
int ReferenceCount;
int Permission;
char *Buffer;
struct Inode *next;
};
// typedef for Inode
typedef struct Inode INODE;
typedef struct Inode* PINODE;
typedef struct Inode** PPINODE; // might not be used
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Structure Name: FileTable
// Description: Holds the information about opened file
//
/////////////////////////////////////////////////////////////////////////////////////////////////
struct FileTable
{
int ReadOffset;
int WriteOffset;
int Mode;
PINODE ptrinode;
};
// typedef for FileTable
typedef FileTable FILETABLE;
typedef FileTable* PFILETABLE;
/////////////////////////////////////////////////////////////////////////////////////////////////
//
// Structure Name: UAREA
// Description: Holds the information about process
//
/////////////////////////////////////////////////////////////////////////////////////////////////
struct UAREA
{
char ProcessName[20];
PFILETABLE UFDT[MAXOPENFILES];
};