1 78a779a3 2008-07-20 rsc typedef struct Ioclust Ioclust;
2 78a779a3 2008-07-20 rsc typedef struct Iobuf Iobuf;
3 78a779a3 2008-07-20 rsc typedef struct Isofile Isofile;
4 78a779a3 2008-07-20 rsc typedef struct Xdata Xdata;
5 78a779a3 2008-07-20 rsc typedef struct Xfile Xfile;
6 78a779a3 2008-07-20 rsc typedef struct Xfs Xfs;
7 78a779a3 2008-07-20 rsc typedef struct Xfsub Xfsub;
9 78a779a3 2008-07-20 rsc #pragma incomplete Isofile
13 78a779a3 2008-07-20 rsc Sectorsize = 2048,
14 78a779a3 2008-07-20 rsc Maxname = 256,
19 78a779a3 2008-07-20 rsc Ioclust* clust;
21 78a779a3 2008-07-20 rsc uchar* iobuf;
24 78a779a3 2008-07-20 rsc struct Ioclust
26 78a779a3 2008-07-20 rsc long addr; /* in sectors; good to 8TB */
28 78a779a3 2008-07-20 rsc Ioclust* next;
29 78a779a3 2008-07-20 rsc Ioclust* prev;
33 78a779a3 2008-07-20 rsc uchar* iobuf;
39 78a779a3 2008-07-20 rsc char* name; /* of underlying file */
43 78a779a3 2008-07-20 rsc int ref; /* attach count */
44 78a779a3 2008-07-20 rsc int dev; /* for read/write */
49 78a779a3 2008-07-20 rsc void (*reset)(void);
50 78a779a3 2008-07-20 rsc int (*attach)(Xfile*);
51 78a779a3 2008-07-20 rsc void (*clone)(Xfile*, Xfile*);
52 78a779a3 2008-07-20 rsc void (*walkup)(Xfile*);
53 78a779a3 2008-07-20 rsc void (*walk)(Xfile*, char*);
54 78a779a3 2008-07-20 rsc void (*open)(Xfile*, int);
55 78a779a3 2008-07-20 rsc void (*create)(Xfile*, char*, long, int);
56 78a779a3 2008-07-20 rsc long (*readdir)(Xfile*, uchar*, long, long);
57 78a779a3 2008-07-20 rsc long (*read)(Xfile*, char*, vlong, long);
58 78a779a3 2008-07-20 rsc long (*write)(Xfile*, char*, vlong, long);
59 78a779a3 2008-07-20 rsc void (*clunk)(Xfile*);
60 78a779a3 2008-07-20 rsc void (*remove)(Xfile*);
61 78a779a3 2008-07-20 rsc void (*stat)(Xfile*, Dir*);
62 78a779a3 2008-07-20 rsc void (*wstat)(Xfile*, Dir*);
67 78a779a3 2008-07-20 rsc Xdata* d; /* how to get the bits */
68 78a779a3 2008-07-20 rsc Xfsub* s; /* how to use them */
70 78a779a3 2008-07-20 rsc int issusp; /* follows system use sharing protocol */
71 78a779a3 2008-07-20 rsc long suspoff; /* if so, offset at which SUSP area begins */
72 78a779a3 2008-07-20 rsc int isrock; /* Rock Ridge format */
73 78a779a3 2008-07-20 rsc int isplan9; /* has Plan 9-specific directory info */
75 78a779a3 2008-07-20 rsc Isofile* ptr; /* private data */
80 78a779a3 2008-07-20 rsc Xfile* next; /* in fid hash bucket */
85 78a779a3 2008-07-20 rsc int len; /* of private data */
86 78a779a3 2008-07-20 rsc Isofile* ptr;
100 78a779a3 2008-07-20 rsc Orclose = 4,
104 78a779a3 2008-07-20 rsc extern char Enonexist[]; /* file does not exist */
105 78a779a3 2008-07-20 rsc extern char Eperm[]; /* permission denied */
106 78a779a3 2008-07-20 rsc extern char Enofile[]; /* no file system specified */
107 78a779a3 2008-07-20 rsc extern char Eauth[]; /* authentication failed */
109 78a779a3 2008-07-20 rsc extern char *srvname;
110 78a779a3 2008-07-20 rsc extern char *deffile;
111 78a779a3 2008-07-20 rsc extern int chatty;
112 78a779a3 2008-07-20 rsc extern jmp_buf err_lab[];
113 78a779a3 2008-07-20 rsc extern int nerr_lab;
114 78a779a3 2008-07-20 rsc extern char err_msg[];
116 78a779a3 2008-07-20 rsc extern int nojoliet;
117 78a779a3 2008-07-20 rsc extern int noplan9;
118 78a779a3 2008-07-20 rsc extern int norock;