#if !defined(__CMP_File_h__)
#define __CMP_File_h__
 
#define M_p_stOpenInput(x)   fopen((x),"rb")
#define M_p_stOpenOutput(x)  fopen((x),"wb")
#define M_vCloseInput(x)  fclose((x))
#define M_vCloseOutput(x) fclose((x))
 
typedef struct tdstBitFile_
{
 FILE *file;
 unsigned char mask;
 int rack;
 int pacifier_counter;
} tdstBitFile;
 
tdstBitFile *CMP_fn_p_stOpenInputBitFile( char *name );
tdstBitFile *CMP_fn_p_stOpenOutputBitFile( char *name );
void CMP_fn_vCloseInputBitFile( tdstBitFile *bit_file );
void CMP_fn_vCloseOutputBitFile( tdstBitFile *bit_file );
void CMP_fn_vOutputBit( tdstBitFile *bit_file , int bit );
void CMP_fn_vOutputBits( tdstBitFile *bit_file , unsigned long code , int count );
long CMP_fn_lInputBit( tdstBitFile *bit_file );
unsigned long CMP_fn_ulInputBits( tdstBitFile *bit_file , int bit_count );
 
#endif /* __CMP_File_h__ */
