7 #ifndef INC_permissiveRecord_H
8 #define INC_permissiveRecord_H
50 struct asgMember *
asp;
52 struct processNotifyRecord *
ppnr;
75 permissiveRecordNAME = 0,
76 permissiveRecordDESC = 1,
77 permissiveRecordASG = 2,
78 permissiveRecordSCAN = 3,
79 permissiveRecordPINI = 4,
80 permissiveRecordPHAS = 5,
81 permissiveRecordEVNT = 6,
82 permissiveRecordTSE = 7,
83 permissiveRecordTSEL = 8,
84 permissiveRecordDTYP = 9,
85 permissiveRecordDISV = 10,
86 permissiveRecordDISA = 11,
87 permissiveRecordSDIS = 12,
88 permissiveRecordMLOK = 13,
89 permissiveRecordMLIS = 14,
90 permissiveRecordBKLNK = 15,
91 permissiveRecordDISP = 16,
92 permissiveRecordPROC = 17,
93 permissiveRecordSTAT = 18,
94 permissiveRecordSEVR = 19,
95 permissiveRecordAMSG = 20,
96 permissiveRecordNSTA = 21,
97 permissiveRecordNSEV = 22,
98 permissiveRecordNAMSG = 23,
99 permissiveRecordACKS = 24,
100 permissiveRecordACKT = 25,
101 permissiveRecordDISS = 26,
102 permissiveRecordLCNT = 27,
103 permissiveRecordPACT = 28,
104 permissiveRecordPUTF = 29,
105 permissiveRecordRPRO = 30,
106 permissiveRecordASP = 31,
107 permissiveRecordPPN = 32,
108 permissiveRecordPPNR = 33,
109 permissiveRecordSPVT = 34,
110 permissiveRecordRSET = 35,
111 permissiveRecordDSET = 36,
112 permissiveRecordDPVT = 37,
113 permissiveRecordRDES = 38,
114 permissiveRecordLSET = 39,
115 permissiveRecordPRIO = 40,
116 permissiveRecordTPRO = 41,
117 permissiveRecordBKPT = 42,
118 permissiveRecordUDF = 43,
119 permissiveRecordUDFS = 44,
120 permissiveRecordTIME = 45,
121 permissiveRecordUTAG = 46,
122 permissiveRecordFLNK = 47,
123 permissiveRecordVAL = 48,
124 permissiveRecordWFLG = 49,
125 permissiveRecordLABL = 50,
126 permissiveRecordOVAL = 51,
127 permissiveRecordOFLG = 52
128 } permissiveFieldIndex;
130 #ifdef GEN_SIZE_OFFSET
137 static int permissiveRecordSizeOffset(
dbRecordType *prt)
141 if (prt->no_fields != 53) {
143 " The permissiveRecord defined in the DBD file has %d fields,\n"
144 " but the record support code was built with 53.\n",
147 prt->papFldDes[permissiveRecordNAME]->size =
sizeof(prec->
name);
148 prt->papFldDes[permissiveRecordNAME]->offset = (
unsigned short)((
char *)&prec->
name - (
char *)prec);
149 prt->papFldDes[permissiveRecordDESC]->size =
sizeof(prec->
desc);
150 prt->papFldDes[permissiveRecordDESC]->offset = (
unsigned short)((
char *)&prec->
desc - (
char *)prec);
151 prt->papFldDes[permissiveRecordASG]->size =
sizeof(prec->
asg);
152 prt->papFldDes[permissiveRecordASG]->offset = (
unsigned short)((
char *)&prec->
asg - (
char *)prec);
153 prt->papFldDes[permissiveRecordSCAN]->size =
sizeof(prec->
scan);
154 prt->papFldDes[permissiveRecordSCAN]->offset = (
unsigned short)((
char *)&prec->
scan - (
char *)prec);
155 prt->papFldDes[permissiveRecordPINI]->size =
sizeof(prec->
pini);
156 prt->papFldDes[permissiveRecordPINI]->offset = (
unsigned short)((
char *)&prec->
pini - (
char *)prec);
157 prt->papFldDes[permissiveRecordPHAS]->size =
sizeof(prec->
phas);
158 prt->papFldDes[permissiveRecordPHAS]->offset = (
unsigned short)((
char *)&prec->
phas - (
char *)prec);
159 prt->papFldDes[permissiveRecordEVNT]->size =
sizeof(prec->
evnt);
160 prt->papFldDes[permissiveRecordEVNT]->offset = (
unsigned short)((
char *)&prec->
evnt - (
char *)prec);
161 prt->papFldDes[permissiveRecordTSE]->size =
sizeof(prec->
tse);
162 prt->papFldDes[permissiveRecordTSE]->offset = (
unsigned short)((
char *)&prec->
tse - (
char *)prec);
163 prt->papFldDes[permissiveRecordTSEL]->size =
sizeof(prec->
tsel);
164 prt->papFldDes[permissiveRecordTSEL]->offset = (
unsigned short)((
char *)&prec->
tsel - (
char *)prec);
165 prt->papFldDes[permissiveRecordDTYP]->size =
sizeof(prec->
dtyp);
166 prt->papFldDes[permissiveRecordDTYP]->offset = (
unsigned short)((
char *)&prec->
dtyp - (
char *)prec);
167 prt->papFldDes[permissiveRecordDISV]->size =
sizeof(prec->
disv);
168 prt->papFldDes[permissiveRecordDISV]->offset = (
unsigned short)((
char *)&prec->
disv - (
char *)prec);
169 prt->papFldDes[permissiveRecordDISA]->size =
sizeof(prec->
disa);
170 prt->papFldDes[permissiveRecordDISA]->offset = (
unsigned short)((
char *)&prec->
disa - (
char *)prec);
171 prt->papFldDes[permissiveRecordSDIS]->size =
sizeof(prec->
sdis);
172 prt->papFldDes[permissiveRecordSDIS]->offset = (
unsigned short)((
char *)&prec->
sdis - (
char *)prec);
173 prt->papFldDes[permissiveRecordMLOK]->size =
sizeof(prec->
mlok);
174 prt->papFldDes[permissiveRecordMLOK]->offset = (
unsigned short)((
char *)&prec->
mlok - (
char *)prec);
175 prt->papFldDes[permissiveRecordMLIS]->size =
sizeof(prec->
mlis);
176 prt->papFldDes[permissiveRecordMLIS]->offset = (
unsigned short)((
char *)&prec->
mlis - (
char *)prec);
177 prt->papFldDes[permissiveRecordBKLNK]->size =
sizeof(prec->
bklnk);
178 prt->papFldDes[permissiveRecordBKLNK]->offset = (
unsigned short)((
char *)&prec->
bklnk - (
char *)prec);
179 prt->papFldDes[permissiveRecordDISP]->size =
sizeof(prec->
disp);
180 prt->papFldDes[permissiveRecordDISP]->offset = (
unsigned short)((
char *)&prec->
disp - (
char *)prec);
181 prt->papFldDes[permissiveRecordPROC]->size =
sizeof(prec->
proc);
182 prt->papFldDes[permissiveRecordPROC]->offset = (
unsigned short)((
char *)&prec->
proc - (
char *)prec);
183 prt->papFldDes[permissiveRecordSTAT]->size =
sizeof(prec->
stat);
184 prt->papFldDes[permissiveRecordSTAT]->offset = (
unsigned short)((
char *)&prec->
stat - (
char *)prec);
185 prt->papFldDes[permissiveRecordSEVR]->size =
sizeof(prec->
sevr);
186 prt->papFldDes[permissiveRecordSEVR]->offset = (
unsigned short)((
char *)&prec->
sevr - (
char *)prec);
187 prt->papFldDes[permissiveRecordAMSG]->size =
sizeof(prec->
amsg);
188 prt->papFldDes[permissiveRecordAMSG]->offset = (
unsigned short)((
char *)&prec->
amsg - (
char *)prec);
189 prt->papFldDes[permissiveRecordNSTA]->size =
sizeof(prec->
nsta);
190 prt->papFldDes[permissiveRecordNSTA]->offset = (
unsigned short)((
char *)&prec->
nsta - (
char *)prec);
191 prt->papFldDes[permissiveRecordNSEV]->size =
sizeof(prec->
nsev);
192 prt->papFldDes[permissiveRecordNSEV]->offset = (
unsigned short)((
char *)&prec->
nsev - (
char *)prec);
193 prt->papFldDes[permissiveRecordNAMSG]->size =
sizeof(prec->
namsg);
194 prt->papFldDes[permissiveRecordNAMSG]->offset = (
unsigned short)((
char *)&prec->
namsg - (
char *)prec);
195 prt->papFldDes[permissiveRecordACKS]->size =
sizeof(prec->
acks);
196 prt->papFldDes[permissiveRecordACKS]->offset = (
unsigned short)((
char *)&prec->
acks - (
char *)prec);
197 prt->papFldDes[permissiveRecordACKT]->size =
sizeof(prec->
ackt);
198 prt->papFldDes[permissiveRecordACKT]->offset = (
unsigned short)((
char *)&prec->
ackt - (
char *)prec);
199 prt->papFldDes[permissiveRecordDISS]->size =
sizeof(prec->
diss);
200 prt->papFldDes[permissiveRecordDISS]->offset = (
unsigned short)((
char *)&prec->
diss - (
char *)prec);
201 prt->papFldDes[permissiveRecordLCNT]->size =
sizeof(prec->
lcnt);
202 prt->papFldDes[permissiveRecordLCNT]->offset = (
unsigned short)((
char *)&prec->
lcnt - (
char *)prec);
203 prt->papFldDes[permissiveRecordPACT]->size =
sizeof(prec->
pact);
204 prt->papFldDes[permissiveRecordPACT]->offset = (
unsigned short)((
char *)&prec->
pact - (
char *)prec);
205 prt->papFldDes[permissiveRecordPUTF]->size =
sizeof(prec->
putf);
206 prt->papFldDes[permissiveRecordPUTF]->offset = (
unsigned short)((
char *)&prec->
putf - (
char *)prec);
207 prt->papFldDes[permissiveRecordRPRO]->size =
sizeof(prec->
rpro);
208 prt->papFldDes[permissiveRecordRPRO]->offset = (
unsigned short)((
char *)&prec->
rpro - (
char *)prec);
209 prt->papFldDes[permissiveRecordASP]->size =
sizeof(prec->
asp);
210 prt->papFldDes[permissiveRecordASP]->offset = (
unsigned short)((
char *)&prec->
asp - (
char *)prec);
211 prt->papFldDes[permissiveRecordPPN]->size =
sizeof(prec->
ppn);
212 prt->papFldDes[permissiveRecordPPN]->offset = (
unsigned short)((
char *)&prec->
ppn - (
char *)prec);
213 prt->papFldDes[permissiveRecordPPNR]->size =
sizeof(prec->
ppnr);
214 prt->papFldDes[permissiveRecordPPNR]->offset = (
unsigned short)((
char *)&prec->
ppnr - (
char *)prec);
215 prt->papFldDes[permissiveRecordSPVT]->size =
sizeof(prec->
spvt);
216 prt->papFldDes[permissiveRecordSPVT]->offset = (
unsigned short)((
char *)&prec->
spvt - (
char *)prec);
217 prt->papFldDes[permissiveRecordRSET]->size =
sizeof(prec->
rset);
218 prt->papFldDes[permissiveRecordRSET]->offset = (
unsigned short)((
char *)&prec->
rset - (
char *)prec);
219 prt->papFldDes[permissiveRecordDSET]->size =
sizeof(prec->
dset);
220 prt->papFldDes[permissiveRecordDSET]->offset = (
unsigned short)((
char *)&prec->
dset - (
char *)prec);
221 prt->papFldDes[permissiveRecordDPVT]->size =
sizeof(prec->
dpvt);
222 prt->papFldDes[permissiveRecordDPVT]->offset = (
unsigned short)((
char *)&prec->
dpvt - (
char *)prec);
223 prt->papFldDes[permissiveRecordRDES]->size =
sizeof(prec->
rdes);
224 prt->papFldDes[permissiveRecordRDES]->offset = (
unsigned short)((
char *)&prec->
rdes - (
char *)prec);
225 prt->papFldDes[permissiveRecordLSET]->size =
sizeof(prec->
lset);
226 prt->papFldDes[permissiveRecordLSET]->offset = (
unsigned short)((
char *)&prec->
lset - (
char *)prec);
227 prt->papFldDes[permissiveRecordPRIO]->size =
sizeof(prec->
prio);
228 prt->papFldDes[permissiveRecordPRIO]->offset = (
unsigned short)((
char *)&prec->
prio - (
char *)prec);
229 prt->papFldDes[permissiveRecordTPRO]->size =
sizeof(prec->
tpro);
230 prt->papFldDes[permissiveRecordTPRO]->offset = (
unsigned short)((
char *)&prec->
tpro - (
char *)prec);
231 prt->papFldDes[permissiveRecordBKPT]->size =
sizeof(prec->
bkpt);
232 prt->papFldDes[permissiveRecordBKPT]->offset = (
unsigned short)((
char *)&prec->
bkpt - (
char *)prec);
233 prt->papFldDes[permissiveRecordUDF]->size =
sizeof(prec->
udf);
234 prt->papFldDes[permissiveRecordUDF]->offset = (
unsigned short)((
char *)&prec->
udf - (
char *)prec);
235 prt->papFldDes[permissiveRecordUDFS]->size =
sizeof(prec->
udfs);
236 prt->papFldDes[permissiveRecordUDFS]->offset = (
unsigned short)((
char *)&prec->
udfs - (
char *)prec);
237 prt->papFldDes[permissiveRecordTIME]->size =
sizeof(prec->
time);
238 prt->papFldDes[permissiveRecordTIME]->offset = (
unsigned short)((
char *)&prec->
time - (
char *)prec);
239 prt->papFldDes[permissiveRecordUTAG]->size =
sizeof(prec->
utag);
240 prt->papFldDes[permissiveRecordUTAG]->offset = (
unsigned short)((
char *)&prec->
utag - (
char *)prec);
241 prt->papFldDes[permissiveRecordFLNK]->size =
sizeof(prec->
flnk);
242 prt->papFldDes[permissiveRecordFLNK]->offset = (
unsigned short)((
char *)&prec->
flnk - (
char *)prec);
243 prt->papFldDes[permissiveRecordVAL]->size =
sizeof(prec->
val);
244 prt->papFldDes[permissiveRecordVAL]->offset = (
unsigned short)((
char *)&prec->
val - (
char *)prec);
245 prt->papFldDes[permissiveRecordWFLG]->size =
sizeof(prec->
wflg);
246 prt->papFldDes[permissiveRecordWFLG]->offset = (
unsigned short)((
char *)&prec->
wflg - (
char *)prec);
247 prt->papFldDes[permissiveRecordLABL]->size =
sizeof(prec->
labl);
248 prt->papFldDes[permissiveRecordLABL]->offset = (
unsigned short)((
char *)&prec->
labl - (
char *)prec);
249 prt->papFldDes[permissiveRecordOVAL]->size =
sizeof(prec->
oval);
250 prt->papFldDes[permissiveRecordOVAL]->offset = (
unsigned short)((
char *)&prec->
oval - (
char *)prec);
251 prt->papFldDes[permissiveRecordOFLG]->size =
sizeof(prec->
oflg);
252 prt->papFldDes[permissiveRecordOFLG]->offset = (
unsigned short)((
char *)&prec->
oflg - (
char *)prec);
253 prt->rec_size =
sizeof(*prec);
struct processNotifyRecord * ppnr
pprocessNotifyRecord
struct dbRecordType * rdes
Address of dbRecordType.
char name[61]
Record Name.
ELLLIST mlis
Monitor List.
char amsg[40]
Alarm Message.
epicsUInt8 rpro
Reprocess.
struct scan_element * spvt
Scan Private.
epicsEnum16 nsta
New Alarm Status.
epicsEnum16 prio
Scheduling Priority.
ELLLIST bklnk
Backwards link tracking.
struct typed_rset * rset
Address of RSET.
LIBCOM_API void cantProceed(const char *errorMessage,...) EPICS_PRINTF_STYLE(1
Suspend this thread, the caller cannot continue or return.
The core data types used by epics.
epicsEnum16 pini
Process at iocInit.
epicsInt16 phas
Scan Phase.
epicsUInt8 putf
dbPutField process
epicsUInt16 oflg
Old Flag.
epicsEnum16 stat
Alarm Status.
epicsMutexId mlok
Monitor lock.
Declaration of permissive record type.
Routines for code that can't continue or return after an error.
epicsUInt8 proc
Force Processing.
char namsg[40]
New Alarm Message.
epicsEnum16 acks
Alarm Ack Severity.
epicsUInt8 bkpt
Break Point.
char asg[29]
Access Security Group.
epicsUInt16 oval
Old Status.
EPICS time stamp, for use from C code.
A doubly-linked list library.
epicsEnum16 nsev
New Alarm Severity.
epicsEnum16 dtyp
Device Type.
epicsUInt8 disp
Disable putField.
epicsInt16 tse
Time Stamp Event.
epicsUInt8 lcnt
Lock Count.
void * dpvt
Device Private.
epicsUInt64 utag
Time Tag.
epicsEnum16 diss
Disable Alarm Sevrty.
APIs for the epicsMutex mutual exclusion semaphore.
epicsUInt8 tpro
Trace Processing.
epicsUInt16 wflg
Wait Flag.
DBLINK sdis
Scanning Disable.
epicsEnum16 udfs
Undefined Alarm Sevrty.
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
struct asgMember * asp
Access Security Pvt.
struct lockRecord * lset
Lock Set.
unambiguous_dset * dset
DSET address.
epicsInt16 disv
Disable Value.
epicsEnum16 ackt
Alarm Ack Transient.
epicsEnum16 sevr
Alarm Severity.
struct processNotify * ppn
pprocessNotify
DBLINK tsel
Time Stamp Link.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
DBLINK flnk
Forward Process Link.
char labl[20]
Button Label.
epicsUInt8 pact
Record active.
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.
epicsEnum16 scan
Scan Mechanism.