6 #include <exec/types.h>
12 // Generic BitPack stuff:
14 void bitpack_init (BitPack_buffer
*b
, void *ptr
, LONG size
) {
21 const ULONG bp_mask
[33]={
22 0x00000000, 0x00000001, 0x00000003, 0x00000007,
23 0x0000000f, 0x0000001f, 0x0000003f, 0x0000007f,
24 0x000000ff, 0x000001ff, 0x000003ff, 0x000007ff,
25 0x00000fff, 0x00001fff, 0x00003fff, 0x00007fff,
26 0x0000ffff, 0x0001ffff, 0x0003ffff, 0x0007ffff,
27 0x000fffff, 0x001fffff, 0x003fffff, 0x007fffff,
28 0x00ffffff, 0x01ffffff, 0x03ffffff, 0x07ffffff,
29 0x0fffffff, 0x1fffffff, 0x3fffffff, 0x7fffffff,
33 LONG
bitpack_seek (BitPack_buffer
*b
, LONG offs
, LONG type
) {
35 oldoffset
=(b
->endbyte
<<3)+b
->endbit
;
52 b
->ptr
=b
->buffer
+b
->endbyte
;
57 void * bitpack_align (BitPack_buffer
*b
) {
66 void * bitpack_align_even (BitPack_buffer
*b
) {