diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/liboventi/packet.h |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/liboventi/packet.h')
-rwxr-xr-x | sys/src/liboventi/packet.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/sys/src/liboventi/packet.h b/sys/src/liboventi/packet.h new file mode 100755 index 000000000..55b8eabf6 --- /dev/null +++ b/sys/src/liboventi/packet.h @@ -0,0 +1,56 @@ +typedef struct Packet Packet; +typedef struct Mem Mem; +typedef struct Frag Frag; + +enum { + BigMemSize = MaxFragSize, + SmallMemSize = BigMemSize/8, + NLocalFrag = 2, +}; + +/* position to carve out of a Mem */ +enum { + PFront, + PMiddle, + PEnd, +}; + +struct Mem +{ + Lock lk; + int ref; + uchar *bp; + uchar *ep; + uchar *rp; + uchar *wp; + Mem *next; +}; + +enum { + FragLocalFree, + FragLocalAlloc, + FragGlobal, +}; + +struct Frag +{ + int state; + Mem *mem; + uchar *rp; + uchar *wp; + Frag *next; +}; + +struct Packet +{ + int size; + int asize; /* allocated memmory - always greater than size */ + + Packet *next; + + Frag *first; + Frag *last; + + Frag local[NLocalFrag]; +}; + |