From 46f79934b79ef526ed42bbe5a565e6b5d884d24a Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 4 Jan 2005 21:22:40 +0000 Subject: lib9pclient is the new libfs --- src/lib9pclient/fsimpl.h | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/lib9pclient/fsimpl.h (limited to 'src/lib9pclient/fsimpl.h') diff --git a/src/lib9pclient/fsimpl.h b/src/lib9pclient/fsimpl.h new file mode 100644 index 00000000..9c5c5553 --- /dev/null +++ b/src/lib9pclient/fsimpl.h @@ -0,0 +1,47 @@ +/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology */ +/* See COPYRIGHT */ + +#include + +typedef struct Queue Queue; +Queue *_fsqalloc(void); +int _fsqsend(Queue*, void*); +void *_fsqrecv(Queue*); +void _fsqhangup(Queue*); +void *_fsnbqrecv(Queue*); + +#include +struct CFsys +{ + char version[20]; + int msize; + QLock lk; + int fd; + int ref; + Mux mux; + CFid *root; + Queue *txq; + Queue *rxq; + CFid *freefid; + int nextfid; + Ioproc *iorecv; + Ioproc *iosend; +}; + +struct CFid +{ + int fid; + int mode; + CFid *next; + QLock lk; + CFsys *fs; + Qid qid; + vlong offset; +}; + +void _fsdecref(CFsys*); +void _fsputfid(CFid*); +CFid *_fsgetfid(CFsys*); + +int _fsrpc(CFsys*, Fcall*, Fcall*, void**); +CFid *_fswalk(CFid*, char*); -- cgit v1.2.3