Blame


1 46f79934 2005-01-04 devnull /* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */
2 46f79934 2005-01-04 devnull /* See COPYRIGHT */
3 46f79934 2005-01-04 devnull
4 46f79934 2005-01-04 devnull #include <thread.h>
5 46f79934 2005-01-04 devnull
6 46f79934 2005-01-04 devnull typedef struct Queue Queue;
7 46f79934 2005-01-04 devnull Queue *_fsqalloc(void);
8 46f79934 2005-01-04 devnull int _fsqsend(Queue*, void*);
9 46f79934 2005-01-04 devnull void *_fsqrecv(Queue*);
10 46f79934 2005-01-04 devnull void _fsqhangup(Queue*);
11 46f79934 2005-01-04 devnull void *_fsnbqrecv(Queue*);
12 46f79934 2005-01-04 devnull
13 46f79934 2005-01-04 devnull #include <mux.h>
14 46f79934 2005-01-04 devnull struct CFsys
15 46f79934 2005-01-04 devnull {
16 46f79934 2005-01-04 devnull char version[20];
17 46f79934 2005-01-04 devnull int msize;
18 46f79934 2005-01-04 devnull QLock lk;
19 46f79934 2005-01-04 devnull int fd;
20 46f79934 2005-01-04 devnull int ref;
21 46f79934 2005-01-04 devnull Mux mux;
22 46f79934 2005-01-04 devnull CFid *root;
23 46f79934 2005-01-04 devnull Queue *txq;
24 46f79934 2005-01-04 devnull Queue *rxq;
25 46f79934 2005-01-04 devnull CFid *freefid;
26 46f79934 2005-01-04 devnull int nextfid;
27 46f79934 2005-01-04 devnull Ioproc *iorecv;
28 46f79934 2005-01-04 devnull Ioproc *iosend;
29 46f79934 2005-01-04 devnull };
30 46f79934 2005-01-04 devnull
31 46f79934 2005-01-04 devnull struct CFid
32 46f79934 2005-01-04 devnull {
33 46f79934 2005-01-04 devnull int fid;
34 46f79934 2005-01-04 devnull int mode;
35 46f79934 2005-01-04 devnull CFid *next;
36 46f79934 2005-01-04 devnull QLock lk;
37 46f79934 2005-01-04 devnull CFsys *fs;
38 46f79934 2005-01-04 devnull Qid qid;
39 46f79934 2005-01-04 devnull vlong offset;
40 46f79934 2005-01-04 devnull };
41 46f79934 2005-01-04 devnull
42 46f79934 2005-01-04 devnull void _fsdecref(CFsys*);
43 46f79934 2005-01-04 devnull void _fsputfid(CFid*);
44 46f79934 2005-01-04 devnull CFid *_fsgetfid(CFsys*);
45 46f79934 2005-01-04 devnull
46 46f79934 2005-01-04 devnull int _fsrpc(CFsys*, Fcall*, Fcall*, void**);
47 46f79934 2005-01-04 devnull CFid *_fswalk(CFid*, char*);