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)((
char *)&prec->
name - (
char *)prec);
205 prt->papFldDes[waveformRecordDESC]->size =
sizeof(prec->
desc);
206 prt->papFldDes[waveformRecordDESC]->offset = (
unsigned short)((
char *)&prec->
desc - (
char *)prec);
207 prt->papFldDes[waveformRecordASG]->size =
sizeof(prec->
asg);
208 prt->papFldDes[waveformRecordASG]->offset = (
unsigned short)((
char *)&prec->
asg - (
char *)prec);
209 prt->papFldDes[waveformRecordSCAN]->size =
sizeof(prec->
scan);
210 prt->papFldDes[waveformRecordSCAN]->offset = (
unsigned short)((
char *)&prec->
scan - (
char *)prec);
211 prt->papFldDes[waveformRecordPINI]->size =
sizeof(prec->
pini);
212 prt->papFldDes[waveformRecordPINI]->offset = (
unsigned short)((
char *)&prec->
pini - (
char *)prec);
213 prt->papFldDes[waveformRecordPHAS]->size =
sizeof(prec->
phas);
214 prt->papFldDes[waveformRecordPHAS]->offset = (
unsigned short)((
char *)&prec->
phas - (
char *)prec);
215 prt->papFldDes[waveformRecordEVNT]->size =
sizeof(prec->
evnt);
216 prt->papFldDes[waveformRecordEVNT]->offset = (
unsigned short)((
char *)&prec->
evnt - (
char *)prec);
217 prt->papFldDes[waveformRecordTSE]->size =
sizeof(prec->
tse);
218 prt->papFldDes[waveformRecordTSE]->offset = (
unsigned short)((
char *)&prec->
tse - (
char *)prec);
219 prt->papFldDes[waveformRecordTSEL]->size =
sizeof(prec->
tsel);
220 prt->papFldDes[waveformRecordTSEL]->offset = (
unsigned short)((
char *)&prec->
tsel - (
char *)prec);
221 prt->papFldDes[waveformRecordDTYP]->size =
sizeof(prec->
dtyp);
222 prt->papFldDes[waveformRecordDTYP]->offset = (
unsigned short)((
char *)&prec->
dtyp - (
char *)prec);
223 prt->papFldDes[waveformRecordDISV]->size =
sizeof(prec->
disv);
224 prt->papFldDes[waveformRecordDISV]->offset = (
unsigned short)((
char *)&prec->
disv - (
char *)prec);
225 prt->papFldDes[waveformRecordDISA]->size =
sizeof(prec->
disa);
226 prt->papFldDes[waveformRecordDISA]->offset = (
unsigned short)((
char *)&prec->
disa - (
char *)prec);
227 prt->papFldDes[waveformRecordSDIS]->size =
sizeof(prec->
sdis);
228 prt->papFldDes[waveformRecordSDIS]->offset = (
unsigned short)((
char *)&prec->
sdis - (
char *)prec);
229 prt->papFldDes[waveformRecordMLOK]->size =
sizeof(prec->
mlok);
230 prt->papFldDes[waveformRecordMLOK]->offset = (
unsigned short)((
char *)&prec->
mlok - (
char *)prec);
231 prt->papFldDes[waveformRecordMLIS]->size =
sizeof(prec->
mlis);
232 prt->papFldDes[waveformRecordMLIS]->offset = (
unsigned short)((
char *)&prec->
mlis - (
char *)prec);
233 prt->papFldDes[waveformRecordBKLNK]->size =
sizeof(prec->
bklnk);
234 prt->papFldDes[waveformRecordBKLNK]->offset = (
unsigned short)((
char *)&prec->
bklnk - (
char *)prec);
235 prt->papFldDes[waveformRecordDISP]->size =
sizeof(prec->
disp);
236 prt->papFldDes[waveformRecordDISP]->offset = (
unsigned short)((
char *)&prec->
disp - (
char *)prec);
237 prt->papFldDes[waveformRecordPROC]->size =
sizeof(prec->
proc);
238 prt->papFldDes[waveformRecordPROC]->offset = (
unsigned short)((
char *)&prec->
proc - (
char *)prec);
239 prt->papFldDes[waveformRecordSTAT]->size =
sizeof(prec->
stat);
240 prt->papFldDes[waveformRecordSTAT]->offset = (
unsigned short)((
char *)&prec->
stat - (
char *)prec);
241 prt->papFldDes[waveformRecordSEVR]->size =
sizeof(prec->
sevr);
242 prt->papFldDes[waveformRecordSEVR]->offset = (
unsigned short)((
char *)&prec->
sevr - (
char *)prec);
243 prt->papFldDes[waveformRecordAMSG]->size =
sizeof(prec->
amsg);
244 prt->papFldDes[waveformRecordAMSG]->offset = (
unsigned short)((
char *)&prec->
amsg - (
char *)prec);
245 prt->papFldDes[waveformRecordNSTA]->size =
sizeof(prec->
nsta);
246 prt->papFldDes[waveformRecordNSTA]->offset = (
unsigned short)((
char *)&prec->
nsta - (
char *)prec);
247 prt->papFldDes[waveformRecordNSEV]->size =
sizeof(prec->
nsev);
248 prt->papFldDes[waveformRecordNSEV]->offset = (
unsigned short)((
char *)&prec->
nsev - (
char *)prec);
249 prt->papFldDes[waveformRecordNAMSG]->size =
sizeof(prec->
namsg);
250 prt->papFldDes[waveformRecordNAMSG]->offset = (
unsigned short)((
char *)&prec->
namsg - (
char *)prec);
251 prt->papFldDes[waveformRecordACKS]->size =
sizeof(prec->
acks);
252 prt->papFldDes[waveformRecordACKS]->offset = (
unsigned short)((
char *)&prec->
acks - (
char *)prec);
253 prt->papFldDes[waveformRecordACKT]->size =
sizeof(prec->
ackt);
254 prt->papFldDes[waveformRecordACKT]->offset = (
unsigned short)((
char *)&prec->
ackt - (
char *)prec);
255 prt->papFldDes[waveformRecordDISS]->size =
sizeof(prec->
diss);
256 prt->papFldDes[waveformRecordDISS]->offset = (
unsigned short)((
char *)&prec->
diss - (
char *)prec);
257 prt->papFldDes[waveformRecordLCNT]->size =
sizeof(prec->
lcnt);
258 prt->papFldDes[waveformRecordLCNT]->offset = (
unsigned short)((
char *)&prec->
lcnt - (
char *)prec);
259 prt->papFldDes[waveformRecordPACT]->size =
sizeof(prec->
pact);
260 prt->papFldDes[waveformRecordPACT]->offset = (
unsigned short)((
char *)&prec->
pact - (
char *)prec);
261 prt->papFldDes[waveformRecordPUTF]->size =
sizeof(prec->
putf);
262 prt->papFldDes[waveformRecordPUTF]->offset = (
unsigned short)((
char *)&prec->
putf - (
char *)prec);
263 prt->papFldDes[waveformRecordRPRO]->size =
sizeof(prec->
rpro);
264 prt->papFldDes[waveformRecordRPRO]->offset = (
unsigned short)((
char *)&prec->
rpro - (
char *)prec);
265 prt->papFldDes[waveformRecordASP]->size =
sizeof(prec->
asp);
266 prt->papFldDes[waveformRecordASP]->offset = (
unsigned short)((
char *)&prec->
asp - (
char *)prec);
267 prt->papFldDes[waveformRecordPPN]->size =
sizeof(prec->
ppn);
268 prt->papFldDes[waveformRecordPPN]->offset = (
unsigned short)((
char *)&prec->
ppn - (
char *)prec);
269 prt->papFldDes[waveformRecordPPNR]->size =
sizeof(prec->
ppnr);
270 prt->papFldDes[waveformRecordPPNR]->offset = (
unsigned short)((
char *)&prec->
ppnr - (
char *)prec);
271 prt->papFldDes[waveformRecordSPVT]->size =
sizeof(prec->
spvt);
272 prt->papFldDes[waveformRecordSPVT]->offset = (
unsigned short)((
char *)&prec->
spvt - (
char *)prec);
273 prt->papFldDes[waveformRecordRSET]->size =
sizeof(prec->
rset);
274 prt->papFldDes[waveformRecordRSET]->offset = (
unsigned short)((
char *)&prec->
rset - (
char *)prec);
275 prt->papFldDes[waveformRecordDSET]->size =
sizeof(prec->
dset);
276 prt->papFldDes[waveformRecordDSET]->offset = (
unsigned short)((
char *)&prec->
dset - (
char *)prec);
277 prt->papFldDes[waveformRecordDPVT]->size =
sizeof(prec->
dpvt);
278 prt->papFldDes[waveformRecordDPVT]->offset = (
unsigned short)((
char *)&prec->
dpvt - (
char *)prec);
279 prt->papFldDes[waveformRecordRDES]->size =
sizeof(prec->
rdes);
280 prt->papFldDes[waveformRecordRDES]->offset = (
unsigned short)((
char *)&prec->
rdes - (
char *)prec);
281 prt->papFldDes[waveformRecordLSET]->size =
sizeof(prec->
lset);
282 prt->papFldDes[waveformRecordLSET]->offset = (
unsigned short)((
char *)&prec->
lset - (
char *)prec);
283 prt->papFldDes[waveformRecordPRIO]->size =
sizeof(prec->
prio);
284 prt->papFldDes[waveformRecordPRIO]->offset = (
unsigned short)((
char *)&prec->
prio - (
char *)prec);
285 prt->papFldDes[waveformRecordTPRO]->size =
sizeof(prec->
tpro);
286 prt->papFldDes[waveformRecordTPRO]->offset = (
unsigned short)((
char *)&prec->
tpro - (
char *)prec);
287 prt->papFldDes[waveformRecordBKPT]->size =
sizeof(prec->
bkpt);
288 prt->papFldDes[waveformRecordBKPT]->offset = (
unsigned short)((
char *)&prec->
bkpt - (
char *)prec);
289 prt->papFldDes[waveformRecordUDF]->size =
sizeof(prec->
udf);
290 prt->papFldDes[waveformRecordUDF]->offset = (
unsigned short)((
char *)&prec->
udf - (
char *)prec);
291 prt->papFldDes[waveformRecordUDFS]->size =
sizeof(prec->
udfs);
292 prt->papFldDes[waveformRecordUDFS]->offset = (
unsigned short)((
char *)&prec->
udfs - (
char *)prec);
293 prt->papFldDes[waveformRecordTIME]->size =
sizeof(prec->
time);
294 prt->papFldDes[waveformRecordTIME]->offset = (
unsigned short)((
char *)&prec->
time - (
char *)prec);
295 prt->papFldDes[waveformRecordUTAG]->size =
sizeof(prec->
utag);
296 prt->papFldDes[waveformRecordUTAG]->offset = (
unsigned short)((
char *)&prec->
utag - (
char *)prec);
297 prt->papFldDes[waveformRecordFLNK]->size =
sizeof(prec->
flnk);
298 prt->papFldDes[waveformRecordFLNK]->offset = (
unsigned short)((
char *)&prec->
flnk - (
char *)prec);
299 prt->papFldDes[waveformRecordVAL]->size =
sizeof(prec->
val);
300 prt->papFldDes[waveformRecordVAL]->offset = (
unsigned short)((
char *)&prec->
val - (
char *)prec);
301 prt->papFldDes[waveformRecordRARM]->size =
sizeof(prec->
rarm);
302 prt->papFldDes[waveformRecordRARM]->offset = (
unsigned short)((
char *)&prec->
rarm - (
char *)prec);
303 prt->papFldDes[waveformRecordPREC]->size =
sizeof(prec->
prec);
304 prt->papFldDes[waveformRecordPREC]->offset = (
unsigned short)((
char *)&prec->
prec - (
char *)prec);
305 prt->papFldDes[waveformRecordINP]->size =
sizeof(prec->
inp);
306 prt->papFldDes[waveformRecordINP]->offset = (
unsigned short)((
char *)&prec->
inp - (
char *)prec);
307 prt->papFldDes[waveformRecordEGU]->size =
sizeof(prec->
egu);
308 prt->papFldDes[waveformRecordEGU]->offset = (
unsigned short)((
char *)&prec->
egu - (
char *)prec);
309 prt->papFldDes[waveformRecordHOPR]->size =
sizeof(prec->
hopr);
310 prt->papFldDes[waveformRecordHOPR]->offset = (
unsigned short)((
char *)&prec->
hopr - (
char *)prec);
311 prt->papFldDes[waveformRecordLOPR]->size =
sizeof(prec->
lopr);
312 prt->papFldDes[waveformRecordLOPR]->offset = (
unsigned short)((
char *)&prec->
lopr - (
char *)prec);
313 prt->papFldDes[waveformRecordNELM]->size =
sizeof(prec->
nelm);
314 prt->papFldDes[waveformRecordNELM]->offset = (
unsigned short)((
char *)&prec->
nelm - (
char *)prec);
315 prt->papFldDes[waveformRecordFTVL]->size =
sizeof(prec->
ftvl);
316 prt->papFldDes[waveformRecordFTVL]->offset = (
unsigned short)((
char *)&prec->
ftvl - (
char *)prec);
317 prt->papFldDes[waveformRecordBUSY]->size =
sizeof(prec->
busy);
318 prt->papFldDes[waveformRecordBUSY]->offset = (
unsigned short)((
char *)&prec->
busy - (
char *)prec);
319 prt->papFldDes[waveformRecordNORD]->size =
sizeof(prec->
nord);
320 prt->papFldDes[waveformRecordNORD]->offset = (
unsigned short)((
char *)&prec->
nord - (
char *)prec);
321 prt->papFldDes[waveformRecordBPTR]->size =
sizeof(prec->
bptr);
322 prt->papFldDes[waveformRecordBPTR]->offset = (
unsigned short)((
char *)&prec->
bptr - (
char *)prec);
323 prt->papFldDes[waveformRecordSIOL]->size =
sizeof(prec->
siol);
324 prt->papFldDes[waveformRecordSIOL]->offset = (
unsigned short)((
char *)&prec->
siol - (
char *)prec);
325 prt->papFldDes[waveformRecordSIML]->size =
sizeof(prec->
siml);
326 prt->papFldDes[waveformRecordSIML]->offset = (
unsigned short)((
char *)&prec->
siml - (
char *)prec);
327 prt->papFldDes[waveformRecordSIMM]->size =
sizeof(prec->
simm);
328 prt->papFldDes[waveformRecordSIMM]->offset = (
unsigned short)((
char *)&prec->
simm - (
char *)prec);
329 prt->papFldDes[waveformRecordSIMS]->size =
sizeof(prec->
sims);
330 prt->papFldDes[waveformRecordSIMS]->offset = (
unsigned short)((
char *)&prec->
sims - (
char *)prec);
331 prt->papFldDes[waveformRecordOLDSIMM]->size =
sizeof(prec->
oldsimm);
332 prt->papFldDes[waveformRecordOLDSIMM]->offset = (
unsigned short)((
char *)&prec->
oldsimm - (
char *)prec);
333 prt->papFldDes[waveformRecordSSCN]->size =
sizeof(prec->
sscn);
334 prt->papFldDes[waveformRecordSSCN]->offset = (
unsigned short)((
char *)&prec->
sscn - (
char *)prec);
335 prt->papFldDes[waveformRecordSDLY]->size =
sizeof(prec->
sdly);
336 prt->papFldDes[waveformRecordSDLY]->offset = (
unsigned short)((
char *)&prec->
sdly - (
char *)prec);
337 prt->papFldDes[waveformRecordSIMPVT]->size =
sizeof(prec->
simpvt);
338 prt->papFldDes[waveformRecordSIMPVT]->offset = (
unsigned short)((
char *)&prec->
simpvt - (
char *)prec);
339 prt->papFldDes[waveformRecordMPST]->size =
sizeof(prec->
mpst);
340 prt->papFldDes[waveformRecordMPST]->offset = (
unsigned short)((
char *)&prec->
mpst - (
char *)prec);
341 prt->papFldDes[waveformRecordAPST]->size =
sizeof(prec->
apst);
342 prt->papFldDes[waveformRecordAPST]->offset = (
unsigned short)((
char *)&prec->
apst - (
char *)prec);
343 prt->papFldDes[waveformRecordHASH]->size =
sizeof(prec->
hash);
344 prt->papFldDes[waveformRecordHASH]->offset = (
unsigned short)((
char *)&prec->
hash - (
char *)prec);
345 prt->rec_size =
sizeof(*prec);
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.
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.
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.