48 lines · 739 B · C
RawDownload
/* Copyright (C) 2003 Russ Cox, Massachusetts Institute of Technology *//* See COPYRIGHT */ #include <thread.h> typedef struct Queue Queue;Queue *_fsqalloc(void);int _fsqsend(Queue*, void*);void *_fsqrecv(Queue*);void _fsqhangup(Queue*);void *_fsnbqrecv(Queue*); #include <mux.h>struct CFsys{	char version[20];	int dotu;	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*);