7 #ifndef INC_waveformRecord_H
8 #define INC_waveformRecord_H
27 #ifndef waveformPOST_NUM_CHOICES
34 #define waveformPOST_NUM_CHOICES 2
70 struct asgMember *
asp;
72 struct processNotifyRecord *
ppnr;
113 waveformRecordNAME = 0,
114 waveformRecordDESC = 1,
115 waveformRecordASG = 2,
116 waveformRecordSCAN = 3,
117 waveformRecordPINI = 4,
118 waveformRecordPHAS = 5,
119 waveformRecordEVNT = 6,
120 waveformRecordTSE = 7,
121 waveformRecordTSEL = 8,
122 waveformRecordDTYP = 9,
123 waveformRecordDISV = 10,
124 waveformRecordDISA = 11,
125 waveformRecordSDIS = 12,
126 waveformRecordMLOK = 13,
127 waveformRecordMLIS = 14,
128 waveformRecordBKLNK = 15,
129 waveformRecordDISP = 16,
130 waveformRecordPROC = 17,
131 waveformRecordSTAT = 18,
132 waveformRecordSEVR = 19,
133 waveformRecordAMSG = 20,
134 waveformRecordNSTA = 21,
135 waveformRecordNSEV = 22,
136 waveformRecordNAMSG = 23,
137 waveformRecordACKS = 24,
138 waveformRecordACKT = 25,
139 waveformRecordDISS = 26,
140 waveformRecordLCNT = 27,
141 waveformRecordPACT = 28,
142 waveformRecordPUTF = 29,
143 waveformRecordRPRO = 30,
144 waveformRecordASP = 31,
145 waveformRecordPPN = 32,
146 waveformRecordPPNR = 33,
147 waveformRecordSPVT = 34,
148 waveformRecordRSET = 35,
149 waveformRecordDSET = 36,
150 waveformRecordDPVT = 37,
151 waveformRecordRDES = 38,
152 waveformRecordLSET = 39,
153 waveformRecordPRIO = 40,
154 waveformRecordTPRO = 41,
155 waveformRecordBKPT = 42,
156 waveformRecordUDF = 43,
157 waveformRecordUDFS = 44,
158 waveformRecordTIME = 45,
159 waveformRecordUTAG = 46,
160 waveformRecordFLNK = 47,
161 waveformRecordVAL = 48,
162 waveformRecordRARM = 49,
163 waveformRecordPREC = 50,
164 waveformRecordINP = 51,
165 waveformRecordEGU = 52,
166 waveformRecordHOPR = 53,
167 waveformRecordLOPR = 54,
168 waveformRecordNELM = 55,
169 waveformRecordFTVL = 56,
170 waveformRecordBUSY = 57,
171 waveformRecordNORD = 58,
172 waveformRecordBPTR = 59,
173 waveformRecordSIOL = 60,
174 waveformRecordSIML = 61,
175 waveformRecordSIMM = 62,
176 waveformRecordSIMS = 63,
177 waveformRecordOLDSIMM = 64,
178 waveformRecordSSCN = 65,
179 waveformRecordSDLY = 66,
180 waveformRecordSIMPVT = 67,
181 waveformRecordMPST = 68,
182 waveformRecordAPST = 69,
183 waveformRecordHASH = 70
184 } waveformFieldIndex;
186 #ifdef GEN_SIZE_OFFSET
197 if (prt->no_fields != 71) {
199 " The waveformRecord defined in the DBD file has %d fields,\n"
200 " but the record support code was built with 71.\n",
203 prt->papFldDes[waveformRecordNAME]->size =
sizeof(prec->
name);
204 prt->papFldDes[waveformRecordNAME]->offset = (
unsigned short)offsetof(
waveformRecord, name);
205 prt->papFldDes[waveformRecordDESC]->size =
sizeof(prec->
desc);
206 prt->papFldDes[waveformRecordDESC]->offset = (
unsigned short)offsetof(
waveformRecord, desc);
207 prt->papFldDes[waveformRecordASG]->size =
sizeof(prec->
asg);
208 prt->papFldDes[waveformRecordASG]->offset = (
unsigned short)offsetof(
waveformRecord, asg);
209 prt->papFldDes[waveformRecordSCAN]->size =
sizeof(prec->
scan);
210 prt->papFldDes[waveformRecordSCAN]->offset = (
unsigned short)offsetof(
waveformRecord, scan);
211 prt->papFldDes[waveformRecordPINI]->size =
sizeof(prec->
pini);
212 prt->papFldDes[waveformRecordPINI]->offset = (
unsigned short)offsetof(
waveformRecord, pini);
213 prt->papFldDes[waveformRecordPHAS]->size =
sizeof(prec->
phas);
214 prt->papFldDes[waveformRecordPHAS]->offset = (
unsigned short)offsetof(
waveformRecord, phas);
215 prt->papFldDes[waveformRecordEVNT]->size =
sizeof(prec->
evnt);
216 prt->papFldDes[waveformRecordEVNT]->offset = (
unsigned short)offsetof(
waveformRecord, evnt);
217 prt->papFldDes[waveformRecordTSE]->size =
sizeof(prec->
tse);
218 prt->papFldDes[waveformRecordTSE]->offset = (
unsigned short)offsetof(
waveformRecord, tse);
219 prt->papFldDes[waveformRecordTSEL]->size =
sizeof(prec->
tsel);
220 prt->papFldDes[waveformRecordTSEL]->offset = (
unsigned short)offsetof(
waveformRecord, tsel);
221 prt->papFldDes[waveformRecordDTYP]->size =
sizeof(prec->
dtyp);
222 prt->papFldDes[waveformRecordDTYP]->offset = (
unsigned short)offsetof(
waveformRecord, dtyp);
223 prt->papFldDes[waveformRecordDISV]->size =
sizeof(prec->
disv);
224 prt->papFldDes[waveformRecordDISV]->offset = (
unsigned short)offsetof(
waveformRecord, disv);
225 prt->papFldDes[waveformRecordDISA]->size =
sizeof(prec->
disa);
226 prt->papFldDes[waveformRecordDISA]->offset = (
unsigned short)offsetof(
waveformRecord, disa);
227 prt->papFldDes[waveformRecordSDIS]->size =
sizeof(prec->
sdis);
228 prt->papFldDes[waveformRecordSDIS]->offset = (
unsigned short)offsetof(
waveformRecord, sdis);
229 prt->papFldDes[waveformRecordMLOK]->size =
sizeof(prec->
mlok);
230 prt->papFldDes[waveformRecordMLOK]->offset = (
unsigned short)offsetof(
waveformRecord, mlok);
231 prt->papFldDes[waveformRecordMLIS]->size =
sizeof(prec->
mlis);
232 prt->papFldDes[waveformRecordMLIS]->offset = (
unsigned short)offsetof(
waveformRecord, mlis);
233 prt->papFldDes[waveformRecordBKLNK]->size =
sizeof(prec->
bklnk);
234 prt->papFldDes[waveformRecordBKLNK]->offset = (
unsigned short)offsetof(
waveformRecord, bklnk);
235 prt->papFldDes[waveformRecordDISP]->size =
sizeof(prec->
disp);
236 prt->papFldDes[waveformRecordDISP]->offset = (
unsigned short)offsetof(
waveformRecord, disp);
237 prt->papFldDes[waveformRecordPROC]->size =
sizeof(prec->
proc);
238 prt->papFldDes[waveformRecordPROC]->offset = (
unsigned short)offsetof(
waveformRecord, proc);
239 prt->papFldDes[waveformRecordSTAT]->size =
sizeof(prec->
stat);
240 prt->papFldDes[waveformRecordSTAT]->offset = (
unsigned short)offsetof(
waveformRecord, stat);
241 prt->papFldDes[waveformRecordSEVR]->size =
sizeof(prec->
sevr);
242 prt->papFldDes[waveformRecordSEVR]->offset = (
unsigned short)offsetof(
waveformRecord, sevr);
243 prt->papFldDes[waveformRecordAMSG]->size =
sizeof(prec->
amsg);
244 prt->papFldDes[waveformRecordAMSG]->offset = (
unsigned short)offsetof(
waveformRecord, amsg);
245 prt->papFldDes[waveformRecordNSTA]->size =
sizeof(prec->
nsta);
246 prt->papFldDes[waveformRecordNSTA]->offset = (
unsigned short)offsetof(
waveformRecord, nsta);
247 prt->papFldDes[waveformRecordNSEV]->size =
sizeof(prec->
nsev);
248 prt->papFldDes[waveformRecordNSEV]->offset = (
unsigned short)offsetof(
waveformRecord, nsev);
249 prt->papFldDes[waveformRecordNAMSG]->size =
sizeof(prec->
namsg);
250 prt->papFldDes[waveformRecordNAMSG]->offset = (
unsigned short)offsetof(
waveformRecord, namsg);
251 prt->papFldDes[waveformRecordACKS]->size =
sizeof(prec->
acks);
252 prt->papFldDes[waveformRecordACKS]->offset = (
unsigned short)offsetof(
waveformRecord, acks);
253 prt->papFldDes[waveformRecordACKT]->size =
sizeof(prec->
ackt);
254 prt->papFldDes[waveformRecordACKT]->offset = (
unsigned short)offsetof(
waveformRecord, ackt);
255 prt->papFldDes[waveformRecordDISS]->size =
sizeof(prec->
diss);
256 prt->papFldDes[waveformRecordDISS]->offset = (
unsigned short)offsetof(
waveformRecord, diss);
257 prt->papFldDes[waveformRecordLCNT]->size =
sizeof(prec->
lcnt);
258 prt->papFldDes[waveformRecordLCNT]->offset = (
unsigned short)offsetof(
waveformRecord, lcnt);
259 prt->papFldDes[waveformRecordPACT]->size =
sizeof(prec->
pact);
260 prt->papFldDes[waveformRecordPACT]->offset = (
unsigned short)offsetof(
waveformRecord, pact);
261 prt->papFldDes[waveformRecordPUTF]->size =
sizeof(prec->
putf);
262 prt->papFldDes[waveformRecordPUTF]->offset = (
unsigned short)offsetof(
waveformRecord, putf);
263 prt->papFldDes[waveformRecordRPRO]->size =
sizeof(prec->
rpro);
264 prt->papFldDes[waveformRecordRPRO]->offset = (
unsigned short)offsetof(
waveformRecord, rpro);
265 prt->papFldDes[waveformRecordASP]->size =
sizeof(prec->
asp);
266 prt->papFldDes[waveformRecordASP]->offset = (
unsigned short)offsetof(
waveformRecord, asp);
267 prt->papFldDes[waveformRecordPPN]->size =
sizeof(prec->
ppn);
268 prt->papFldDes[waveformRecordPPN]->offset = (
unsigned short)offsetof(
waveformRecord, ppn);
269 prt->papFldDes[waveformRecordPPNR]->size =
sizeof(prec->
ppnr);
270 prt->papFldDes[waveformRecordPPNR]->offset = (
unsigned short)offsetof(
waveformRecord, ppnr);
271 prt->papFldDes[waveformRecordSPVT]->size =
sizeof(prec->
spvt);
272 prt->papFldDes[waveformRecordSPVT]->offset = (
unsigned short)offsetof(
waveformRecord, spvt);
273 prt->papFldDes[waveformRecordRSET]->size =
sizeof(prec->
rset);
274 prt->papFldDes[waveformRecordRSET]->offset = (
unsigned short)offsetof(
waveformRecord,
rset);
275 prt->papFldDes[waveformRecordDSET]->size =
sizeof(prec->
dset);
276 prt->papFldDes[waveformRecordDSET]->offset = (
unsigned short)offsetof(
waveformRecord,
dset);
277 prt->papFldDes[waveformRecordDPVT]->size =
sizeof(prec->
dpvt);
278 prt->papFldDes[waveformRecordDPVT]->offset = (
unsigned short)offsetof(
waveformRecord, dpvt);
279 prt->papFldDes[waveformRecordRDES]->size =
sizeof(prec->
rdes);
280 prt->papFldDes[waveformRecordRDES]->offset = (
unsigned short)offsetof(
waveformRecord, rdes);
281 prt->papFldDes[waveformRecordLSET]->size =
sizeof(prec->
lset);
282 prt->papFldDes[waveformRecordLSET]->offset = (
unsigned short)offsetof(
waveformRecord,
lset);
283 prt->papFldDes[waveformRecordPRIO]->size =
sizeof(prec->
prio);
284 prt->papFldDes[waveformRecordPRIO]->offset = (
unsigned short)offsetof(
waveformRecord, prio);
285 prt->papFldDes[waveformRecordTPRO]->size =
sizeof(prec->
tpro);
286 prt->papFldDes[waveformRecordTPRO]->offset = (
unsigned short)offsetof(
waveformRecord, tpro);
287 prt->papFldDes[waveformRecordBKPT]->size =
sizeof(prec->
bkpt);
288 prt->papFldDes[waveformRecordBKPT]->offset = (
unsigned short)offsetof(
waveformRecord, bkpt);
289 prt->papFldDes[waveformRecordUDF]->size =
sizeof(prec->
udf);
290 prt->papFldDes[waveformRecordUDF]->offset = (
unsigned short)offsetof(
waveformRecord, udf);
291 prt->papFldDes[waveformRecordUDFS]->size =
sizeof(prec->
udfs);
292 prt->papFldDes[waveformRecordUDFS]->offset = (
unsigned short)offsetof(
waveformRecord, udfs);
293 prt->papFldDes[waveformRecordTIME]->size =
sizeof(prec->
time);
294 prt->papFldDes[waveformRecordTIME]->offset = (
unsigned short)offsetof(
waveformRecord, time);
295 prt->papFldDes[waveformRecordUTAG]->size =
sizeof(prec->
utag);
296 prt->papFldDes[waveformRecordUTAG]->offset = (
unsigned short)offsetof(
waveformRecord, utag);
297 prt->papFldDes[waveformRecordFLNK]->size =
sizeof(prec->
flnk);
298 prt->papFldDes[waveformRecordFLNK]->offset = (
unsigned short)offsetof(
waveformRecord, flnk);
299 prt->papFldDes[waveformRecordVAL]->size =
sizeof(prec->
val);
300 prt->papFldDes[waveformRecordVAL]->offset = (
unsigned short)offsetof(
waveformRecord, val);
301 prt->papFldDes[waveformRecordRARM]->size =
sizeof(prec->
rarm);
302 prt->papFldDes[waveformRecordRARM]->offset = (
unsigned short)offsetof(
waveformRecord, rarm);
303 prt->papFldDes[waveformRecordPREC]->size =
sizeof(prec->
prec);
304 prt->papFldDes[waveformRecordPREC]->offset = (
unsigned short)offsetof(
waveformRecord, prec);
305 prt->papFldDes[waveformRecordINP]->size =
sizeof(prec->
inp);
306 prt->papFldDes[waveformRecordINP]->offset = (
unsigned short)offsetof(
waveformRecord, inp);
307 prt->papFldDes[waveformRecordEGU]->size =
sizeof(prec->
egu);
308 prt->papFldDes[waveformRecordEGU]->offset = (
unsigned short)offsetof(
waveformRecord, egu);
309 prt->papFldDes[waveformRecordHOPR]->size =
sizeof(prec->
hopr);
310 prt->papFldDes[waveformRecordHOPR]->offset = (
unsigned short)offsetof(
waveformRecord, hopr);
311 prt->papFldDes[waveformRecordLOPR]->size =
sizeof(prec->
lopr);
312 prt->papFldDes[waveformRecordLOPR]->offset = (
unsigned short)offsetof(
waveformRecord, lopr);
313 prt->papFldDes[waveformRecordNELM]->size =
sizeof(prec->
nelm);
314 prt->papFldDes[waveformRecordNELM]->offset = (
unsigned short)offsetof(
waveformRecord, nelm);
315 prt->papFldDes[waveformRecordFTVL]->size =
sizeof(prec->
ftvl);
316 prt->papFldDes[waveformRecordFTVL]->offset = (
unsigned short)offsetof(
waveformRecord, ftvl);
317 prt->papFldDes[waveformRecordBUSY]->size =
sizeof(prec->
busy);
318 prt->papFldDes[waveformRecordBUSY]->offset = (
unsigned short)offsetof(
waveformRecord, busy);
319 prt->papFldDes[waveformRecordNORD]->size =
sizeof(prec->
nord);
320 prt->papFldDes[waveformRecordNORD]->offset = (
unsigned short)offsetof(
waveformRecord, nord);
321 prt->papFldDes[waveformRecordBPTR]->size =
sizeof(prec->
bptr);
322 prt->papFldDes[waveformRecordBPTR]->offset = (
unsigned short)offsetof(
waveformRecord, bptr);
323 prt->papFldDes[waveformRecordSIOL]->size =
sizeof(prec->
siol);
324 prt->papFldDes[waveformRecordSIOL]->offset = (
unsigned short)offsetof(
waveformRecord, siol);
325 prt->papFldDes[waveformRecordSIML]->size =
sizeof(prec->
siml);
326 prt->papFldDes[waveformRecordSIML]->offset = (
unsigned short)offsetof(
waveformRecord, siml);
327 prt->papFldDes[waveformRecordSIMM]->size =
sizeof(prec->
simm);
328 prt->papFldDes[waveformRecordSIMM]->offset = (
unsigned short)offsetof(
waveformRecord, simm);
329 prt->papFldDes[waveformRecordSIMS]->size =
sizeof(prec->
sims);
330 prt->papFldDes[waveformRecordSIMS]->offset = (
unsigned short)offsetof(
waveformRecord, sims);
331 prt->papFldDes[waveformRecordOLDSIMM]->size =
sizeof(prec->
oldsimm);
332 prt->papFldDes[waveformRecordOLDSIMM]->offset = (
unsigned short)offsetof(
waveformRecord, oldsimm);
333 prt->papFldDes[waveformRecordSSCN]->size =
sizeof(prec->
sscn);
334 prt->papFldDes[waveformRecordSSCN]->offset = (
unsigned short)offsetof(
waveformRecord, sscn);
335 prt->papFldDes[waveformRecordSDLY]->size =
sizeof(prec->
sdly);
336 prt->papFldDes[waveformRecordSDLY]->offset = (
unsigned short)offsetof(
waveformRecord, sdly);
337 prt->papFldDes[waveformRecordSIMPVT]->size =
sizeof(prec->
simpvt);
338 prt->papFldDes[waveformRecordSIMPVT]->offset = (
unsigned short)offsetof(
waveformRecord, simpvt);
339 prt->papFldDes[waveformRecordMPST]->size =
sizeof(prec->
mpst);
340 prt->papFldDes[waveformRecordMPST]->offset = (
unsigned short)offsetof(
waveformRecord, mpst);
341 prt->papFldDes[waveformRecordAPST]->size =
sizeof(prec->
apst);
342 prt->papFldDes[waveformRecordAPST]->offset = (
unsigned short)offsetof(
waveformRecord, apst);
343 prt->papFldDes[waveformRecordHASH]->size =
sizeof(prec->
hash);
344 prt->papFldDes[waveformRecordHASH]->offset = (
unsigned short)offsetof(
waveformRecord, hash);
345 prt->rec_size =
sizeof(*prec);
The core data types used by epics.
Routines for code that can't continue or return after an error.
EPICS time stamp, for use from C code.
A doubly-linked list library.
APIs for the epicsMutex mutual exclusion semaphore.
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
Link Support Entry Table.
LIBCOM_API void cantProceed(EPICS_PRINTF_FMT(const char *errorMessage),...) EPICS_PRINTF_STYLE(1
Suspend this thread, the caller cannot continue or return.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.