EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
drvSup.h
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2009 UChicago Argonne LLC, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * SPDX-License-Identifier: EPICS
7 * EPICS BASE is distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
15 /*
16  * Author: Marty Kraimer
17  * Date: 6-1-90
18  */
19 
20 #ifndef INCdrvSuph
21 #define INCdrvSuph 1
22 
23 #include "errMdef.h"
24 
26 typedef struct typed_drvet {
28  long number;
30  long (*report)(int lvl);
32  long (*init)(void);
33  /* Any further functions are driver-specific */
34 } typed_drvet;
35 
36 #ifdef USE_TYPED_DRVET
37 
38 typedef typed_drvet drvet;
39 
40 #else
41 
42 /* These interfaces may eventually get deprecated */
43 
44 typedef long (*DRVSUPFUN) (); /* ptr to driver support function */
45 
46 typedef struct drvet { /* driver entry table */
47  long number; /* number of support routines */
48  DRVSUPFUN report; /* print report */
49  DRVSUPFUN init; /* init support */
50  /* Any further functions are driver-specific */
51 } drvet;
52 
53 #define DRVETNUMBER ( (sizeof(struct drvet) -sizeof(long))/sizeof(DRVSUPFUN) )
54 
55 #endif /* USE_TYPED_DRVET */
56 
57 #define S_drv_noDrvSup (M_drvSup| 1) /*SDR_DRVSUP: Driver support missing*/
58 #define S_drv_noDrvet (M_drvSup| 3) /*Missing driver support entry table*/
59 
60 #endif
Definition: drvSup.h:46
long number
Definition: drvSup.h:28
long(* init)(void)
Definition: drvSup.h:32
long(* report)(int lvl)
Definition: drvSup.h:30