?login_element?

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1. #ifndef MHMT_EMIT_H
  2. #define MHMT_EMIT_H
  3.  
  4. #include "mhmt-types.h"
  5. #include "mhmt-lz.h"
  6. #include "mhmt-optimal.h"
  7.  
  8.  
  9. #define EMIT_FILEBUF_SIZE 4096 /* file buffer */
  10.  
  11. #define EMIT_BYTEBUF_SIZE 256  /* !! MUST BE 2^N !! */
  12.  
  13.  
  14.  
  15.  
  16.  
  17. ULONG emit_megalz(struct optchain * optch, ULONG actual_len);
  18. ULONG emit_hrum  (struct optchain * optch, ULONG actual_len);
  19. ULONG emit_hrust (struct optchain * optch, ULONG actual_len);
  20. ULONG emit_zx7   (struct optchain * optch, ULONG actual_len);
  21.  
  22.  
  23.  
  24.  
  25. #define EMIT_FILE_INIT   (-1)
  26. #define EMIT_FILE_FINISH ( 0)
  27. // what should emit_file do: init channel, add bytes or finish (flush) channel to disk
  28. //
  29. ULONG emit_file(UBYTE * bytes, LONG length);
  30.  
  31.  
  32. #define EMIT_BITS_INIT   (-1)
  33. #define EMIT_BITS_FINISH ( 0)
  34. // length>0 or one of two special cases
  35. ULONG emit_bits(ULONG msb_aligned_bits, LONG length);
  36.  
  37. ULONG emit_bits_flush(ULONG bits);
  38.  
  39.  
  40. #define EMIT_BYTE_INIT  0
  41. #define EMIT_BYTE_FLUSH 1
  42. #define EMIT_BYTE_ADD   2
  43. //
  44. ULONG emit_byte(UBYTE byte, ULONG operation);
  45.  
  46.  
  47.  
  48.  
  49.  
  50. //ULONG emit_begin(void);
  51. //ULONG emit_end(void);
  52.  
  53.  
  54. #endif
  55.  
  56.