diff options
Diffstat (limited to 'tools/libstyx/styxserver.h')
| -rw-r--r-- | tools/libstyx/styxserver.h | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/tools/libstyx/styxserver.h b/tools/libstyx/styxserver.h deleted file mode 100644 index 3aac9eee..00000000 --- a/tools/libstyx/styxserver.h +++ /dev/null @@ -1,97 +0,0 @@ - -#define Qroot 0 - -#define MSGMAX ((((8192+128)*2)+3) & ~3) - -extern char Enomem[]; /* out of memory */ -extern char Eperm[]; /* permission denied */ -extern char Enodev[]; /* no free devices */ -extern char Ehungup[]; /* i/o on hungup channel */ -extern char Eexist[]; /* file exists */ -extern char Enonexist[]; /* file does not exist */ -extern char Ebadcmd[]; /* bad command */ -extern char Ebadarg[]; /* bad arguments */ - -typedef uvlong Path; -typedef struct Styxserver Styxserver; -typedef struct Styxops Styxops; -typedef struct Styxfile Styxfile; -typedef struct Client Client; -typedef struct Fid Fid; - -struct Styxserver -{ - Styxops *ops; - Path qidgen; - int connfd; - int needfile; - Client *clients; - Client *curc; - Styxfile *root; - Styxfile **ftab; - void *priv; /* private */ -}; - -struct Client -{ - Styxserver *server; - Client *next; - int fd; - char msg[MSGMAX]; - uint nread; /* valid bytes in msg (including nc)*/ - int nc; /* bytes consumed from front of msg by convM2S */ - char data[MSGMAX]; /* Tread/Rread data */ - int state; - Fid *fids; - char *uname; /* uid */ - char *aname; /* attach name */ - void *u; -}; - -struct Styxops -{ - char *(*newclient)(Client *c); - char *(*freeclient)(Client *c); - - char *(*attach)(char *uname, char *aname); - char *(*walk)(Qid *qid, char *name); - char *(*open)(Qid *qid, int mode); - char *(*create)(Qid *qid, char *name, int perm, int mode); - char *(*read)(Qid qid, char *buf, ulong *n, vlong offset); - char *(*write)(Qid qid, char *buf, ulong *n, vlong offset); - char *(*close)(Qid qid, int mode); - char *(*remove)(Qid qid); - char *(*stat)(Qid qid, Dir *d); - char *(*wstat)(Qid qid, Dir *d); -}; - -struct Styxfile -{ - Dir d; - Styxfile *parent; - Styxfile *child; - Styxfile *sibling; - Styxfile *next; - int ref; - int open; - void *u; -}; - -char *styxinit(Styxserver *server, Styxops *ops, char *port, int perm, int needfile); -char *styxwait(Styxserver *server); -char *styxprocess(Styxserver *server); -char *styxend(Styxserver *server); - -Client *styxclient(Styxserver *server); - -Styxfile *styxaddfile(Styxserver *server, Path pqid, Path qid, char *name, int mode, char *owner); -Styxfile *styxadddir(Styxserver *server, Path pqid, Path qid, char *name, int mode, char *owner); -int styxrmfile(Styxserver *server, Path qid); -Styxfile *styxfindfile(Styxserver *server, Path qid); - -int styxperm(Styxfile *file, char *uid, int mode); -long styxreadstr(ulong off, char *buf, ulong n, char *str); -Qid styxqid(int path, int isdir); -void *styxmalloc(int n); -void styxfree(void *p); -void styxdebug(void); |
