commit ce2a378d46c0bcd00ec08b9bc4ad861c8aa28a2f from: rsc date: Thu Feb 10 16:08:16 2005 UTC new prototypes commit - 74a69210695acc71f865a811865fb528b68343f3 commit + ce2a378d46c0bcd00ec08b9bc4ad861c8aa28a2f blob - 66c7758afe147811ca3f98af596e43184fe51b64 blob + 00d2fe076f517e3fe841901d4e2e3257e6ff183d --- include/9p.h +++ include/9p.h @@ -181,6 +181,7 @@ struct Srv { Tree* tree; void (*destroyfid)(Fid*); void (*destroyreq)(Req*); + void (*start)(Srv*); void (*end)(Srv*); void* aux; blob - 306a7e7b27406d04ae1c7cfe8166a0849568f9c8 blob + 2fc9f7ab0b2e2006d2aae69b20a4b113edac997e --- include/9pclient.h +++ include/9pclient.h @@ -28,6 +28,7 @@ vlong fsseek(CFid*, vlong, int); long fswrite(CFid*, void*, long); void fsclose(CFid*); void fsunmount(CFsys*); +void _fsunmount(CFsys*); /* do not close fd */ struct Dir; /* in case there's no lib9.h */ long fsdirread(CFid*, struct Dir**); long fsdirreadall(CFid*, struct Dir**); @@ -37,9 +38,12 @@ int fsdirwstat(CFsys*, char*, struct Dir*); int fsdirfwstat(CFid*, struct Dir*); CFid *fsroot(CFsys*); void fssetroot(CFsys*, CFid*); +CFsys *nsinit(char*); CFsys *nsmount(char*, char*); CFid *nsopen(char*, char*, char*, int); +extern int chatty9pclient; + #ifdef __cplusplus } #endif blob - 81b08cc0436ff029a306aefa0d80caf74c48e325 blob + d03d2607b8ae4adecb230e09bc34095e960d079f --- include/auth.h +++ include/auth.h @@ -152,6 +152,11 @@ extern Attr* auth_attr(AuthRpc *rpc); extern void auth_freerpc(AuthRpc *rpc); extern uint auth_rpc(AuthRpc *rpc, char *verb, void *a, int n); extern int auth_wep(char*, char*, ...); + +extern struct CFsys* fsamount(int fd, char *aname); +extern struct CFsys* nsamount(char *name, char *aname); + + /* #pragma varargck argpos auth_proxy 3 #pragma varargck argpos auth_challenge 1 blob - 27757e723dd23acdf95217423635dc031d782cc6 blob + 4462e78dc96b8f62375ca186602e6841cbfc9d5a --- include/libc.h +++ include/libc.h @@ -362,6 +362,7 @@ extern double fmtcharstod(int(*)(void*), void*); extern char* cleanname(char*); extern int p9decrypt(void*, void*, int); extern int p9encrypt(void*, void*, int); +extern int netcrypt(void*, void*); extern int dec64(uchar*, int, char*, int); extern int enc64(char*, int, uchar*, int); extern int dec32(uchar*, int, char*, int); @@ -403,10 +404,12 @@ extern vlong strtoll(char*, char**, int); extern uvlong strtoull(char*, char**, int); */ extern void sysfatal(char*, ...); +extern void p9syslog(int, char*, char*, ...); extern long p9time(long*); /* extern int tolower(int); */ /* extern int toupper(int); */ extern void needstack(int); +extern char* readcons(char*, char*, int); #ifndef NOPLAN9DEFINES #define atexit p9atexit @@ -428,6 +431,7 @@ extern void needstack(int); #define pow10 p9pow10 #define strtod fmtstrtod #define charstod fmtcharstod +#define syslog p9syslog #endif /* @@ -590,6 +594,7 @@ extern void freenetconninfo(NetConnInfo*); #define ONONBLOCK 256 /* or'ed in, non-blocking call */ #define OEXCL 0x1000 /* or'ed in, exclusive use (create only) */ #define OLOCK 0x2000 /* or'ed in, lock after opening */ +#define OAPPEND 0x4000 /* or'ed in, append only */ #define AEXIST 0 /* accessible: exists */ #define AEXEC 1 /* execute access */ @@ -620,7 +625,11 @@ extern void freenetconninfo(NetConnInfo*); #define DMEXCL 0x20000000 /* mode bit for exclusive use files */ #define DMMOUNT 0x10000000 /* mode bit for mounted channel */ #define DMAUTH 0x08000000 /* mode bit for authentication file */ -#define DMLINK 0x04000000 /* mode bit for symbolic link */ +#define DMDEVICE 0x00800000 /* mode bit for device files (Unix) */ +#define DMSYMLINK 0x00400000 /* mode bit for symbolic links (Unix) */ +#define DMNAMEDPIPE 0x00200000 /* mode bit for named pipes (Unix) */ +#define DMSOCKET 0x00100000 /* mode bit for sockets (Unix) */ + #define DMREAD 0x4 /* mode bit for read permission */ #define DMWRITE 0x2 /* mode bit for write permission */ #define DMEXEC 0x1 /* mode bit for execute permission */