home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 642a.lha / huffman_v1.0 / bits.h < prev    next >
Text File  |  1992-01-18  |  717b  |  28 lines

  1. /*
  2.  * bits.h - bit manipulation functions definition
  3.  *
  4.  * Bruno Costa & Lucia Darsa - 14 Sep 90 - 14 Sep 90
  5.  */
  6.  
  7.  
  8. typedef struct bitstream_ {    /* up to 128 bits long stream */
  9.   unsigned long data[4];
  10.   unsigned short int len;
  11. } bitstream;
  12.  
  13.  
  14. #define flushbits(file) putbit(EOF,file)
  15.  
  16. int lshiftn (bitstream *bits, int n, unsigned long int *carry);
  17. void rshiftn (bitstream *bits, int n);
  18. int lshift (bitstream *bits);
  19. void rshift (bitstream *bits);
  20. int putbit (int bit, FILE *f);
  21. int getbit (FILE *f, unsigned long int maxsize);
  22. int writebyte (int data, FILE *f);
  23. int readbyte (FILE *f);
  24. int writelong (unsigned long int data, FILE *f);
  25. unsigned long int readlong (FILE *f);
  26. int writebits (bitstream *bits, FILE *f);
  27.  
  28.