/*->h.g3dec */


#define WHITE 1
#define BLACK 0

#define EOL_CODE     -1
#define INVALID_CODE -2

extern int        g3finished;
extern getfn      g3getbyte;

extern int        g3bit_number;
extern int        g3code_byte;

extern buffer   * g3bitbuf;
extern os_error * g3bitep;

extern int        g3i_newrow(void);
extern int        g3bit_refill(void);


extern os_error * g3i_decode(int fh,int length,int xpix,int ypix,int bitrev);
extern os_error * g3i_decode_T(int fh,int length,int xpix,int ypix,int bitrev);
extern void       g3i_initialize(int image_width,int image_length,
                                                     getfn getf,int bitrev);

extern os_error * g3i_getline(codestr * cx,int * eof);
extern os_error * g3i_getlineT(codestr * cx,int * eof);


extern os_error * decode_white_run(int * runlength);
extern os_error * decode_black_run(int * runlength);

