Blame


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