next up previous contents
Next: Public (.h) include Up: Objects In C Previous: Naming convention

Private (P.h) include files

The private .h file for a device class is included by all device classes that are subclasses of it. It should contain :

Here is an example private include file AGPowerSupplyP.h -

/*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



Andy Goetz
Tue Jan 28 13:58:13 MET 1997