comparison src/interface/fs.dg @ 294:08a367c3124a

add FileSystem files
author menikon
date Wed, 29 Jan 2020 15:58:12 +0900
parents
children 2fcabbf8ceda
comparison
equal deleted inserted replaced
293:a7fc5edea925 294:08a367c3124a
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;