12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- /*
- * This file is part of the UCB release of Plan 9. It is subject to the license
- * terms in the LICENSE file found in the top-level directory of this
- * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
- * part of the UCB release of Plan 9, including this file, may be copied,
- * modified, propagated, or distributed except according to the terms contained
- * in the LICENSE file.
- */
- typedef struct VtAuth VtAuth;
- /* op codes */
- enum {
- VtRError = 1,
- VtQPing,
- VtRPing,
- VtQHello,
- VtRHello,
- VtQGoodbye,
- VtRGoodbye, /* not used */
- VtQAuth0,
- VtRAuth0,
- VtQAuth1,
- VtRAuth1,
- VtQRead,
- VtRRead,
- VtQWrite,
- VtRWrite,
- VtQSync,
- VtRSync,
- VtMaxOp
- };
- /* connection state */
- enum {
- VtStateAlloc,
- VtStateConnected,
- VtStateClosed,
- };
- /* auth state */
- enum {
- VtAuthHello,
- VtAuth0,
- VtAuth1,
- VtAuthOK,
- VtAuthFailed,
- };
- struct VtAuth {
- int state;
- unsigned char client[VtScoreSize];
- unsigned char sever[VtScoreSize];
- };
- struct VtSession {
- VtLock *lk;
- VtServerVtbl *vtbl; /* == nil means client side */
- int cstate; /* connection state */
- int fd;
- char fderror[ERRMAX];
- VtAuth auth;
- VtSha1 *inHash;
- VtLock *inLock;
- Packet *part; /* partial packet */
- VtSha1 *outHash;
- VtLock *outLock;
- int debug;
- int version;
- int ref;
- char *uid;
- char *sid;
- int cryptoStrength;
- int compression;
- int crypto;
- int codec;
- };
|