00001
00005
00006 #ifndef RLE_H
00007 #define RLE_H
00008
00009 #include "substdio.h"
00010
00011 void frleputc(unsigned char c, FILE *fout);
00012 unsigned char rlegetc(void);
00013
00014 unsigned long checksum_bytes(void *data, unsigned int length);
00015 int frleverify(FILE *f);
00016 void frleinit_read(FILE *f);
00017 void frleinit_write(FILE *f, void (*outfunc)(unsigned char c, FILE *f));
00018 void frleinit_write_nochecksum(void (*outfunc)(unsigned char c, FILE *f));
00019
00020 void frleinit(void);
00021 void frleflush(FILE *fout);
00022 void frlewrite(void *data, size_t s, size_t n, FILE *f);
00023 void frleread(void *data, size_t s, size_t n, FILE *f);
00024 void frlefinalize(FILE *f);
00025
00026
00027 typedef enum
00028 {
00029 rle_file,
00030 rle_huffman,
00031 rle_pointer
00032 } rle_source_type;
00033
00034 void rle_set_source(rle_source_type t, const void *s);
00035
00036
00037 void panic(const char *fmt, ...);
00038
00039 #endif