The private .h file for a device class is included by all device classes that are subclasses of it. It should contain :
/*static char RcsId[] = " $Header: AGPowerSupplyP.h.tex,v 1.1 93/04/05 18:16:00 goetz Exp $ ";*/
/*********************************************************************
File: AGPowerSupplyP.c
Project: Device Servers
Description: private include file for the class
of AG simulated powersupplies.
Author(s); Andy Goetz
Original: March 1991
$Log: AGPowerSupplyP.h.tex,v $
Revision 1.1 93/04/05 18:16:00 18:16:00 goetz (Andy Goetz)
Initial revision
Copyright (c) 1991 by European Synchrotron Radiation Facility,
Grenoble, France
*********************************************************************/
#ifndef _AGPOWERSUPPLYP_h
#define _AGPOWERSUPPLYP_h
/*
* as subclass of the powerSupplyClass include PowerSupplyClass private
* definitions
*/
#include <PowerSupplyP.h>
typedef struct _AGPowerSupplyClassPart {
int nada;
}
AGPowerSupplyClassPart;
typedef struct _AGPowerSupplyPart {
int nada;
}
AGPowerSupplyPart;
typedef struct _AGPowerSupplyClassRec {
DevServerClassPart devserver_class;
PowerSupplyClassPart powersupply_class;
AGPowerSupplyClassPart agpowersupply_class;
}
AGPowerSupplyClassRec;
extern AGPowerSupplyClassRec aGPowerSupplyClassRec;
typedef struct _AGPowerSupplyRec {
DevServerPart devserver;
PowerSupplyPart powersupply;
AGPowerSupplyPart agpowersupply;
}
AGPowerSupplyRec;
/*
* private constants to be used in the AGPowerSupplyClass
*/
#define AG_MAX_CUR 100.0
#define AG_MIN_CUR 0.0
#define AG_PER_ERROR 0.001
/* fault values */
#define AG_OVERTEMP 0x01
#define AG_NO_WATER 0x02
#define AG_CROWBAR 0x04
#define AG_RIPPLE 0x08
#define AG_MAINS 0x10
#define AG_LOAD 0x20
#define AG_TRANSFORMER 0x40
#define AG_THYRISTOR 0x80
#endif _AGPOWERSUPPLYP_h