X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fbitio.h;h=ac5f7d4e7ec632f0108d36081ab05d0ae8b60c90;hb=dae2250691184ef6d638fc9d3c45b3c24299148b;hp=dbcd82ade167fe10cbb1717067c987dab48fd94d;hpb=7cecd180801fb48c42540fcdd77c3e75b528552c;p=swftools.git diff --git a/src/bitio.h b/src/bitio.h index dbcd82a..ac5f7d4 100644 --- a/src/bitio.h +++ b/src/bitio.h @@ -12,25 +12,13 @@ #include "types.h" -void resetbits(); -void reader_init(uchar*newdata, int newlength); -void skip(int length); -void input1(void*target); -void input2(void*target); -void input4(void*target); - -uchar*getinputpos(); -int getinputlength(); -void setinputpos(uchar*pos); - -u32 readbit(); -void readbits(u32*val,int num); -void readsbits(s32*val,int num); -u32 getbits(int num); -s32 getsbits(int num); -u8 readu8(); -u16 readu16(); -u32 readu32(); +struct reader_t { + u8* data; + int datalength; + int datapos; + u8 bitpos,mybyte; + u8 bitmem; +}; struct writer_t { u8* data; @@ -40,6 +28,24 @@ struct writer_t { u8 mybyte; }; +void reader_resetbits(struct reader_t*); +void reader_init(struct reader_t*,uchar*newdata, int newlength); +void reader_skip(struct reader_t*,int length); +void reader_input1(struct reader_t*, void*target); +void reader_input2(struct reader_t*, void*target); +void reader_input4(struct reader_t*, void*target); +uchar*reader_getinputpos(struct reader_t*); +int reader_getinputlength(struct reader_t*); +void reader_setinputpos(struct reader_t*,uchar*pos); +u32 reader_readbit(struct reader_t*); +void reader_readbits(struct reader_t*,u32*val,int num); +void reader_readsbits(struct reader_t*,s32*val,int num); +u32 reader_getbits(struct reader_t*,int num); +s32 reader_getsbits(struct reader_t*,int num); +u8 reader_readu8(struct reader_t*); +u16 reader_readu16(struct reader_t*); +u32 reader_readu32(struct reader_t*); + void writer_init(struct writer_t*w, u8*data, int maxlength); void writer_write(struct writer_t*w, void*data, int length); void* writer_getpos(struct writer_t*w);