7 #ifndef INC_fanoutRecord_H
8 #define INC_fanoutRecord_H
17 #ifndef fanoutSELM_NUM_CHOICES
25 #define fanoutSELM_NUM_CHOICES 3
61 struct asgMember *
asp;
63 struct processNotifyRecord *
ppnr;
103 fanoutRecordNAME = 0,
104 fanoutRecordDESC = 1,
106 fanoutRecordSCAN = 3,
107 fanoutRecordPINI = 4,
108 fanoutRecordPHAS = 5,
109 fanoutRecordEVNT = 6,
111 fanoutRecordTSEL = 8,
112 fanoutRecordDTYP = 9,
113 fanoutRecordDISV = 10,
114 fanoutRecordDISA = 11,
115 fanoutRecordSDIS = 12,
116 fanoutRecordMLOK = 13,
117 fanoutRecordMLIS = 14,
118 fanoutRecordBKLNK = 15,
119 fanoutRecordDISP = 16,
120 fanoutRecordPROC = 17,
121 fanoutRecordSTAT = 18,
122 fanoutRecordSEVR = 19,
123 fanoutRecordAMSG = 20,
124 fanoutRecordNSTA = 21,
125 fanoutRecordNSEV = 22,
126 fanoutRecordNAMSG = 23,
127 fanoutRecordACKS = 24,
128 fanoutRecordACKT = 25,
129 fanoutRecordDISS = 26,
130 fanoutRecordLCNT = 27,
131 fanoutRecordPACT = 28,
132 fanoutRecordPUTF = 29,
133 fanoutRecordRPRO = 30,
134 fanoutRecordASP = 31,
135 fanoutRecordPPN = 32,
136 fanoutRecordPPNR = 33,
137 fanoutRecordSPVT = 34,
138 fanoutRecordRSET = 35,
139 fanoutRecordDSET = 36,
140 fanoutRecordDPVT = 37,
141 fanoutRecordRDES = 38,
142 fanoutRecordLSET = 39,
143 fanoutRecordPRIO = 40,
144 fanoutRecordTPRO = 41,
145 fanoutRecordBKPT = 42,
146 fanoutRecordUDF = 43,
147 fanoutRecordUDFS = 44,
148 fanoutRecordTIME = 45,
149 fanoutRecordUTAG = 46,
150 fanoutRecordFLNK = 47,
151 fanoutRecordVAL = 48,
152 fanoutRecordSELM = 49,
153 fanoutRecordSELN = 50,
154 fanoutRecordSELL = 51,
155 fanoutRecordOFFS = 52,
156 fanoutRecordSHFT = 53,
157 fanoutRecordLNK0 = 54,
158 fanoutRecordLNK1 = 55,
159 fanoutRecordLNK2 = 56,
160 fanoutRecordLNK3 = 57,
161 fanoutRecordLNK4 = 58,
162 fanoutRecordLNK5 = 59,
163 fanoutRecordLNK6 = 60,
164 fanoutRecordLNK7 = 61,
165 fanoutRecordLNK8 = 62,
166 fanoutRecordLNK9 = 63,
167 fanoutRecordLNKA = 64,
168 fanoutRecordLNKB = 65,
169 fanoutRecordLNKC = 66,
170 fanoutRecordLNKD = 67,
171 fanoutRecordLNKE = 68,
172 fanoutRecordLNKF = 69
175 #ifdef GEN_SIZE_OFFSET
186 if (prt->no_fields != 70) {
188 " The fanoutRecord defined in the DBD file has %d fields,\n"
189 " but the record support code was built with 70.\n",
192 prt->papFldDes[fanoutRecordNAME]->size =
sizeof(prec->
name);
193 prt->papFldDes[fanoutRecordNAME]->offset = (
unsigned short)((
char *)&prec->
name - (
char *)prec);
194 prt->papFldDes[fanoutRecordDESC]->size =
sizeof(prec->
desc);
195 prt->papFldDes[fanoutRecordDESC]->offset = (
unsigned short)((
char *)&prec->
desc - (
char *)prec);
196 prt->papFldDes[fanoutRecordASG]->size =
sizeof(prec->
asg);
197 prt->papFldDes[fanoutRecordASG]->offset = (
unsigned short)((
char *)&prec->
asg - (
char *)prec);
198 prt->papFldDes[fanoutRecordSCAN]->size =
sizeof(prec->
scan);
199 prt->papFldDes[fanoutRecordSCAN]->offset = (
unsigned short)((
char *)&prec->
scan - (
char *)prec);
200 prt->papFldDes[fanoutRecordPINI]->size =
sizeof(prec->
pini);
201 prt->papFldDes[fanoutRecordPINI]->offset = (
unsigned short)((
char *)&prec->
pini - (
char *)prec);
202 prt->papFldDes[fanoutRecordPHAS]->size =
sizeof(prec->
phas);
203 prt->papFldDes[fanoutRecordPHAS]->offset = (
unsigned short)((
char *)&prec->
phas - (
char *)prec);
204 prt->papFldDes[fanoutRecordEVNT]->size =
sizeof(prec->
evnt);
205 prt->papFldDes[fanoutRecordEVNT]->offset = (
unsigned short)((
char *)&prec->
evnt - (
char *)prec);
206 prt->papFldDes[fanoutRecordTSE]->size =
sizeof(prec->
tse);
207 prt->papFldDes[fanoutRecordTSE]->offset = (
unsigned short)((
char *)&prec->
tse - (
char *)prec);
208 prt->papFldDes[fanoutRecordTSEL]->size =
sizeof(prec->
tsel);
209 prt->papFldDes[fanoutRecordTSEL]->offset = (
unsigned short)((
char *)&prec->
tsel - (
char *)prec);
210 prt->papFldDes[fanoutRecordDTYP]->size =
sizeof(prec->
dtyp);
211 prt->papFldDes[fanoutRecordDTYP]->offset = (
unsigned short)((
char *)&prec->
dtyp - (
char *)prec);
212 prt->papFldDes[fanoutRecordDISV]->size =
sizeof(prec->
disv);
213 prt->papFldDes[fanoutRecordDISV]->offset = (
unsigned short)((
char *)&prec->
disv - (
char *)prec);
214 prt->papFldDes[fanoutRecordDISA]->size =
sizeof(prec->
disa);
215 prt->papFldDes[fanoutRecordDISA]->offset = (
unsigned short)((
char *)&prec->
disa - (
char *)prec);
216 prt->papFldDes[fanoutRecordSDIS]->size =
sizeof(prec->
sdis);
217 prt->papFldDes[fanoutRecordSDIS]->offset = (
unsigned short)((
char *)&prec->
sdis - (
char *)prec);
218 prt->papFldDes[fanoutRecordMLOK]->size =
sizeof(prec->
mlok);
219 prt->papFldDes[fanoutRecordMLOK]->offset = (
unsigned short)((
char *)&prec->
mlok - (
char *)prec);
220 prt->papFldDes[fanoutRecordMLIS]->size =
sizeof(prec->
mlis);
221 prt->papFldDes[fanoutRecordMLIS]->offset = (
unsigned short)((
char *)&prec->
mlis - (
char *)prec);
222 prt->papFldDes[fanoutRecordBKLNK]->size =
sizeof(prec->
bklnk);
223 prt->papFldDes[fanoutRecordBKLNK]->offset = (
unsigned short)((
char *)&prec->
bklnk - (
char *)prec);
224 prt->papFldDes[fanoutRecordDISP]->size =
sizeof(prec->
disp);
225 prt->papFldDes[fanoutRecordDISP]->offset = (
unsigned short)((
char *)&prec->
disp - (
char *)prec);
226 prt->papFldDes[fanoutRecordPROC]->size =
sizeof(prec->
proc);
227 prt->papFldDes[fanoutRecordPROC]->offset = (
unsigned short)((
char *)&prec->
proc - (
char *)prec);
228 prt->papFldDes[fanoutRecordSTAT]->size =
sizeof(prec->
stat);
229 prt->papFldDes[fanoutRecordSTAT]->offset = (
unsigned short)((
char *)&prec->
stat - (
char *)prec);
230 prt->papFldDes[fanoutRecordSEVR]->size =
sizeof(prec->
sevr);
231 prt->papFldDes[fanoutRecordSEVR]->offset = (
unsigned short)((
char *)&prec->
sevr - (
char *)prec);
232 prt->papFldDes[fanoutRecordAMSG]->size =
sizeof(prec->
amsg);
233 prt->papFldDes[fanoutRecordAMSG]->offset = (
unsigned short)((
char *)&prec->
amsg - (
char *)prec);
234 prt->papFldDes[fanoutRecordNSTA]->size =
sizeof(prec->
nsta);
235 prt->papFldDes[fanoutRecordNSTA]->offset = (
unsigned short)((
char *)&prec->
nsta - (
char *)prec);
236 prt->papFldDes[fanoutRecordNSEV]->size =
sizeof(prec->
nsev);
237 prt->papFldDes[fanoutRecordNSEV]->offset = (
unsigned short)((
char *)&prec->
nsev - (
char *)prec);
238 prt->papFldDes[fanoutRecordNAMSG]->size =
sizeof(prec->
namsg);
239 prt->papFldDes[fanoutRecordNAMSG]->offset = (
unsigned short)((
char *)&prec->
namsg - (
char *)prec);
240 prt->papFldDes[fanoutRecordACKS]->size =
sizeof(prec->
acks);
241 prt->papFldDes[fanoutRecordACKS]->offset = (
unsigned short)((
char *)&prec->
acks - (
char *)prec);
242 prt->papFldDes[fanoutRecordACKT]->size =
sizeof(prec->
ackt);
243 prt->papFldDes[fanoutRecordACKT]->offset = (
unsigned short)((
char *)&prec->
ackt - (
char *)prec);
244 prt->papFldDes[fanoutRecordDISS]->size =
sizeof(prec->
diss);
245 prt->papFldDes[fanoutRecordDISS]->offset = (
unsigned short)((
char *)&prec->
diss - (
char *)prec);
246 prt->papFldDes[fanoutRecordLCNT]->size =
sizeof(prec->
lcnt);
247 prt->papFldDes[fanoutRecordLCNT]->offset = (
unsigned short)((
char *)&prec->
lcnt - (
char *)prec);
248 prt->papFldDes[fanoutRecordPACT]->size =
sizeof(prec->
pact);
249 prt->papFldDes[fanoutRecordPACT]->offset = (
unsigned short)((
char *)&prec->
pact - (
char *)prec);
250 prt->papFldDes[fanoutRecordPUTF]->size =
sizeof(prec->
putf);
251 prt->papFldDes[fanoutRecordPUTF]->offset = (
unsigned short)((
char *)&prec->
putf - (
char *)prec);
252 prt->papFldDes[fanoutRecordRPRO]->size =
sizeof(prec->
rpro);
253 prt->papFldDes[fanoutRecordRPRO]->offset = (
unsigned short)((
char *)&prec->
rpro - (
char *)prec);
254 prt->papFldDes[fanoutRecordASP]->size =
sizeof(prec->
asp);
255 prt->papFldDes[fanoutRecordASP]->offset = (
unsigned short)((
char *)&prec->
asp - (
char *)prec);
256 prt->papFldDes[fanoutRecordPPN]->size =
sizeof(prec->
ppn);
257 prt->papFldDes[fanoutRecordPPN]->offset = (
unsigned short)((
char *)&prec->
ppn - (
char *)prec);
258 prt->papFldDes[fanoutRecordPPNR]->size =
sizeof(prec->
ppnr);
259 prt->papFldDes[fanoutRecordPPNR]->offset = (
unsigned short)((
char *)&prec->
ppnr - (
char *)prec);
260 prt->papFldDes[fanoutRecordSPVT]->size =
sizeof(prec->
spvt);
261 prt->papFldDes[fanoutRecordSPVT]->offset = (
unsigned short)((
char *)&prec->
spvt - (
char *)prec);
262 prt->papFldDes[fanoutRecordRSET]->size =
sizeof(prec->
rset);
263 prt->papFldDes[fanoutRecordRSET]->offset = (
unsigned short)((
char *)&prec->
rset - (
char *)prec);
264 prt->papFldDes[fanoutRecordDSET]->size =
sizeof(prec->
dset);
265 prt->papFldDes[fanoutRecordDSET]->offset = (
unsigned short)((
char *)&prec->
dset - (
char *)prec);
266 prt->papFldDes[fanoutRecordDPVT]->size =
sizeof(prec->
dpvt);
267 prt->papFldDes[fanoutRecordDPVT]->offset = (
unsigned short)((
char *)&prec->
dpvt - (
char *)prec);
268 prt->papFldDes[fanoutRecordRDES]->size =
sizeof(prec->
rdes);
269 prt->papFldDes[fanoutRecordRDES]->offset = (
unsigned short)((
char *)&prec->
rdes - (
char *)prec);
270 prt->papFldDes[fanoutRecordLSET]->size =
sizeof(prec->
lset);
271 prt->papFldDes[fanoutRecordLSET]->offset = (
unsigned short)((
char *)&prec->
lset - (
char *)prec);
272 prt->papFldDes[fanoutRecordPRIO]->size =
sizeof(prec->
prio);
273 prt->papFldDes[fanoutRecordPRIO]->offset = (
unsigned short)((
char *)&prec->
prio - (
char *)prec);
274 prt->papFldDes[fanoutRecordTPRO]->size =
sizeof(prec->
tpro);
275 prt->papFldDes[fanoutRecordTPRO]->offset = (
unsigned short)((
char *)&prec->
tpro - (
char *)prec);
276 prt->papFldDes[fanoutRecordBKPT]->size =
sizeof(prec->
bkpt);
277 prt->papFldDes[fanoutRecordBKPT]->offset = (
unsigned short)((
char *)&prec->
bkpt - (
char *)prec);
278 prt->papFldDes[fanoutRecordUDF]->size =
sizeof(prec->
udf);
279 prt->papFldDes[fanoutRecordUDF]->offset = (
unsigned short)((
char *)&prec->
udf - (
char *)prec);
280 prt->papFldDes[fanoutRecordUDFS]->size =
sizeof(prec->
udfs);
281 prt->papFldDes[fanoutRecordUDFS]->offset = (
unsigned short)((
char *)&prec->
udfs - (
char *)prec);
282 prt->papFldDes[fanoutRecordTIME]->size =
sizeof(prec->
time);
283 prt->papFldDes[fanoutRecordTIME]->offset = (
unsigned short)((
char *)&prec->
time - (
char *)prec);
284 prt->papFldDes[fanoutRecordUTAG]->size =
sizeof(prec->
utag);
285 prt->papFldDes[fanoutRecordUTAG]->offset = (
unsigned short)((
char *)&prec->
utag - (
char *)prec);
286 prt->papFldDes[fanoutRecordFLNK]->size =
sizeof(prec->
flnk);
287 prt->papFldDes[fanoutRecordFLNK]->offset = (
unsigned short)((
char *)&prec->
flnk - (
char *)prec);
288 prt->papFldDes[fanoutRecordVAL]->size =
sizeof(prec->
val);
289 prt->papFldDes[fanoutRecordVAL]->offset = (
unsigned short)((
char *)&prec->
val - (
char *)prec);
290 prt->papFldDes[fanoutRecordSELM]->size =
sizeof(prec->
selm);
291 prt->papFldDes[fanoutRecordSELM]->offset = (
unsigned short)((
char *)&prec->
selm - (
char *)prec);
292 prt->papFldDes[fanoutRecordSELN]->size =
sizeof(prec->
seln);
293 prt->papFldDes[fanoutRecordSELN]->offset = (
unsigned short)((
char *)&prec->
seln - (
char *)prec);
294 prt->papFldDes[fanoutRecordSELL]->size =
sizeof(prec->
sell);
295 prt->papFldDes[fanoutRecordSELL]->offset = (
unsigned short)((
char *)&prec->
sell - (
char *)prec);
296 prt->papFldDes[fanoutRecordOFFS]->size =
sizeof(prec->
offs);
297 prt->papFldDes[fanoutRecordOFFS]->offset = (
unsigned short)((
char *)&prec->
offs - (
char *)prec);
298 prt->papFldDes[fanoutRecordSHFT]->size =
sizeof(prec->
shft);
299 prt->papFldDes[fanoutRecordSHFT]->offset = (
unsigned short)((
char *)&prec->
shft - (
char *)prec);
300 prt->papFldDes[fanoutRecordLNK0]->size =
sizeof(prec->
lnk0);
301 prt->papFldDes[fanoutRecordLNK0]->offset = (
unsigned short)((
char *)&prec->
lnk0 - (
char *)prec);
302 prt->papFldDes[fanoutRecordLNK1]->size =
sizeof(prec->
lnk1);
303 prt->papFldDes[fanoutRecordLNK1]->offset = (
unsigned short)((
char *)&prec->
lnk1 - (
char *)prec);
304 prt->papFldDes[fanoutRecordLNK2]->size =
sizeof(prec->
lnk2);
305 prt->papFldDes[fanoutRecordLNK2]->offset = (
unsigned short)((
char *)&prec->
lnk2 - (
char *)prec);
306 prt->papFldDes[fanoutRecordLNK3]->size =
sizeof(prec->
lnk3);
307 prt->papFldDes[fanoutRecordLNK3]->offset = (
unsigned short)((
char *)&prec->
lnk3 - (
char *)prec);
308 prt->papFldDes[fanoutRecordLNK4]->size =
sizeof(prec->
lnk4);
309 prt->papFldDes[fanoutRecordLNK4]->offset = (
unsigned short)((
char *)&prec->
lnk4 - (
char *)prec);
310 prt->papFldDes[fanoutRecordLNK5]->size =
sizeof(prec->
lnk5);
311 prt->papFldDes[fanoutRecordLNK5]->offset = (
unsigned short)((
char *)&prec->
lnk5 - (
char *)prec);
312 prt->papFldDes[fanoutRecordLNK6]->size =
sizeof(prec->
lnk6);
313 prt->papFldDes[fanoutRecordLNK6]->offset = (
unsigned short)((
char *)&prec->
lnk6 - (
char *)prec);
314 prt->papFldDes[fanoutRecordLNK7]->size =
sizeof(prec->
lnk7);
315 prt->papFldDes[fanoutRecordLNK7]->offset = (
unsigned short)((
char *)&prec->
lnk7 - (
char *)prec);
316 prt->papFldDes[fanoutRecordLNK8]->size =
sizeof(prec->
lnk8);
317 prt->papFldDes[fanoutRecordLNK8]->offset = (
unsigned short)((
char *)&prec->
lnk8 - (
char *)prec);
318 prt->papFldDes[fanoutRecordLNK9]->size =
sizeof(prec->
lnk9);
319 prt->papFldDes[fanoutRecordLNK9]->offset = (
unsigned short)((
char *)&prec->
lnk9 - (
char *)prec);
320 prt->papFldDes[fanoutRecordLNKA]->size =
sizeof(prec->
lnka);
321 prt->papFldDes[fanoutRecordLNKA]->offset = (
unsigned short)((
char *)&prec->
lnka - (
char *)prec);
322 prt->papFldDes[fanoutRecordLNKB]->size =
sizeof(prec->
lnkb);
323 prt->papFldDes[fanoutRecordLNKB]->offset = (
unsigned short)((
char *)&prec->
lnkb - (
char *)prec);
324 prt->papFldDes[fanoutRecordLNKC]->size =
sizeof(prec->
lnkc);
325 prt->papFldDes[fanoutRecordLNKC]->offset = (
unsigned short)((
char *)&prec->
lnkc - (
char *)prec);
326 prt->papFldDes[fanoutRecordLNKD]->size =
sizeof(prec->
lnkd);
327 prt->papFldDes[fanoutRecordLNKD]->offset = (
unsigned short)((
char *)&prec->
lnkd - (
char *)prec);
328 prt->papFldDes[fanoutRecordLNKE]->size =
sizeof(prec->
lnke);
329 prt->papFldDes[fanoutRecordLNKE]->offset = (
unsigned short)((
char *)&prec->
lnke - (
char *)prec);
330 prt->papFldDes[fanoutRecordLNKF]->size =
sizeof(prec->
lnkf);
331 prt->papFldDes[fanoutRecordLNKF]->offset = (
unsigned short)((
char *)&prec->
lnkf - (
char *)prec);
332 prt->rec_size =
sizeof(*prec);
DBLINK lnk4
Forward Link 4.
DBLINK lnkc
Forward Link 12.
char name[61]
Record Name.
epicsEnum16 pini
Process at iocInit.
struct typed_rset * rset
Address of RSET.
DBLINK lnk8
Forward Link 8.
epicsUInt8 lcnt
Lock Count.
struct asgMember * asp
Access Security Pvt.
struct processNotify * ppn
pprocessNotify
epicsEnum16 nsta
New Alarm Status.
epicsInt16 tse
Time Stamp Event.
DBLINK lnka
Forward Link 10.
DBLINK lnk6
Forward Link 6.
char asg[29]
Access Security Group.
DBLINK lnk2
Forward Link 2.
LIBCOM_API void cantProceed(const char *errorMessage,...) EPICS_PRINTF_STYLE(1
Suspend this thread, the caller cannot continue or return.
DBLINK lnk1
Forward Link 1.
The core data types used by epics.
epicsUInt64 utag
Time Tag.
struct dbRecordType * rdes
Address of dbRecordType.
DBLINK tsel
Time Stamp Link.
epicsUInt8 pact
Record active.
struct lockRecord * lset
Lock Set.
State string "Mask".
epicsUInt8 putf
dbPutField process
epicsEnum16 scan
Scan Mechanism.
epicsUInt8 rpro
Reprocess.
ELLLIST mlis
Monitor List.
DBLINK sdis
Scanning Disable.
char amsg[40]
Alarm Message.
Routines for code that can't continue or return after an error.
epicsUInt8 proc
Force Processing.
DBLINK lnke
Forward Link 14.
DBLINK lnk5
Forward Link 5.
DBLINK lnkf
Forward Link 15.
DBLINK lnk0
Forward Link 0.
epicsEnum16 diss
Disable Alarm Sevrty.
epicsUInt8 tpro
Trace Processing.
EPICS time stamp, for use from C code.
A doubly-linked list library.
Declaration of fanout record type.
DBLINK lnkb
Forward Link 11.
epicsEnum16 dtyp
Device Type.
epicsInt16 shft
Shift for Mask mode.
epicsEnum16 sevr
Alarm Severity.
void * dpvt
Device Private.
ELLLIST bklnk
Backwards link tracking.
epicsEnum16 stat
Alarm Status.
fanoutSELM
Enumerated type from menu fanoutSELM.
APIs for the epicsMutex mutual exclusion semaphore.
epicsInt32 val
Used to trigger.
unambiguous_dset * dset
DSET address.
epicsUInt16 seln
Link Selection.
epicsUInt8 bkpt
Break Point.
struct scan_element * spvt
Scan Private.
char namsg[40]
New Alarm Message.
epicsInt16 offs
Offset for Specified.
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
epicsEnum16 nsev
New Alarm Severity.
epicsEnum16 acks
Alarm Ack Severity.
epicsMutexId mlok
Monitor lock.
DBLINK lnk7
Forward Link 7.
epicsEnum16 prio
Scheduling Priority.
DBLINK flnk
Forward Process Link.
State string "Specified".
struct processNotifyRecord * ppnr
pprocessNotifyRecord
epicsEnum16 selm
Select Mechanism.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
DBLINK lnkd
Forward Link 13.
DBLINK lnk3
Forward Link 3.
epicsUInt8 disp
Disable putField.
epicsEnum16 ackt
Alarm Ack Transient.
epicsEnum16 udfs
Undefined Alarm Sevrty.
State string "All".
epicsInt16 disv
Disable Value.
DBLINK lnk9
Forward Link 9.
DBLINK sell
Link Selection Loc.
epicsInt16 phas
Scan Phase.
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.