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_fixcpp/sys/src/liboventi/packet.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 Packet Packet;
2
typedef struct Mem Mem;
3
typedef struct Frag Frag;
4
 
5
enum {
6
	BigMemSize = MaxFragSize,
7
	SmallMemSize = BigMemSize/8,
8
	NLocalFrag = 2,
9
};
10
 
11
/* position to carve out of a Mem */
12
enum {
13
	PFront,
14
	PMiddle,
15
	PEnd,
16
};
17
 
18
struct Mem
19
{
20
	Lock lk;
21
	int ref;
22
	uchar *bp;
23
	uchar *ep;
24
	uchar *rp;
25
	uchar *wp;
26
	Mem *next;
27
};
28
 
29
enum {
30
	FragLocalFree,
31
	FragLocalAlloc,
32
	FragGlobal,
33
};
34
 
35
struct Frag
36
{
37
	int state;
38
	Mem *mem;
39
	uchar *rp;
40
	uchar *wp;
41
	Frag *next;
42
};
43
 
44
struct Packet
45
{
46
	int size;
47
	int asize;  /* allocated memmory - always greater than size */
48
 
49
	Packet *next;
50
 
51
	Frag *first;
52
	Frag *last;
53
 
54
	Frag local[NLocalFrag];
55
};
56