EPICS Base  7.0.5.1
recGbl.h
1 /*************************************************************************\
2 * Copyright (c) 2012 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 \*************************************************************************/
10 /* recGbl.h */
11 /* Record Global
12  * Author: Marty Kraimer
13  * Date: 13Jun95
14  */
15 #ifndef INCrecGblh
16 #define INCrecGblh 1
17 
18 #include "epicsTypes.h"
19 #include "shareLib.h"
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 /*************************************************************************/
26 
27 /* Structures needed for args */
28 
29 struct link;
30 struct dbAddr;
31 struct dbr_alDouble;
32 struct dbr_ctrlDouble;
33 struct dbr_grDouble;
34 struct dbCommon;
35 
36 /* Hook Routine */
37 
38 typedef void (*RECGBL_ALARM_HOOK_ROUTINE)(struct dbCommon *prec,
39  epicsEnum16 prev_sevr, epicsEnum16 prev_stat);
40 epicsShareExtern RECGBL_ALARM_HOOK_ROUTINE recGblAlarmHook;
41 
42 /* Global Record Support Routines */
43 
44 epicsShareFunc void recGblDbaddrError(long status, const struct dbAddr *paddr,
45  const char *pcaller_name);
46 epicsShareFunc void recGblRecordError(long status, void *precord,
47  const char *pcaller_name);
48 epicsShareFunc void recGblRecSupError(long status, const struct dbAddr *paddr,
49  const char *pcaller_name, const char *psupport_name);
50 epicsShareFunc void recGblGetGraphicDouble(const struct dbAddr *paddr,
51  struct dbr_grDouble *pgd);
52 epicsShareFunc void recGblGetControlDouble(
53  const struct dbAddr *paddr, struct dbr_ctrlDouble *pcd);
54 epicsShareFunc void recGblGetAlarmDouble(const struct dbAddr *paddr,
55  struct dbr_alDouble *pad);
56 epicsShareFunc void recGblGetPrec(const struct dbAddr *paddr,
57  long *pprecision);
58 epicsShareFunc int recGblInitConstantLink(struct link *plink,
59  short dbftype, void *pdest);
60 epicsShareFunc unsigned short recGblResetAlarms(void *precord);
61 epicsShareFunc int recGblSetSevr(void *precord, epicsEnum16 new_stat,
62  epicsEnum16 new_sevr);
63 epicsShareFunc void recGblInheritSevr(int msMode, void *precord, epicsEnum16 stat,
64  epicsEnum16 sevr);
65 epicsShareFunc void recGblFwdLink(void *precord);
66 epicsShareFunc void recGblGetTimeStamp(void *precord);
67 epicsShareFunc void recGblGetTimeStampSimm(void *prec, const epicsEnum16 simm, struct link *siol);
68 epicsShareFunc void recGblCheckDeadband(epicsFloat64 *poldval, const epicsFloat64 newval,
69  const epicsFloat64 deadband, unsigned *monitor_mask, const unsigned add_mask);
70 epicsShareFunc void recGblSaveSimm(const epicsEnum16 sscn,
71  epicsEnum16 *poldsimm, const epicsEnum16 simm);
72 epicsShareFunc void recGblCheckSimm(struct dbCommon *prec, epicsEnum16 *psscn,
73  const epicsEnum16 oldsimm, const epicsEnum16 simm);
74 epicsShareFunc void recGblInitSimm(struct dbCommon *prec, epicsEnum16 *psscn,
75  epicsEnum16 *poldsimm, epicsEnum16 *psimm, struct link *psiml);
76 epicsShareFunc long recGblGetSimm(struct dbCommon *prec, epicsEnum16 *psscn,
77  epicsEnum16 *poldsimm, epicsEnum16 *psimm, struct link *psiml);
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 #endif /*INCrecGblh*/
The core data types used by epics.
Declaration of dbCommon.
Definition: dbCommon.h:18
Definition: dbAddr.h:17
epicsEnum16 sevr
Alarm Severity.
Definition: dbCommon.h:38
epicsEnum16 stat
Alarm Status.
Definition: dbCommon.h:37
Mark external symbols and entry points for shared libraries.