1 #define DIRREC 116 /* size of a directory ascii record */
2 #define ERRREC 64 /* size of a error record */
3 #define MAXMSG 160 /* max header sans data */
5 typedef struct Oldfcall Oldfcall;
17 short uid; /* T-Userstr */
18 short oldtag; /* T-nFlush */
19 Qid9p1 qid; /* R-Attach, R-Clwalk, R-Walk,
21 char rauth[AUTHENTLEN]; /* R-attach */
25 char uname[NAMELEN]; /* T-nAttach */
26 char aname[NAMELEN]; /* T-nAttach */
27 char ticket[TICKETLEN]; /* T-attach */
28 char auth[AUTHENTLEN]; /* T-attach */
32 char ename[ERRREC]; /* R-nError */
33 char chal[CHALLEN]; /* T-session, R-session */
34 char authid[NAMELEN]; /* R-session */
35 char authdom[DOMLEN]; /* R-session */
39 char name[NAMELEN]; /* T-Walk, T-Clwalk, T-Create, T-Remove */
40 long perm; /* T-Create */
41 ushort newfid; /* T-Clone, T-Clwalk */
42 char mode; /* T-Create, T-Open */
46 long offset; /* T-Read, T-Write */
47 long count; /* T-Read, T-Write, R-Read */
48 char* data; /* T-Write, R-Read */
52 char stat[DIRREC]; /* T-Wstat, R-Stat */
58 * P9 protocol message types
66 Terror9p1 = 54, /* illegal */
94 Tauth9p1 = 82, /* illegal */
95 Rauth9p1, /* illegal */
104 int convD2M9p1(Dentry*, char*);
105 int convM2D9p1(char*, Dentry*);
106 int convM2S9p1(uchar*, Oldfcall*, int);
107 int convS2M9p1(Oldfcall*, uchar*);
108 void fcall9p1(Chan*, Oldfcall*, Oldfcall*);
109 int authorize(Chan*, Oldfcall*, Oldfcall*);
111 void (*call9p1[MAXSYSCALL])(Chan*, Oldfcall*, Oldfcall*);