294
|
1 typedef struct fs<Type,Impl> {
|
|
2 union Data* fs;
|
|
3 int dev;
|
|
4 struct superblock* sb;
|
|
5 uint dev;
|
|
6 short type;
|
|
7 struct inode* ip;
|
|
8 struct stat* st;
|
|
9 char* dst;
|
|
10 uint off;
|
|
11 uint n;
|
|
12 const char* s;
|
|
13 const char* t;
|
|
14 struct inode* dp;
|
|
15 char* name;
|
|
16 uint* poff;
|
|
17 uint inum;
|
|
18 char* path;
|
|
19
|
|
20 __code readsb(Impl* fs, int dev, struct superblock* sb, __code next(...));
|
|
21 __code iinit(Impl* fs, __code next(...));
|
|
22 __code ialloc(Impl* fs, uint dev, short type, __code next(...));
|
|
23 __code iupdate(Impl* fs, struct inode* ip, __code next(...));
|
|
24 __code idup(Impl* fs, struct inode* ip, __code next(...));
|
|
25 __code ilock(Impl* fs, struct inode* ip, __code next(...));
|
|
26 __code iunlock(Impl* fs, struct inode* ip, __code next(...));
|
|
27 __code iput(Impl* fs, struct inode* ip, __code next(...));
|
|
28 __code iunlockput(Impl* fs, struct inode* ip, __code next(...));
|
|
29 __code stati(Impl* fs , struct inode* ip, struct stat* st, __code next(...));
|
|
30 __code readi(Impl* fs, struct inode* ip, char* dst, uint off, uint n, __code next(...));
|
|
31 __code writei(Impl* fs, struct inode* ip, char* src, uint off, uint n, __code next(...));
|
|
32 __code namecmp(Impl* fs, const char* s, const char* t, __code next(...));
|
|
33 __code dirlookup(struct inode* dp, char* name, uint* poff, __code next(...));
|
|
34 __code dirlink (Impl* fs, struct inode* dp, char* name, uint inum, __code next(...));
|
|
35 __code namei(Impl* fs, char* path, __code next(...));
|
|
36 __code nameiparent(Impl* fs, char* path, char* name, __code next(...));
|
|
37
|
|
38 } fs;
|