Warning: Attempt to read property "date" on null in /usr/local/www/websvn.planix.org/blame.php on line 247

Warning: Attempt to read property "msg" on null in /usr/local/www/websvn.planix.org/blame.php on line 247
WebSVN – planix.SVN – Blame – /os/branches/feature_tlsv12/sys/src/cmd/usb/lib/usbfs.h – Rev 2

Subversion Repositories planix.SVN

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
typedef struct Usbfs Usbfs;
2
typedef struct Fid Fid;
3
 
4
enum
5
{
6
	Hdrsize	= 128,		/* plenty of room for headers */
7
	Msgsize	= 8216,		/* our preferred iounit (also devmnt's) */
8
	Bufsize	= Hdrsize + Msgsize,
9
	Namesz = 40,
10
	Errmax = 128,
11
	ONONE = ~0,		/* omode in Fid when not open */
12
};
13
 
14
struct Fid
15
{
16
	int	fid;
17
	Qid	qid;
18
	int	omode;
19
	Fid*	next;
20
	void*	aux;
21
};
22
 
23
struct Usbfs
24
{
25
	char	name[Namesz];
26
	uvlong	qid;
27
	Dev*	dev;
28
	void*	aux;
29
 
30
	int	(*walk)(Usbfs *fs, Fid *f, char *name);
31
	void	(*clone)(Usbfs *fs, Fid *of, Fid *nf);
32
	void	(*clunk)(Usbfs *fs, Fid *f);
33
	int	(*open)(Usbfs *fs, Fid *f, int mode);
34
	long	(*read)(Usbfs *fs, Fid *f, void *data, long count, vlong offset);
35
	long	(*write)(Usbfs *fs, Fid*f, void *data, long count, vlong offset);
36
	int	(*stat)(Usbfs *fs, Qid q, Dir *d);
37
	void	(*end)(Usbfs *fs);
38
};
39
 
40
typedef int (*Dirgen)(Usbfs*, Qid, int, Dir*, void*);
41
 
42
long	usbreadbuf(void *data, long count, vlong offset, void *buf, long n);
43
void	usbfsadd(Usbfs *dfs);
44
void	usbfsdel(Usbfs *dfs);
45
int	usbdirread(Usbfs*f, Qid q, char *data, long cnt, vlong off, Dirgen gen, void *arg);
46
void	usbfsinit(char* srv, char *mnt, Usbfs *f, int flag);
47
 
48
void	usbfsdirdump(void);
49
 
50
extern char Enotfound[];
51
extern char Etoosmall[];
52
extern char Eio[];
53
extern char Eperm[];
54
extern char Ebadcall[];
55
extern char Ebadfid[];
56
extern char Einuse[];
57
extern char Eisopen[];
58
extern char Ebadctl[];
59
 
60
extern Usbfs usbdirfs;
61
extern int usbfsdebug;