00001 #ifndef KATE_kate_bitwise_h_GUARD
00002 #define KATE_kate_bitwise_h_GUARD
00003
00004 #include "kate_internal.h"
00005 #include "kate/kate.h"
00006
00007 typedef struct {
00008 long endbyte;
00009 int endbit;
00010
00011 unsigned char *buffer;
00012 unsigned char *ptr;
00013 long storage;
00014 } kate_pack_buffer;
00015
00016 void kate_pack_writeinit(kate_pack_buffer *b) kate_internal;
00017 void kate_pack_writetrunc(kate_pack_buffer *b,long bits) kate_internal;
00018 void kate_pack_write(kate_pack_buffer *b,unsigned long value,int bits) kate_internal;
00019 void kate_pack_writealign(kate_pack_buffer *b) kate_internal;
00020 void kate_pack_writecopy(kate_pack_buffer *b,void *source,long bits) kate_internal;
00021 void kate_pack_reset(kate_pack_buffer *b) kate_internal;
00022 void kate_pack_writeclear(kate_pack_buffer *b) kate_internal;
00023 void kate_pack_readinit(kate_pack_buffer *b,unsigned char *buf,int bytes) kate_internal;
00024 long kate_pack_look(kate_pack_buffer *b,int bits) kate_internal;
00025 long kate_pack_look1(kate_pack_buffer *b) kate_internal;
00026 void kate_pack_adv(kate_pack_buffer *b,int bits) kate_internal;
00027 void kate_pack_adv1(kate_pack_buffer *b) kate_internal;
00028 long kate_pack_read(kate_pack_buffer *b,int bits) kate_internal;
00029 long kate_pack_read1(kate_pack_buffer *b) kate_internal;
00030 long kate_pack_bytes(kate_pack_buffer *b) kate_internal;
00031 long kate_pack_bits(kate_pack_buffer *b) kate_internal;
00032 unsigned char *kate_pack_get_buffer(kate_pack_buffer *b) kate_internal;
00033
00034 long kate_pack_readable_bits(kate_pack_buffer *b) kate_internal;
00035
00036 #endif