/************************************************************************/
/* Copyright 2003 MBARI													*/
/************************************************************************/
/* Summary	: Definitions for OASIS3 Driver Functions					*/
/* Filename : drvr.h													*/
/* Author	: Robert Herlien (rah)										*/
/* Project	: OASIS Mooring Replacement (OASIS3)						*/
/* Revision: 0.1														*/
/* Created	: 01/30/2003												*/
/*																			*/
/* MBARI provides this documentation and code "as is", with no warranty,	*/
/* express or implied, of its quality or consistency. It is provided without*/
/* support and without obligation on the part of the Monterey Bay Aquarium	*/
/* Research Institute to assist in its use, correction, modification, or	*/
/* enhancement. This information should not be published or distributed to	*/
/* third parties without specific written permission from MBARI.			*/
/*																			*/
/************************************************************************/
/* Modification History:												*/
/* 30jan2003 rah - created												*/
/************************************************************************/

#ifndef INCdrvrh
#define INCdrvrh		1


/****************************************/
/* Function Declarations				*/
/****************************************/

MBool	null_func(Void);
Errno	pwrBitOn(Nat32 pwrnum);
Errno	pwrBitOff(Nat32 pwrnum);
Void	drv_pwron(Driver *dp);
Void	drv_pwroff(Driver *dp);
Void	drv_ser_port(Driver *dp);
Void	drv_ser_release(Driver *dp);
Driver *drvr_find(char *name);
Driver *drvr_create(const DrvDesc *ddp);
Void	drvr_pwrup(Void);
Void	drvr_init(Void);
Nat32	drvr_sample(Void);
Void	drvr_exit(Driver *dp);
Void	drvLogError(Driver *dp, Errno err);
Void	drvLog(Driver *dp, Byte *samplep, Int16 len);
Void	drvLogWords(Driver *dp, Nat16 *samplep, Int16 wrds);
char	*drvSerPortAndMalloc(Driver *dp, Nat16 size);
Void	drvSerReleaseAndFree(Driver *dp, char *buffer);
Void	drvSync(char *name);
Void	drvr_timechange(Int32 diff);
Void	drvMidnightSync(Void);
Void	checkDrvrConflicts(Void);

#endif	/* INCdrvrh */
