/************************************************************************/
/* Copyright 1994 MBARI-IFREMER						*/
/************************************************************************/

/************************************************************************
 * Summary  :	Description of fields and constants needed by Config 	
 * Filename :	Config.h
 * Author   :	sylvain.coudray	MBARI-IFREMER/diti/dsi/ie
 * Project  :	Tiburon-Rov6000
 * $Revision: 1.1 $
 * Created  :		
 ************************************************************************
 * Notes and Modification History:
 * $Log:	Config.h,v $
 * Revision 1.1  94/11/16  16:24:38  16:24:38  scoudray (Sylvain Coudray)
 * Initial revision
 * 
 ************************************************************************/

#ifndef INCConfigh	/* to avoid multiple definitions */
#define INCConfigh 1

/*************
 * Definitions
 *************/

#define	NVECM	20	/* max number of vectors */
#define	NECHM	50	/* max number of samples */
#define	LENTM	50	/* max number of header values */

/************* 
 * Structure
 *************/

typedef struct 
{
	OV_char		*name;
	OV_int		header_length;
	OV_int		nb_item;
	OV_int		nb_alarms;
	OV_int		nb_curve;
	OV_int		nb_conditions;
	OV_float	refresh_period;
	FILE		*fd_file;
} OV_Config;

						/* function prototypes        */
#if __STDC__
OV_Config *Config_New(OV_char *name);
void	  Config_Delete(OV_Config *p_config);
void	  Config_Initialize(OV_Config *p_config);
void	  Config_OpenFile(OV_Config *p_config);
void	  Config_ReadHeader(OV_Config *p_config);
void	  Config_ReadColumn(OV_Config *p_config, OV_int column);
void	  Config_ReadLine(OV_Config *p_config, OV_int matrix, OV_int line,
		          OV_float rvalt[], OV_char *zstrt[]);
void	  Config_LoadFile(OV_Config *p_config);
#endif

#endif /* INCConfigh to avoid multiple definitions */
