]> git.lizzy.rs Git - plan9front.git/blob - sys/src/boot/pc/kfs.h
perms
[plan9front.git] / sys / src / boot / pc / kfs.h
1 typedef struct Qid9p1 Qid9p1;
2 typedef struct Dentry Dentry;
3 typedef struct Kfsfile Kfsfile;
4 typedef struct Kfs Kfs;
5
6 /* DONT TOUCH, this is the disk structure */
7 struct  Qid9p1
8 {
9         long    path;
10         long    version;
11 };
12
13 //#define       NAMELEN         28              /* size of names */
14 #define NDBLOCK         6               /* number of direct blocks in Dentry */
15
16 /* DONT TOUCH, this is the disk structure */
17 struct  Dentry
18 {
19         char    name[NAMELEN];
20         short   uid;
21         short   gid;
22         ushort  mode;
23 /*
24                 #define DALLOC  0x8000
25                 #define DDIR    0x4000
26                 #define DAPND   0x2000
27                 #define DLOCK   0x1000
28                 #define DREAD   0x4
29                 #define DWRITE  0x2
30                 #define DEXEC   0x1
31 */
32         Qid9p1  qid;
33         long    size;
34         long    dblock[NDBLOCK];
35         long    iblock;
36         long    diblock;
37         long    atime;
38         long    mtime;
39 };
40
41 struct Kfsfile
42 {
43         Dentry;
44         long off;
45 };
46
47 struct Kfs
48 {
49         int     RBUFSIZE;
50         int     BUFSIZE;
51         int     DIRPERBUF;
52         int     INDPERBUF;
53         int     INDPERBUF2;
54 };
55
56 extern int kfsinit(Fs*);
57