Blob


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