#ifndef _9PCLIENT_H_ #define _9PCLIENT_H_ 1 #ifdef __cplusplus extern "C" { #endif AUTOLIB(9pclient) /* * Simple user-level 9P client. */ typedef struct CFsys CFsys; typedef struct CFid CFid; CFsys *fsinit(int); CFsys *fsmount(int, char*); int fsversion(CFsys*, int, char*, int); CFid *fsauth(CFsys*, char*, char*); CFid *fsattach(CFsys*, CFid*, char*, char*); CFid *fsopen(CFsys*, char*, int); int fsopenfd(CFsys*, char*, int); long fsread(CFid*, void*, long); long fsreadn(CFid*, void*, long); long fspread(CFid*, void*, long, vlong); long fspwrite(CFid*, void*, long, vlong); 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**); struct Dir *fsdirstat(CFsys*, char*); struct Dir *fsdirfstat(CFid*); 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); int fsfremove(CFid*); int fsremove(CFsys*, char*); CFid *fscreate(CFsys*, char*, int, ulong); int fsaccess(CFsys*, char*, int); int fsvprint(CFid*, char*, va_list); int fsprint(CFid*, char*, ...); Qid fsqid(CFid*); /* manipulate unopened fids */ CFid *fswalk(CFid*, char*); int fsfopen(CFid*, int); int fsfcreate(CFid*, char*, int, ulong); extern int chatty9pclient; extern int eofkill9pclient; #ifdef __cplusplus } #endif #endif