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