123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- typedef struct Fcall Fcall;
- /* see /sys/include/auth.h */
- enum
- {
- DOMLEN= 48, /* length of an authentication domain name */
- DESKEYLEN= 7, /* length of a des key for encrypt/decrypt */
- CHALLEN= 8, /* length of a challenge */
- NETCHLEN= 16, /* max network challenge length */
- CONFIGLEN= 14,
- KEYDBLEN= NAMELEN+DESKEYLEN+4+2
- };
- #define TICKETLEN (CHALLEN+2*NAMELEN+DESKEYLEN+1)
- #define AUTHENTLEN (CHALLEN+4+1)
- struct Fcall
- {
- char type;
- short fid;
- unsigned short tag;
- union
- {
- struct
- {
- unsigned short oldtag; /* T-Flush */
- Qid qid; /* R-Attach, R-Walk, R-Open, R-Create */
- char rauth[AUTHENTLEN]; /* Rattach */
- };
- struct
- {
- char uname[NAMELEN]; /* T-Attach */
- char aname[NAMELEN]; /* T-Attach */
- char ticket[TICKETLEN]; /* T-Attach */
- char auth[AUTHENTLEN];/* T-Attach */
- };
- struct
- {
- char ename[ERRLEN]; /* R-Error */
- char authid[NAMELEN]; /* R-session */
- char authdom[DOMLEN]; /* R-session */
- char chal[CHALLEN]; /* T-session/R-session */
- };
- struct
- {
- long perm; /* T-Create */
- short newfid; /* T-Clone, T-Clwalk */
- char name[NAMELEN]; /* T-Walk, T-Clwalk, T-Create */
- char mode; /* T-Create, T-Open */
- };
- struct
- {
- long offset; /* T-Read, T-Write */
- long count; /* T-Read, T-Write, R-Read */
- char *data; /* T-Write, R-Read */
- };
- struct
- {
- char stat[DIRLEN]; /* T-Wstat, R-Stat */
- };
- };
- };
- #define MAXFDATA 8192
- #define MAXMSG 160 /* max header sans data */
- #define NOTAG 0xFFFF /* Dummy tag */
- enum
- {
- Tmux = 48,
- Rmux, /* illegal */
- Tnop = 50,
- Rnop,
- Tosession = 52, /* illegal */
- Rosession, /* illegal */
- Terror = 54, /* illegal */
- Rerror,
- Tflush = 56,
- Rflush,
- Toattach = 58, /* illegal */
- Roattach, /* illegal */
- Tclone = 60,
- Rclone,
- Twalk = 62,
- Rwalk,
- Topen = 64,
- Ropen,
- Tcreate = 66,
- Rcreate,
- Tread = 68,
- Rread,
- Twrite = 70,
- Rwrite,
- Tclunk = 72,
- Rclunk,
- Tremove = 74,
- Rremove,
- Tstat = 76,
- Rstat,
- Twstat = 78,
- Rwstat,
- Tclwalk = 80,
- Rclwalk,
- Tauth = 82, /* illegal */
- Rauth, /* illegal */
- Tsession = 84,
- Rsession,
- Tattach = 86,
- Rattach,
- };
- int convM2S(char*, Fcall*, int);
- int convS2M(Fcall*, char*);
- int convM2D(char*, Dir*);
- int convD2M(Dir*, char*);
- char* getS(int, char*, Fcall*, long*);
|