7 #ifndef INC_printfRecord_H
8 #define INC_printfRecord_H
23 #define HAS_printfdset
26 #define PRINTF_NLINKS 10
61 struct asgMember *
asp;
63 struct processNotifyRecord *
ppnr;
100 printfRecordSCAN = 3,
101 printfRecordPINI = 4,
102 printfRecordPHAS = 5,
103 printfRecordEVNT = 6,
105 printfRecordTSEL = 8,
106 printfRecordDTYP = 9,
107 printfRecordDISV = 10,
108 printfRecordDISA = 11,
109 printfRecordSDIS = 12,
110 printfRecordMLOK = 13,
111 printfRecordMLIS = 14,
112 printfRecordBKLNK = 15,
113 printfRecordDISP = 16,
114 printfRecordPROC = 17,
115 printfRecordSTAT = 18,
116 printfRecordSEVR = 19,
117 printfRecordAMSG = 20,
118 printfRecordNSTA = 21,
119 printfRecordNSEV = 22,
120 printfRecordNAMSG = 23,
121 printfRecordACKS = 24,
122 printfRecordACKT = 25,
123 printfRecordDISS = 26,
124 printfRecordLCNT = 27,
125 printfRecordPACT = 28,
126 printfRecordPUTF = 29,
127 printfRecordRPRO = 30,
128 printfRecordASP = 31,
129 printfRecordPPN = 32,
130 printfRecordPPNR = 33,
131 printfRecordSPVT = 34,
132 printfRecordRSET = 35,
133 printfRecordDSET = 36,
134 printfRecordDPVT = 37,
135 printfRecordRDES = 38,
136 printfRecordLSET = 39,
137 printfRecordPRIO = 40,
138 printfRecordTPRO = 41,
139 printfRecordBKPT = 42,
140 printfRecordUDF = 43,
141 printfRecordUDFS = 44,
142 printfRecordTIME = 45,
143 printfRecordUTAG = 46,
144 printfRecordFLNK = 47,
145 printfRecordVAL = 48,
146 printfRecordSIZV = 49,
147 printfRecordLEN = 50,
148 printfRecordOUT = 51,
149 printfRecordFMT = 52,
150 printfRecordIVLS = 53,
151 printfRecordINP0 = 54,
152 printfRecordINP1 = 55,
153 printfRecordINP2 = 56,
154 printfRecordINP3 = 57,
155 printfRecordINP4 = 58,
156 printfRecordINP5 = 59,
157 printfRecordINP6 = 60,
158 printfRecordINP7 = 61,
159 printfRecordINP8 = 62,
160 printfRecordINP9 = 63
163 #ifdef GEN_SIZE_OFFSET
174 if (prt->no_fields != 64) {
176 " The printfRecord defined in the DBD file has %d fields,\n"
177 " but the record support code was built with 64.\n",
180 prt->papFldDes[printfRecordNAME]->size =
sizeof(prec->
name);
181 prt->papFldDes[printfRecordNAME]->offset = (
unsigned short)((
char *)&prec->
name - (
char *)prec);
182 prt->papFldDes[printfRecordDESC]->size =
sizeof(prec->
desc);
183 prt->papFldDes[printfRecordDESC]->offset = (
unsigned short)((
char *)&prec->
desc - (
char *)prec);
184 prt->papFldDes[printfRecordASG]->size =
sizeof(prec->
asg);
185 prt->papFldDes[printfRecordASG]->offset = (
unsigned short)((
char *)&prec->
asg - (
char *)prec);
186 prt->papFldDes[printfRecordSCAN]->size =
sizeof(prec->
scan);
187 prt->papFldDes[printfRecordSCAN]->offset = (
unsigned short)((
char *)&prec->
scan - (
char *)prec);
188 prt->papFldDes[printfRecordPINI]->size =
sizeof(prec->
pini);
189 prt->papFldDes[printfRecordPINI]->offset = (
unsigned short)((
char *)&prec->
pini - (
char *)prec);
190 prt->papFldDes[printfRecordPHAS]->size =
sizeof(prec->
phas);
191 prt->papFldDes[printfRecordPHAS]->offset = (
unsigned short)((
char *)&prec->
phas - (
char *)prec);
192 prt->papFldDes[printfRecordEVNT]->size =
sizeof(prec->
evnt);
193 prt->papFldDes[printfRecordEVNT]->offset = (
unsigned short)((
char *)&prec->
evnt - (
char *)prec);
194 prt->papFldDes[printfRecordTSE]->size =
sizeof(prec->
tse);
195 prt->papFldDes[printfRecordTSE]->offset = (
unsigned short)((
char *)&prec->
tse - (
char *)prec);
196 prt->papFldDes[printfRecordTSEL]->size =
sizeof(prec->
tsel);
197 prt->papFldDes[printfRecordTSEL]->offset = (
unsigned short)((
char *)&prec->
tsel - (
char *)prec);
198 prt->papFldDes[printfRecordDTYP]->size =
sizeof(prec->
dtyp);
199 prt->papFldDes[printfRecordDTYP]->offset = (
unsigned short)((
char *)&prec->
dtyp - (
char *)prec);
200 prt->papFldDes[printfRecordDISV]->size =
sizeof(prec->
disv);
201 prt->papFldDes[printfRecordDISV]->offset = (
unsigned short)((
char *)&prec->
disv - (
char *)prec);
202 prt->papFldDes[printfRecordDISA]->size =
sizeof(prec->
disa);
203 prt->papFldDes[printfRecordDISA]->offset = (
unsigned short)((
char *)&prec->
disa - (
char *)prec);
204 prt->papFldDes[printfRecordSDIS]->size =
sizeof(prec->
sdis);
205 prt->papFldDes[printfRecordSDIS]->offset = (
unsigned short)((
char *)&prec->
sdis - (
char *)prec);
206 prt->papFldDes[printfRecordMLOK]->size =
sizeof(prec->
mlok);
207 prt->papFldDes[printfRecordMLOK]->offset = (
unsigned short)((
char *)&prec->
mlok - (
char *)prec);
208 prt->papFldDes[printfRecordMLIS]->size =
sizeof(prec->
mlis);
209 prt->papFldDes[printfRecordMLIS]->offset = (
unsigned short)((
char *)&prec->
mlis - (
char *)prec);
210 prt->papFldDes[printfRecordBKLNK]->size =
sizeof(prec->
bklnk);
211 prt->papFldDes[printfRecordBKLNK]->offset = (
unsigned short)((
char *)&prec->
bklnk - (
char *)prec);
212 prt->papFldDes[printfRecordDISP]->size =
sizeof(prec->
disp);
213 prt->papFldDes[printfRecordDISP]->offset = (
unsigned short)((
char *)&prec->
disp - (
char *)prec);
214 prt->papFldDes[printfRecordPROC]->size =
sizeof(prec->
proc);
215 prt->papFldDes[printfRecordPROC]->offset = (
unsigned short)((
char *)&prec->
proc - (
char *)prec);
216 prt->papFldDes[printfRecordSTAT]->size =
sizeof(prec->
stat);
217 prt->papFldDes[printfRecordSTAT]->offset = (
unsigned short)((
char *)&prec->
stat - (
char *)prec);
218 prt->papFldDes[printfRecordSEVR]->size =
sizeof(prec->
sevr);
219 prt->papFldDes[printfRecordSEVR]->offset = (
unsigned short)((
char *)&prec->
sevr - (
char *)prec);
220 prt->papFldDes[printfRecordAMSG]->size =
sizeof(prec->
amsg);
221 prt->papFldDes[printfRecordAMSG]->offset = (
unsigned short)((
char *)&prec->
amsg - (
char *)prec);
222 prt->papFldDes[printfRecordNSTA]->size =
sizeof(prec->
nsta);
223 prt->papFldDes[printfRecordNSTA]->offset = (
unsigned short)((
char *)&prec->
nsta - (
char *)prec);
224 prt->papFldDes[printfRecordNSEV]->size =
sizeof(prec->
nsev);
225 prt->papFldDes[printfRecordNSEV]->offset = (
unsigned short)((
char *)&prec->
nsev - (
char *)prec);
226 prt->papFldDes[printfRecordNAMSG]->size =
sizeof(prec->
namsg);
227 prt->papFldDes[printfRecordNAMSG]->offset = (
unsigned short)((
char *)&prec->
namsg - (
char *)prec);
228 prt->papFldDes[printfRecordACKS]->size =
sizeof(prec->
acks);
229 prt->papFldDes[printfRecordACKS]->offset = (
unsigned short)((
char *)&prec->
acks - (
char *)prec);
230 prt->papFldDes[printfRecordACKT]->size =
sizeof(prec->
ackt);
231 prt->papFldDes[printfRecordACKT]->offset = (
unsigned short)((
char *)&prec->
ackt - (
char *)prec);
232 prt->papFldDes[printfRecordDISS]->size =
sizeof(prec->
diss);
233 prt->papFldDes[printfRecordDISS]->offset = (
unsigned short)((
char *)&prec->
diss - (
char *)prec);
234 prt->papFldDes[printfRecordLCNT]->size =
sizeof(prec->
lcnt);
235 prt->papFldDes[printfRecordLCNT]->offset = (
unsigned short)((
char *)&prec->
lcnt - (
char *)prec);
236 prt->papFldDes[printfRecordPACT]->size =
sizeof(prec->
pact);
237 prt->papFldDes[printfRecordPACT]->offset = (
unsigned short)((
char *)&prec->
pact - (
char *)prec);
238 prt->papFldDes[printfRecordPUTF]->size =
sizeof(prec->
putf);
239 prt->papFldDes[printfRecordPUTF]->offset = (
unsigned short)((
char *)&prec->
putf - (
char *)prec);
240 prt->papFldDes[printfRecordRPRO]->size =
sizeof(prec->
rpro);
241 prt->papFldDes[printfRecordRPRO]->offset = (
unsigned short)((
char *)&prec->
rpro - (
char *)prec);
242 prt->papFldDes[printfRecordASP]->size =
sizeof(prec->
asp);
243 prt->papFldDes[printfRecordASP]->offset = (
unsigned short)((
char *)&prec->
asp - (
char *)prec);
244 prt->papFldDes[printfRecordPPN]->size =
sizeof(prec->
ppn);
245 prt->papFldDes[printfRecordPPN]->offset = (
unsigned short)((
char *)&prec->
ppn - (
char *)prec);
246 prt->papFldDes[printfRecordPPNR]->size =
sizeof(prec->
ppnr);
247 prt->papFldDes[printfRecordPPNR]->offset = (
unsigned short)((
char *)&prec->
ppnr - (
char *)prec);
248 prt->papFldDes[printfRecordSPVT]->size =
sizeof(prec->
spvt);
249 prt->papFldDes[printfRecordSPVT]->offset = (
unsigned short)((
char *)&prec->
spvt - (
char *)prec);
250 prt->papFldDes[printfRecordRSET]->size =
sizeof(prec->
rset);
251 prt->papFldDes[printfRecordRSET]->offset = (
unsigned short)((
char *)&prec->
rset - (
char *)prec);
252 prt->papFldDes[printfRecordDSET]->size =
sizeof(prec->
dset);
253 prt->papFldDes[printfRecordDSET]->offset = (
unsigned short)((
char *)&prec->
dset - (
char *)prec);
254 prt->papFldDes[printfRecordDPVT]->size =
sizeof(prec->
dpvt);
255 prt->papFldDes[printfRecordDPVT]->offset = (
unsigned short)((
char *)&prec->
dpvt - (
char *)prec);
256 prt->papFldDes[printfRecordRDES]->size =
sizeof(prec->
rdes);
257 prt->papFldDes[printfRecordRDES]->offset = (
unsigned short)((
char *)&prec->
rdes - (
char *)prec);
258 prt->papFldDes[printfRecordLSET]->size =
sizeof(prec->
lset);
259 prt->papFldDes[printfRecordLSET]->offset = (
unsigned short)((
char *)&prec->
lset - (
char *)prec);
260 prt->papFldDes[printfRecordPRIO]->size =
sizeof(prec->
prio);
261 prt->papFldDes[printfRecordPRIO]->offset = (
unsigned short)((
char *)&prec->
prio - (
char *)prec);
262 prt->papFldDes[printfRecordTPRO]->size =
sizeof(prec->
tpro);
263 prt->papFldDes[printfRecordTPRO]->offset = (
unsigned short)((
char *)&prec->
tpro - (
char *)prec);
264 prt->papFldDes[printfRecordBKPT]->size =
sizeof(prec->
bkpt);
265 prt->papFldDes[printfRecordBKPT]->offset = (
unsigned short)((
char *)&prec->
bkpt - (
char *)prec);
266 prt->papFldDes[printfRecordUDF]->size =
sizeof(prec->
udf);
267 prt->papFldDes[printfRecordUDF]->offset = (
unsigned short)((
char *)&prec->
udf - (
char *)prec);
268 prt->papFldDes[printfRecordUDFS]->size =
sizeof(prec->
udfs);
269 prt->papFldDes[printfRecordUDFS]->offset = (
unsigned short)((
char *)&prec->
udfs - (
char *)prec);
270 prt->papFldDes[printfRecordTIME]->size =
sizeof(prec->
time);
271 prt->papFldDes[printfRecordTIME]->offset = (
unsigned short)((
char *)&prec->
time - (
char *)prec);
272 prt->papFldDes[printfRecordUTAG]->size =
sizeof(prec->
utag);
273 prt->papFldDes[printfRecordUTAG]->offset = (
unsigned short)((
char *)&prec->
utag - (
char *)prec);
274 prt->papFldDes[printfRecordFLNK]->size =
sizeof(prec->
flnk);
275 prt->papFldDes[printfRecordFLNK]->offset = (
unsigned short)((
char *)&prec->
flnk - (
char *)prec);
276 prt->papFldDes[printfRecordVAL]->size =
sizeof(prec->
val);
277 prt->papFldDes[printfRecordVAL]->offset = (
unsigned short)((
char *)&prec->
val - (
char *)prec);
278 prt->papFldDes[printfRecordSIZV]->size =
sizeof(prec->
sizv);
279 prt->papFldDes[printfRecordSIZV]->offset = (
unsigned short)((
char *)&prec->
sizv - (
char *)prec);
280 prt->papFldDes[printfRecordLEN]->size =
sizeof(prec->
len);
281 prt->papFldDes[printfRecordLEN]->offset = (
unsigned short)((
char *)&prec->
len - (
char *)prec);
282 prt->papFldDes[printfRecordOUT]->size =
sizeof(prec->
out);
283 prt->papFldDes[printfRecordOUT]->offset = (
unsigned short)((
char *)&prec->
out - (
char *)prec);
284 prt->papFldDes[printfRecordFMT]->size =
sizeof(prec->
fmt);
285 prt->papFldDes[printfRecordFMT]->offset = (
unsigned short)((
char *)&prec->
fmt - (
char *)prec);
286 prt->papFldDes[printfRecordIVLS]->size =
sizeof(prec->
ivls);
287 prt->papFldDes[printfRecordIVLS]->offset = (
unsigned short)((
char *)&prec->
ivls - (
char *)prec);
288 prt->papFldDes[printfRecordINP0]->size =
sizeof(prec->
inp0);
289 prt->papFldDes[printfRecordINP0]->offset = (
unsigned short)((
char *)&prec->
inp0 - (
char *)prec);
290 prt->papFldDes[printfRecordINP1]->size =
sizeof(prec->
inp1);
291 prt->papFldDes[printfRecordINP1]->offset = (
unsigned short)((
char *)&prec->
inp1 - (
char *)prec);
292 prt->papFldDes[printfRecordINP2]->size =
sizeof(prec->
inp2);
293 prt->papFldDes[printfRecordINP2]->offset = (
unsigned short)((
char *)&prec->
inp2 - (
char *)prec);
294 prt->papFldDes[printfRecordINP3]->size =
sizeof(prec->
inp3);
295 prt->papFldDes[printfRecordINP3]->offset = (
unsigned short)((
char *)&prec->
inp3 - (
char *)prec);
296 prt->papFldDes[printfRecordINP4]->size =
sizeof(prec->
inp4);
297 prt->papFldDes[printfRecordINP4]->offset = (
unsigned short)((
char *)&prec->
inp4 - (
char *)prec);
298 prt->papFldDes[printfRecordINP5]->size =
sizeof(prec->
inp5);
299 prt->papFldDes[printfRecordINP5]->offset = (
unsigned short)((
char *)&prec->
inp5 - (
char *)prec);
300 prt->papFldDes[printfRecordINP6]->size =
sizeof(prec->
inp6);
301 prt->papFldDes[printfRecordINP6]->offset = (
unsigned short)((
char *)&prec->
inp6 - (
char *)prec);
302 prt->papFldDes[printfRecordINP7]->size =
sizeof(prec->
inp7);
303 prt->papFldDes[printfRecordINP7]->offset = (
unsigned short)((
char *)&prec->
inp7 - (
char *)prec);
304 prt->papFldDes[printfRecordINP8]->size =
sizeof(prec->
inp8);
305 prt->papFldDes[printfRecordINP8]->offset = (
unsigned short)((
char *)&prec->
inp8 - (
char *)prec);
306 prt->papFldDes[printfRecordINP9]->size =
sizeof(prec->
inp9);
307 prt->papFldDes[printfRecordINP9]->offset = (
unsigned short)((
char *)&prec->
inp9 - (
char *)prec);
308 prt->rec_size =
sizeof(*prec);
epicsInt16 disv
Disable Value.
epicsMutexId mlok
Monitor lock.
struct lockRecord * lset
Lock Set.
epicsUInt8 tpro
Trace Processing.
epicsEnum16 stat
Alarm Status.
epicsEnum16 diss
Disable Alarm Sevrty.
epicsInt16 phas
Scan Phase.
epicsEnum16 nsev
New Alarm Severity.
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 scan
Scan Mechanism.
struct scan_element * spvt
Scan Private.
epicsEnum16 sevr
Alarm Severity.
epicsEnum16 acks
Alarm Ack Severity.
epicsEnum16 udfs
Undefined Alarm Sevrty.
epicsEnum16 pini
Process at iocInit.
struct dbRecordType * rdes
Address of dbRecordType.
epicsUInt64 utag
Time Tag.
Routines for code that can't continue or return after an error.
DBLINK sdis
Scanning Disable.
Declaration of printf record type.
DBLINK out
Output Specification.
struct processNotifyRecord * ppnr
pprocessNotifyRecord
epicsUInt8 bkpt
Break Point.
struct asgMember * asp
Access Security Pvt.
char asg[29]
Access Security Group.
epicsEnum16 ackt
Alarm Ack Transient.
epicsUInt8 pact
Record active.
EPICS time stamp, for use from C code.
A doubly-linked list library.
DBLINK tsel
Time Stamp Link.
char name[61]
Record Name.
epicsUInt8 lcnt
Lock Count.
DBLINK flnk
Forward Process Link.
epicsUInt8 disp
Disable putField.
APIs for the epicsMutex mutual exclusion semaphore.
epicsUInt32 len
Length of VAL.
char ivls[16]
Invalid Link String.
ELLLIST mlis
Monitor List.
epicsEnum16 prio
Scheduling Priority.
void * dpvt
Device Private.
ELLLIST bklnk
Backwards link tracking.
struct typed_rset * rset
Address of RSET.
epicsUInt8 putf
dbPutField process
epicsInt16 tse
Time Stamp Event.
epicsUInt8 rpro
Reprocess.
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
epicsEnum16 dtyp
Device Type.
char namsg[40]
New Alarm Message.
epicsUInt16 sizv
Size of VAL buffer.
char fmt[81]
Format String.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
epicsUInt8 proc
Force Processing.
unambiguous_dset * dset
DSET address.
struct processNotify * ppn
pprocessNotify
char amsg[40]
Alarm Message.
epicsEnum16 nsta
New Alarm Status.
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.