4 DIRREC = 116, /* size of a directory ascii record */
5 ERRREC = 64, /* size of a error record */
8 typedef struct Fcall Fcall;
20 short uid; /* T-Userstr [obs.] */
21 short oldtag; /* T-nFlush */
22 Qid9p1 qid; /* R-Attach, R-Clwalk, R-Walk,
24 char rauth[AUTHENTLEN]; /* R-attach */
28 char uname[NAMELEN]; /* T-nAttach */
29 char aname[NAMELEN]; /* T-nAttach */
30 char ticket[TICKETLEN]; /* T-attach */
31 char auth[AUTHENTLEN]; /* T-attach */
35 char ename[ERRREC]; /* R-nError */
36 char chal[CHALLEN]; /* T-session, R-session */
37 char authid[NAMELEN]; /* R-session */
38 char authdom[DOMLEN]; /* R-session */
42 char name[NAMELEN]; /* T-Walk, T-Clwalk, T-Create, T-Remove */
43 long perm; /* T-Create */
44 ushort newfid; /* T-Clone, T-Clwalk */
45 char mode; /* T-Create, T-Open */
49 Off offset; /* T-Read, T-Write */
50 long count; /* T-Read, T-Write, R-Read */
51 char* data; /* T-Write, R-Read */
55 char stat[DIRREC]; /* T-Wstat, R-Stat */
61 * P9 protocol message types
69 Terror = 54, /* illegal */
97 Tauth = 82, /* illegal */
107 int convA2M9p1(Authenticator*, char*, char*);
108 void convM2A9p1(char*, Authenticator*, char*);
109 void convM2T9p1(char*, Ticket*, char*);
110 int convD2M9p1(Dentry*, char*);
111 int convM2D9p1(char*, Dentry*);
112 int convM2S9p1(uchar*, Fcall*, int);
113 int convS2M9p1(Fcall*, uchar*);
114 void fcall9p1(Chan*, Fcall*, Fcall*);
116 void (*call9p1[MAXSYSCALL])(Chan*, Fcall*, Fcall*);