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

  1. /* bits.c */
  2. #define flushbits(file) putbit(EOF,file)
  3. int lshiftn (bitstream *bits, int n, unsigned long int *carry);
  4. void rshiftn (bitstream *bits, int n);
  5. int lshift (bitstream *bits);
  6. void rshift (bitstream *bits);
  7. unsigned long int putbit (int bit, FILE *f);
  8. int getbit (FILE *f);                           /* + */
  9. int writebyte (unsigned char data, FILE *f);
  10. int writelong (unsigned long int data, FILE *f);
  11. int writebits (bitstream *bits, FILE *f);
  12.  
  13. /* encoders.c */
  14. void rbuild (bitstream code, node *root, bitstream codes[]);
  15. void buildcodes (node *root, bitstream codes[]);
  16. unsigned long int huffman (long int frequency[], bitstream codes[]);
  17. node *buildtree (bitstream codes[]);    /* + */
  18. int matchbit (int bit);                 /* + */
  19.  
  20. /* huffman.c */
  21. int writeheader (FILE *out, unsigned long int size, bitstream code[]);
  22. int compress (FILE *in, FILE *out, bitstream code[]);
  23. unsigned long int getfreq (FILE *in, long int freq[]);
  24. int encode (FILE *in, FILE *out);
  25. int decode (FILE *in, FILE *out);
  26. void usage (void);
  27. void main ();
  28.  
  29.