1 #define getpass tapefs_getpass
3 #define g2byte(x) (((x)[1]<<8) + (x)[0]) /* little-endian */
4 #define g3byte(x) (((x)[2]<<16) + ((x)[1]<<8) + (x)[0])
5 #define g4byte(x) (((x)[3]<<24) + ((x)[2]<<16) + ((x)[1]<<8) + (x)[0])
8 #define b4byte(x) (((x)[0]<<24) + ((x)[1]<<16) + ((x)[2]<<8) + (x)[3])
9 #define b8byte(x) (((vlong)b4byte(x)<<32) | (u32int)b4byte((x)+4))
13 OPERM = 0x3, /* mask of all permission types in open mode */
15 Maxbuf = 8192 /* max buffer size */
18 typedef struct Fid Fid;
19 typedef struct Ram Ram;
37 Ram *parent; /* parent directory */
38 Ram *child; /* first member of directory */
39 Ram *next; /* next member of file's directory */
62 typedef struct idmap {
67 typedef struct fileinf {
78 extern ulong path; /* incremented for each new file */
86 void *erealloc(void*, ulong);
89 void populate(char *);
92 char *doread(Ram*, vlong, long);
93 void dowrite(Ram*, char*, long, long);
95 Idmap *getpass(char*);
96 char *mapid(Idmap*,int);
97 Ram *poppath(Fileinf fi, int new);
98 Ram *popfile(Ram *dir, Fileinf fi);
100 Ram *lookup(Ram*, char*);