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