- #ifndef MHMT_EMIT_H 
- #define MHMT_EMIT_H 
-   
- #include "mhmt-types.h" 
- #include "mhmt-lz.h" 
- #include "mhmt-optimal.h" 
-   
-   
- #define EMIT_FILEBUF_SIZE 4096 /* file buffer */ 
-   
- #define EMIT_BYTEBUF_SIZE 256  /* !! MUST BE 2^N !! */ 
-   
-   
-   
-   
-   
- ULONG emit_megalz(struct optchain * optch, ULONG actual_len); 
- ULONG emit_hrum  (struct optchain * optch, ULONG actual_len); 
- ULONG emit_hrust (struct optchain * optch, ULONG actual_len); 
- ULONG emit_zx7   (struct optchain * optch, ULONG actual_len); 
-   
-   
-   
-   
- #define EMIT_FILE_INIT   (-1) 
- #define EMIT_FILE_FINISH ( 0) 
- // what should emit_file do: init channel, add bytes or finish (flush) channel to disk 
- // 
- ULONG emit_file(UBYTE * bytes, LONG length); 
-   
-   
- #define EMIT_BITS_INIT   (-1) 
- #define EMIT_BITS_FINISH ( 0) 
- // length>0 or one of two special cases 
- ULONG emit_bits(ULONG msb_aligned_bits, LONG length); 
-   
- ULONG emit_bits_flush(ULONG bits); 
-   
-   
- #define EMIT_BYTE_INIT  0 
- #define EMIT_BYTE_FLUSH 1 
- #define EMIT_BYTE_ADD   2 
- // 
- ULONG emit_byte(UBYTE byte, ULONG operation); 
-   
-   
-   
-   
-   
- //ULONG emit_begin(void); 
- //ULONG emit_end(void); 
-   
-   
- #endif 
-   
-