 
#ifndef __SCR_BIN_HDR
#define __SCR_BIN_HDR
 
/* Types */
 
/* Constants */
#define TAG_EOF 0
 
#define TAG_BEGINSECTION -11
#define TAG_ENDSECTION -12
#define TAG_COMMENT -14
 
/* Protos */
 
typedef struct SCR_tdst_File_Description_ SCR_tdst_File_Description;
typedef struct SCR_tdst_Cxt_Description_ SCR_tdst_Cxt_Description;
typedef enum SCR_tde_Cxt_ParseType_ SCR_tde_Cxt_ParseType;
typedef struct SCR_tdst_Cxt_Values_ SCR_tdst_Cxt_Values;
 
void fn_v_Bin_Line(
    SCR_tdst_File_Description   *_p_stFile,
    char                        *_p_szKeyword1,
    char                        *_p_szKeyword2,
    char                        *_p_szKeyword3,
    char                        *_p_szKeyword4,
    SCR_tde_Cxt_ParseType       *_p_eParseType,
    unsigned int                *_p_uiNbRead
);
 
void fn_v_Bin_Read( SCR_tdst_File_Description   *_File, int _Length, void *_Dest );
 
char SCR_fn_ch_Bin_GetCHAR( SCR_tdst_File_Description   *_File );
short SCR_fn_s_Bin_GetSHORT( SCR_tdst_File_Description   *_File );
long SCR_fn_l_Bin_GetLONG( SCR_tdst_File_Description   *_File );
unsigned char SCR_fn_uch_Bin_GetUCHAR( SCR_tdst_File_Description   *_File );
unsigned short SCR_fn_us_Bin_GetUSHORT( SCR_tdst_File_Description   *_File );
unsigned long SCR_fn_ul_Bin_GetULONG( SCR_tdst_File_Description   *_File );
float SCR_fn_f_Bin_GetFLOAT( SCR_tdst_File_Description   *_File );
double SCR_fn_d_Bin_GetDOUBLE( SCR_tdst_File_Description   *_File );
char * SCR_fn_sz_Bin_GetSTRING( SCR_tdst_File_Description   *_File );
int SCR_fn_sz_Bin_GetSTRING2Buffer( SCR_tdst_File_Description   *_File, char *sz );
void * SCR_fn_p_Bin_GetARRAY( SCR_tdst_File_Description   *_File, short sIze );
char *SCR_fn_sz_Bin_GetREFERENCE( SCR_tdst_File_Description   *_File );
void SCR_fn_sz_Bin_GetREFERENCE2Buffer( SCR_tdst_File_Description   *_File, char *sz );
 
long fn_l_Bin_AnalyseDirective(SCR_tdst_Cxt_Description *_p_stContext);
 
 
SCR_tdst_Cxt_Values *SCR_fnp_st_Bin_GetREFERENCE( char *szName );
void SCR_fn_v_Bin_BeginSection( SCR_tdst_File_Description   *_p_stFile );
void SCR_fn_v_Bin_EndSection( SCR_tdst_File_Description   *_p_stFile );
long fn_l_Bin_ToEndSection( SCR_tdst_Cxt_Description *p_stContext );
 
#endif
