EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
seqRecord.h
Go to the documentation of this file.
1 
7 #ifndef INC_seqRecord_H
8 #define INC_seqRecord_H
9 
10 #include "epicsTypes.h"
11 #include "link.h"
12 #include "epicsMutex.h"
13 #include "ellLib.h"
14 #include "devSup.h"
15 #include "epicsTime.h"
16 
17 #ifndef seqSELM_NUM_CHOICES
18 
19 typedef enum {
23 } seqSELM;
25 #define seqSELM_NUM_CHOICES 3
26 #endif
27 
29 typedef struct seqRecord {
30  char name[61];
31  char desc[41];
32  char asg[29];
33  epicsEnum16 scan;
34  epicsEnum16 pini;
35  epicsInt16 phas;
36  char evnt[40];
37  epicsInt16 tse;
38  DBLINK tsel;
39  epicsEnum16 dtyp;
40  epicsInt16 disv;
41  epicsInt16 disa;
42  DBLINK sdis;
46  epicsUInt8 disp;
47  epicsUInt8 proc;
48  epicsEnum16 stat;
49  epicsEnum16 sevr;
50  char amsg[40];
51  epicsEnum16 nsta;
52  epicsEnum16 nsev;
53  char namsg[40];
54  epicsEnum16 acks;
55  epicsEnum16 ackt;
56  epicsEnum16 diss;
57  epicsUInt8 lcnt;
58  epicsUInt8 pact;
59  epicsUInt8 putf;
60  epicsUInt8 rpro;
61  struct asgMember *asp;
62  struct processNotify *ppn;
63  struct processNotifyRecord *ppnr;
64  struct scan_element *spvt;
65  struct typed_rset *rset;
67  void *dpvt;
68  struct dbRecordType *rdes;
69  struct lockRecord *lset;
70  epicsEnum16 prio;
71  epicsUInt8 tpro;
72  epicsUInt8 bkpt;
73  epicsUInt8 udf;
74  epicsEnum16 udfs;
76  epicsUInt64 utag;
77  DBLINK flnk;
78  epicsInt32 val;
79  epicsEnum16 selm;
80  epicsUInt16 seln;
81  DBLINK sell;
82  epicsInt16 offs;
83  epicsInt16 shft;
84  epicsUInt16 oldn;
85  epicsInt16 prec;
86  epicsFloat64 dly0;
87  DBLINK dol0;
88  epicsFloat64 do0;
89  DBLINK lnk0;
90  epicsFloat64 dly1;
91  DBLINK dol1;
92  epicsFloat64 do1;
93  DBLINK lnk1;
94  epicsFloat64 dly2;
95  DBLINK dol2;
96  epicsFloat64 do2;
97  DBLINK lnk2;
98  epicsFloat64 dly3;
99  DBLINK dol3;
100  epicsFloat64 do3;
101  DBLINK lnk3;
102  epicsFloat64 dly4;
103  DBLINK dol4;
104  epicsFloat64 do4;
105  DBLINK lnk4;
106  epicsFloat64 dly5;
107  DBLINK dol5;
108  epicsFloat64 do5;
109  DBLINK lnk5;
110  epicsFloat64 dly6;
111  DBLINK dol6;
112  epicsFloat64 do6;
113  DBLINK lnk6;
114  epicsFloat64 dly7;
115  DBLINK dol7;
116  epicsFloat64 do7;
117  DBLINK lnk7;
118  epicsFloat64 dly8;
119  DBLINK dol8;
120  epicsFloat64 do8;
121  DBLINK lnk8;
122  epicsFloat64 dly9;
123  DBLINK dol9;
124  epicsFloat64 do9;
125  DBLINK lnk9;
126  epicsFloat64 dlya;
127  DBLINK dola;
128  epicsFloat64 doa;
129  DBLINK lnka;
130  epicsFloat64 dlyb;
131  DBLINK dolb;
132  epicsFloat64 dob;
133  DBLINK lnkb;
134  epicsFloat64 dlyc;
135  DBLINK dolc;
136  epicsFloat64 doc;
137  DBLINK lnkc;
138  epicsFloat64 dlyd;
139  DBLINK dold;
140  epicsFloat64 dod;
141  DBLINK lnkd;
142  epicsFloat64 dlye;
143  DBLINK dole;
144  epicsFloat64 doe;
145  DBLINK lnke;
146  epicsFloat64 dlyf;
147  DBLINK dolf;
148  epicsFloat64 dof;
149  DBLINK lnkf;
150 } seqRecord;
151 
152 typedef enum {
153  seqRecordNAME = 0,
154  seqRecordDESC = 1,
155  seqRecordASG = 2,
156  seqRecordSCAN = 3,
157  seqRecordPINI = 4,
158  seqRecordPHAS = 5,
159  seqRecordEVNT = 6,
160  seqRecordTSE = 7,
161  seqRecordTSEL = 8,
162  seqRecordDTYP = 9,
163  seqRecordDISV = 10,
164  seqRecordDISA = 11,
165  seqRecordSDIS = 12,
166  seqRecordMLOK = 13,
167  seqRecordMLIS = 14,
168  seqRecordBKLNK = 15,
169  seqRecordDISP = 16,
170  seqRecordPROC = 17,
171  seqRecordSTAT = 18,
172  seqRecordSEVR = 19,
173  seqRecordAMSG = 20,
174  seqRecordNSTA = 21,
175  seqRecordNSEV = 22,
176  seqRecordNAMSG = 23,
177  seqRecordACKS = 24,
178  seqRecordACKT = 25,
179  seqRecordDISS = 26,
180  seqRecordLCNT = 27,
181  seqRecordPACT = 28,
182  seqRecordPUTF = 29,
183  seqRecordRPRO = 30,
184  seqRecordASP = 31,
185  seqRecordPPN = 32,
186  seqRecordPPNR = 33,
187  seqRecordSPVT = 34,
188  seqRecordRSET = 35,
189  seqRecordDSET = 36,
190  seqRecordDPVT = 37,
191  seqRecordRDES = 38,
192  seqRecordLSET = 39,
193  seqRecordPRIO = 40,
194  seqRecordTPRO = 41,
195  seqRecordBKPT = 42,
196  seqRecordUDF = 43,
197  seqRecordUDFS = 44,
198  seqRecordTIME = 45,
199  seqRecordUTAG = 46,
200  seqRecordFLNK = 47,
201  seqRecordVAL = 48,
202  seqRecordSELM = 49,
203  seqRecordSELN = 50,
204  seqRecordSELL = 51,
205  seqRecordOFFS = 52,
206  seqRecordSHFT = 53,
207  seqRecordOLDN = 54,
208  seqRecordPREC = 55,
209  seqRecordDLY0 = 56,
210  seqRecordDOL0 = 57,
211  seqRecordDO0 = 58,
212  seqRecordLNK0 = 59,
213  seqRecordDLY1 = 60,
214  seqRecordDOL1 = 61,
215  seqRecordDO1 = 62,
216  seqRecordLNK1 = 63,
217  seqRecordDLY2 = 64,
218  seqRecordDOL2 = 65,
219  seqRecordDO2 = 66,
220  seqRecordLNK2 = 67,
221  seqRecordDLY3 = 68,
222  seqRecordDOL3 = 69,
223  seqRecordDO3 = 70,
224  seqRecordLNK3 = 71,
225  seqRecordDLY4 = 72,
226  seqRecordDOL4 = 73,
227  seqRecordDO4 = 74,
228  seqRecordLNK4 = 75,
229  seqRecordDLY5 = 76,
230  seqRecordDOL5 = 77,
231  seqRecordDO5 = 78,
232  seqRecordLNK5 = 79,
233  seqRecordDLY6 = 80,
234  seqRecordDOL6 = 81,
235  seqRecordDO6 = 82,
236  seqRecordLNK6 = 83,
237  seqRecordDLY7 = 84,
238  seqRecordDOL7 = 85,
239  seqRecordDO7 = 86,
240  seqRecordLNK7 = 87,
241  seqRecordDLY8 = 88,
242  seqRecordDOL8 = 89,
243  seqRecordDO8 = 90,
244  seqRecordLNK8 = 91,
245  seqRecordDLY9 = 92,
246  seqRecordDOL9 = 93,
247  seqRecordDO9 = 94,
248  seqRecordLNK9 = 95,
249  seqRecordDLYA = 96,
250  seqRecordDOLA = 97,
251  seqRecordDOA = 98,
252  seqRecordLNKA = 99,
253  seqRecordDLYB = 100,
254  seqRecordDOLB = 101,
255  seqRecordDOB = 102,
256  seqRecordLNKB = 103,
257  seqRecordDLYC = 104,
258  seqRecordDOLC = 105,
259  seqRecordDOC = 106,
260  seqRecordLNKC = 107,
261  seqRecordDLYD = 108,
262  seqRecordDOLD = 109,
263  seqRecordDOD = 110,
264  seqRecordLNKD = 111,
265  seqRecordDLYE = 112,
266  seqRecordDOLE = 113,
267  seqRecordDOE = 114,
268  seqRecordLNKE = 115,
269  seqRecordDLYF = 116,
270  seqRecordDOLF = 117,
271  seqRecordDOF = 118,
272  seqRecordLNKF = 119
273 } seqFieldIndex;
274 
275 #ifdef GEN_SIZE_OFFSET
276 
277 #include <epicsExport.h>
278 #include <cantProceed.h>
279 #ifdef __cplusplus
280 extern "C" {
281 #endif
282 static int seqRecordSizeOffset(dbRecordType *prt)
283 {
284  seqRecord *prec = 0;
285 
286  if (prt->no_fields != 120) {
287  cantProceed("IOC build or installation error:\n"
288  " The seqRecord defined in the DBD file has %d fields,\n"
289  " but the record support code was built with 120.\n",
290  prt->no_fields);
291  }
292  prt->papFldDes[seqRecordNAME]->size = sizeof(prec->name);
293  prt->papFldDes[seqRecordNAME]->offset = (unsigned short)((char *)&prec->name - (char *)prec);
294  prt->papFldDes[seqRecordDESC]->size = sizeof(prec->desc);
295  prt->papFldDes[seqRecordDESC]->offset = (unsigned short)((char *)&prec->desc - (char *)prec);
296  prt->papFldDes[seqRecordASG]->size = sizeof(prec->asg);
297  prt->papFldDes[seqRecordASG]->offset = (unsigned short)((char *)&prec->asg - (char *)prec);
298  prt->papFldDes[seqRecordSCAN]->size = sizeof(prec->scan);
299  prt->papFldDes[seqRecordSCAN]->offset = (unsigned short)((char *)&prec->scan - (char *)prec);
300  prt->papFldDes[seqRecordPINI]->size = sizeof(prec->pini);
301  prt->papFldDes[seqRecordPINI]->offset = (unsigned short)((char *)&prec->pini - (char *)prec);
302  prt->papFldDes[seqRecordPHAS]->size = sizeof(prec->phas);
303  prt->papFldDes[seqRecordPHAS]->offset = (unsigned short)((char *)&prec->phas - (char *)prec);
304  prt->papFldDes[seqRecordEVNT]->size = sizeof(prec->evnt);
305  prt->papFldDes[seqRecordEVNT]->offset = (unsigned short)((char *)&prec->evnt - (char *)prec);
306  prt->papFldDes[seqRecordTSE]->size = sizeof(prec->tse);
307  prt->papFldDes[seqRecordTSE]->offset = (unsigned short)((char *)&prec->tse - (char *)prec);
308  prt->papFldDes[seqRecordTSEL]->size = sizeof(prec->tsel);
309  prt->papFldDes[seqRecordTSEL]->offset = (unsigned short)((char *)&prec->tsel - (char *)prec);
310  prt->papFldDes[seqRecordDTYP]->size = sizeof(prec->dtyp);
311  prt->papFldDes[seqRecordDTYP]->offset = (unsigned short)((char *)&prec->dtyp - (char *)prec);
312  prt->papFldDes[seqRecordDISV]->size = sizeof(prec->disv);
313  prt->papFldDes[seqRecordDISV]->offset = (unsigned short)((char *)&prec->disv - (char *)prec);
314  prt->papFldDes[seqRecordDISA]->size = sizeof(prec->disa);
315  prt->papFldDes[seqRecordDISA]->offset = (unsigned short)((char *)&prec->disa - (char *)prec);
316  prt->papFldDes[seqRecordSDIS]->size = sizeof(prec->sdis);
317  prt->papFldDes[seqRecordSDIS]->offset = (unsigned short)((char *)&prec->sdis - (char *)prec);
318  prt->papFldDes[seqRecordMLOK]->size = sizeof(prec->mlok);
319  prt->papFldDes[seqRecordMLOK]->offset = (unsigned short)((char *)&prec->mlok - (char *)prec);
320  prt->papFldDes[seqRecordMLIS]->size = sizeof(prec->mlis);
321  prt->papFldDes[seqRecordMLIS]->offset = (unsigned short)((char *)&prec->mlis - (char *)prec);
322  prt->papFldDes[seqRecordBKLNK]->size = sizeof(prec->bklnk);
323  prt->papFldDes[seqRecordBKLNK]->offset = (unsigned short)((char *)&prec->bklnk - (char *)prec);
324  prt->papFldDes[seqRecordDISP]->size = sizeof(prec->disp);
325  prt->papFldDes[seqRecordDISP]->offset = (unsigned short)((char *)&prec->disp - (char *)prec);
326  prt->papFldDes[seqRecordPROC]->size = sizeof(prec->proc);
327  prt->papFldDes[seqRecordPROC]->offset = (unsigned short)((char *)&prec->proc - (char *)prec);
328  prt->papFldDes[seqRecordSTAT]->size = sizeof(prec->stat);
329  prt->papFldDes[seqRecordSTAT]->offset = (unsigned short)((char *)&prec->stat - (char *)prec);
330  prt->papFldDes[seqRecordSEVR]->size = sizeof(prec->sevr);
331  prt->papFldDes[seqRecordSEVR]->offset = (unsigned short)((char *)&prec->sevr - (char *)prec);
332  prt->papFldDes[seqRecordAMSG]->size = sizeof(prec->amsg);
333  prt->papFldDes[seqRecordAMSG]->offset = (unsigned short)((char *)&prec->amsg - (char *)prec);
334  prt->papFldDes[seqRecordNSTA]->size = sizeof(prec->nsta);
335  prt->papFldDes[seqRecordNSTA]->offset = (unsigned short)((char *)&prec->nsta - (char *)prec);
336  prt->papFldDes[seqRecordNSEV]->size = sizeof(prec->nsev);
337  prt->papFldDes[seqRecordNSEV]->offset = (unsigned short)((char *)&prec->nsev - (char *)prec);
338  prt->papFldDes[seqRecordNAMSG]->size = sizeof(prec->namsg);
339  prt->papFldDes[seqRecordNAMSG]->offset = (unsigned short)((char *)&prec->namsg - (char *)prec);
340  prt->papFldDes[seqRecordACKS]->size = sizeof(prec->acks);
341  prt->papFldDes[seqRecordACKS]->offset = (unsigned short)((char *)&prec->acks - (char *)prec);
342  prt->papFldDes[seqRecordACKT]->size = sizeof(prec->ackt);
343  prt->papFldDes[seqRecordACKT]->offset = (unsigned short)((char *)&prec->ackt - (char *)prec);
344  prt->papFldDes[seqRecordDISS]->size = sizeof(prec->diss);
345  prt->papFldDes[seqRecordDISS]->offset = (unsigned short)((char *)&prec->diss - (char *)prec);
346  prt->papFldDes[seqRecordLCNT]->size = sizeof(prec->lcnt);
347  prt->papFldDes[seqRecordLCNT]->offset = (unsigned short)((char *)&prec->lcnt - (char *)prec);
348  prt->papFldDes[seqRecordPACT]->size = sizeof(prec->pact);
349  prt->papFldDes[seqRecordPACT]->offset = (unsigned short)((char *)&prec->pact - (char *)prec);
350  prt->papFldDes[seqRecordPUTF]->size = sizeof(prec->putf);
351  prt->papFldDes[seqRecordPUTF]->offset = (unsigned short)((char *)&prec->putf - (char *)prec);
352  prt->papFldDes[seqRecordRPRO]->size = sizeof(prec->rpro);
353  prt->papFldDes[seqRecordRPRO]->offset = (unsigned short)((char *)&prec->rpro - (char *)prec);
354  prt->papFldDes[seqRecordASP]->size = sizeof(prec->asp);
355  prt->papFldDes[seqRecordASP]->offset = (unsigned short)((char *)&prec->asp - (char *)prec);
356  prt->papFldDes[seqRecordPPN]->size = sizeof(prec->ppn);
357  prt->papFldDes[seqRecordPPN]->offset = (unsigned short)((char *)&prec->ppn - (char *)prec);
358  prt->papFldDes[seqRecordPPNR]->size = sizeof(prec->ppnr);
359  prt->papFldDes[seqRecordPPNR]->offset = (unsigned short)((char *)&prec->ppnr - (char *)prec);
360  prt->papFldDes[seqRecordSPVT]->size = sizeof(prec->spvt);
361  prt->papFldDes[seqRecordSPVT]->offset = (unsigned short)((char *)&prec->spvt - (char *)prec);
362  prt->papFldDes[seqRecordRSET]->size = sizeof(prec->rset);
363  prt->papFldDes[seqRecordRSET]->offset = (unsigned short)((char *)&prec->rset - (char *)prec);
364  prt->papFldDes[seqRecordDSET]->size = sizeof(prec->dset);
365  prt->papFldDes[seqRecordDSET]->offset = (unsigned short)((char *)&prec->dset - (char *)prec);
366  prt->papFldDes[seqRecordDPVT]->size = sizeof(prec->dpvt);
367  prt->papFldDes[seqRecordDPVT]->offset = (unsigned short)((char *)&prec->dpvt - (char *)prec);
368  prt->papFldDes[seqRecordRDES]->size = sizeof(prec->rdes);
369  prt->papFldDes[seqRecordRDES]->offset = (unsigned short)((char *)&prec->rdes - (char *)prec);
370  prt->papFldDes[seqRecordLSET]->size = sizeof(prec->lset);
371  prt->papFldDes[seqRecordLSET]->offset = (unsigned short)((char *)&prec->lset - (char *)prec);
372  prt->papFldDes[seqRecordPRIO]->size = sizeof(prec->prio);
373  prt->papFldDes[seqRecordPRIO]->offset = (unsigned short)((char *)&prec->prio - (char *)prec);
374  prt->papFldDes[seqRecordTPRO]->size = sizeof(prec->tpro);
375  prt->papFldDes[seqRecordTPRO]->offset = (unsigned short)((char *)&prec->tpro - (char *)prec);
376  prt->papFldDes[seqRecordBKPT]->size = sizeof(prec->bkpt);
377  prt->papFldDes[seqRecordBKPT]->offset = (unsigned short)((char *)&prec->bkpt - (char *)prec);
378  prt->papFldDes[seqRecordUDF]->size = sizeof(prec->udf);
379  prt->papFldDes[seqRecordUDF]->offset = (unsigned short)((char *)&prec->udf - (char *)prec);
380  prt->papFldDes[seqRecordUDFS]->size = sizeof(prec->udfs);
381  prt->papFldDes[seqRecordUDFS]->offset = (unsigned short)((char *)&prec->udfs - (char *)prec);
382  prt->papFldDes[seqRecordTIME]->size = sizeof(prec->time);
383  prt->papFldDes[seqRecordTIME]->offset = (unsigned short)((char *)&prec->time - (char *)prec);
384  prt->papFldDes[seqRecordUTAG]->size = sizeof(prec->utag);
385  prt->papFldDes[seqRecordUTAG]->offset = (unsigned short)((char *)&prec->utag - (char *)prec);
386  prt->papFldDes[seqRecordFLNK]->size = sizeof(prec->flnk);
387  prt->papFldDes[seqRecordFLNK]->offset = (unsigned short)((char *)&prec->flnk - (char *)prec);
388  prt->papFldDes[seqRecordVAL]->size = sizeof(prec->val);
389  prt->papFldDes[seqRecordVAL]->offset = (unsigned short)((char *)&prec->val - (char *)prec);
390  prt->papFldDes[seqRecordSELM]->size = sizeof(prec->selm);
391  prt->papFldDes[seqRecordSELM]->offset = (unsigned short)((char *)&prec->selm - (char *)prec);
392  prt->papFldDes[seqRecordSELN]->size = sizeof(prec->seln);
393  prt->papFldDes[seqRecordSELN]->offset = (unsigned short)((char *)&prec->seln - (char *)prec);
394  prt->papFldDes[seqRecordSELL]->size = sizeof(prec->sell);
395  prt->papFldDes[seqRecordSELL]->offset = (unsigned short)((char *)&prec->sell - (char *)prec);
396  prt->papFldDes[seqRecordOFFS]->size = sizeof(prec->offs);
397  prt->papFldDes[seqRecordOFFS]->offset = (unsigned short)((char *)&prec->offs - (char *)prec);
398  prt->papFldDes[seqRecordSHFT]->size = sizeof(prec->shft);
399  prt->papFldDes[seqRecordSHFT]->offset = (unsigned short)((char *)&prec->shft - (char *)prec);
400  prt->papFldDes[seqRecordOLDN]->size = sizeof(prec->oldn);
401  prt->papFldDes[seqRecordOLDN]->offset = (unsigned short)((char *)&prec->oldn - (char *)prec);
402  prt->papFldDes[seqRecordPREC]->size = sizeof(prec->prec);
403  prt->papFldDes[seqRecordPREC]->offset = (unsigned short)((char *)&prec->prec - (char *)prec);
404  prt->papFldDes[seqRecordDLY0]->size = sizeof(prec->dly0);
405  prt->papFldDes[seqRecordDLY0]->offset = (unsigned short)((char *)&prec->dly0 - (char *)prec);
406  prt->papFldDes[seqRecordDOL0]->size = sizeof(prec->dol0);
407  prt->papFldDes[seqRecordDOL0]->offset = (unsigned short)((char *)&prec->dol0 - (char *)prec);
408  prt->papFldDes[seqRecordDO0]->size = sizeof(prec->do0);
409  prt->papFldDes[seqRecordDO0]->offset = (unsigned short)((char *)&prec->do0 - (char *)prec);
410  prt->papFldDes[seqRecordLNK0]->size = sizeof(prec->lnk0);
411  prt->papFldDes[seqRecordLNK0]->offset = (unsigned short)((char *)&prec->lnk0 - (char *)prec);
412  prt->papFldDes[seqRecordDLY1]->size = sizeof(prec->dly1);
413  prt->papFldDes[seqRecordDLY1]->offset = (unsigned short)((char *)&prec->dly1 - (char *)prec);
414  prt->papFldDes[seqRecordDOL1]->size = sizeof(prec->dol1);
415  prt->papFldDes[seqRecordDOL1]->offset = (unsigned short)((char *)&prec->dol1 - (char *)prec);
416  prt->papFldDes[seqRecordDO1]->size = sizeof(prec->do1);
417  prt->papFldDes[seqRecordDO1]->offset = (unsigned short)((char *)&prec->do1 - (char *)prec);
418  prt->papFldDes[seqRecordLNK1]->size = sizeof(prec->lnk1);
419  prt->papFldDes[seqRecordLNK1]->offset = (unsigned short)((char *)&prec->lnk1 - (char *)prec);
420  prt->papFldDes[seqRecordDLY2]->size = sizeof(prec->dly2);
421  prt->papFldDes[seqRecordDLY2]->offset = (unsigned short)((char *)&prec->dly2 - (char *)prec);
422  prt->papFldDes[seqRecordDOL2]->size = sizeof(prec->dol2);
423  prt->papFldDes[seqRecordDOL2]->offset = (unsigned short)((char *)&prec->dol2 - (char *)prec);
424  prt->papFldDes[seqRecordDO2]->size = sizeof(prec->do2);
425  prt->papFldDes[seqRecordDO2]->offset = (unsigned short)((char *)&prec->do2 - (char *)prec);
426  prt->papFldDes[seqRecordLNK2]->size = sizeof(prec->lnk2);
427  prt->papFldDes[seqRecordLNK2]->offset = (unsigned short)((char *)&prec->lnk2 - (char *)prec);
428  prt->papFldDes[seqRecordDLY3]->size = sizeof(prec->dly3);
429  prt->papFldDes[seqRecordDLY3]->offset = (unsigned short)((char *)&prec->dly3 - (char *)prec);
430  prt->papFldDes[seqRecordDOL3]->size = sizeof(prec->dol3);
431  prt->papFldDes[seqRecordDOL3]->offset = (unsigned short)((char *)&prec->dol3 - (char *)prec);
432  prt->papFldDes[seqRecordDO3]->size = sizeof(prec->do3);
433  prt->papFldDes[seqRecordDO3]->offset = (unsigned short)((char *)&prec->do3 - (char *)prec);
434  prt->papFldDes[seqRecordLNK3]->size = sizeof(prec->lnk3);
435  prt->papFldDes[seqRecordLNK3]->offset = (unsigned short)((char *)&prec->lnk3 - (char *)prec);
436  prt->papFldDes[seqRecordDLY4]->size = sizeof(prec->dly4);
437  prt->papFldDes[seqRecordDLY4]->offset = (unsigned short)((char *)&prec->dly4 - (char *)prec);
438  prt->papFldDes[seqRecordDOL4]->size = sizeof(prec->dol4);
439  prt->papFldDes[seqRecordDOL4]->offset = (unsigned short)((char *)&prec->dol4 - (char *)prec);
440  prt->papFldDes[seqRecordDO4]->size = sizeof(prec->do4);
441  prt->papFldDes[seqRecordDO4]->offset = (unsigned short)((char *)&prec->do4 - (char *)prec);
442  prt->papFldDes[seqRecordLNK4]->size = sizeof(prec->lnk4);
443  prt->papFldDes[seqRecordLNK4]->offset = (unsigned short)((char *)&prec->lnk4 - (char *)prec);
444  prt->papFldDes[seqRecordDLY5]->size = sizeof(prec->dly5);
445  prt->papFldDes[seqRecordDLY5]->offset = (unsigned short)((char *)&prec->dly5 - (char *)prec);
446  prt->papFldDes[seqRecordDOL5]->size = sizeof(prec->dol5);
447  prt->papFldDes[seqRecordDOL5]->offset = (unsigned short)((char *)&prec->dol5 - (char *)prec);
448  prt->papFldDes[seqRecordDO5]->size = sizeof(prec->do5);
449  prt->papFldDes[seqRecordDO5]->offset = (unsigned short)((char *)&prec->do5 - (char *)prec);
450  prt->papFldDes[seqRecordLNK5]->size = sizeof(prec->lnk5);
451  prt->papFldDes[seqRecordLNK5]->offset = (unsigned short)((char *)&prec->lnk5 - (char *)prec);
452  prt->papFldDes[seqRecordDLY6]->size = sizeof(prec->dly6);
453  prt->papFldDes[seqRecordDLY6]->offset = (unsigned short)((char *)&prec->dly6 - (char *)prec);
454  prt->papFldDes[seqRecordDOL6]->size = sizeof(prec->dol6);
455  prt->papFldDes[seqRecordDOL6]->offset = (unsigned short)((char *)&prec->dol6 - (char *)prec);
456  prt->papFldDes[seqRecordDO6]->size = sizeof(prec->do6);
457  prt->papFldDes[seqRecordDO6]->offset = (unsigned short)((char *)&prec->do6 - (char *)prec);
458  prt->papFldDes[seqRecordLNK6]->size = sizeof(prec->lnk6);
459  prt->papFldDes[seqRecordLNK6]->offset = (unsigned short)((char *)&prec->lnk6 - (char *)prec);
460  prt->papFldDes[seqRecordDLY7]->size = sizeof(prec->dly7);
461  prt->papFldDes[seqRecordDLY7]->offset = (unsigned short)((char *)&prec->dly7 - (char *)prec);
462  prt->papFldDes[seqRecordDOL7]->size = sizeof(prec->dol7);
463  prt->papFldDes[seqRecordDOL7]->offset = (unsigned short)((char *)&prec->dol7 - (char *)prec);
464  prt->papFldDes[seqRecordDO7]->size = sizeof(prec->do7);
465  prt->papFldDes[seqRecordDO7]->offset = (unsigned short)((char *)&prec->do7 - (char *)prec);
466  prt->papFldDes[seqRecordLNK7]->size = sizeof(prec->lnk7);
467  prt->papFldDes[seqRecordLNK7]->offset = (unsigned short)((char *)&prec->lnk7 - (char *)prec);
468  prt->papFldDes[seqRecordDLY8]->size = sizeof(prec->dly8);
469  prt->papFldDes[seqRecordDLY8]->offset = (unsigned short)((char *)&prec->dly8 - (char *)prec);
470  prt->papFldDes[seqRecordDOL8]->size = sizeof(prec->dol8);
471  prt->papFldDes[seqRecordDOL8]->offset = (unsigned short)((char *)&prec->dol8 - (char *)prec);
472  prt->papFldDes[seqRecordDO8]->size = sizeof(prec->do8);
473  prt->papFldDes[seqRecordDO8]->offset = (unsigned short)((char *)&prec->do8 - (char *)prec);
474  prt->papFldDes[seqRecordLNK8]->size = sizeof(prec->lnk8);
475  prt->papFldDes[seqRecordLNK8]->offset = (unsigned short)((char *)&prec->lnk8 - (char *)prec);
476  prt->papFldDes[seqRecordDLY9]->size = sizeof(prec->dly9);
477  prt->papFldDes[seqRecordDLY9]->offset = (unsigned short)((char *)&prec->dly9 - (char *)prec);
478  prt->papFldDes[seqRecordDOL9]->size = sizeof(prec->dol9);
479  prt->papFldDes[seqRecordDOL9]->offset = (unsigned short)((char *)&prec->dol9 - (char *)prec);
480  prt->papFldDes[seqRecordDO9]->size = sizeof(prec->do9);
481  prt->papFldDes[seqRecordDO9]->offset = (unsigned short)((char *)&prec->do9 - (char *)prec);
482  prt->papFldDes[seqRecordLNK9]->size = sizeof(prec->lnk9);
483  prt->papFldDes[seqRecordLNK9]->offset = (unsigned short)((char *)&prec->lnk9 - (char *)prec);
484  prt->papFldDes[seqRecordDLYA]->size = sizeof(prec->dlya);
485  prt->papFldDes[seqRecordDLYA]->offset = (unsigned short)((char *)&prec->dlya - (char *)prec);
486  prt->papFldDes[seqRecordDOLA]->size = sizeof(prec->dola);
487  prt->papFldDes[seqRecordDOLA]->offset = (unsigned short)((char *)&prec->dola - (char *)prec);
488  prt->papFldDes[seqRecordDOA]->size = sizeof(prec->doa);
489  prt->papFldDes[seqRecordDOA]->offset = (unsigned short)((char *)&prec->doa - (char *)prec);
490  prt->papFldDes[seqRecordLNKA]->size = sizeof(prec->lnka);
491  prt->papFldDes[seqRecordLNKA]->offset = (unsigned short)((char *)&prec->lnka - (char *)prec);
492  prt->papFldDes[seqRecordDLYB]->size = sizeof(prec->dlyb);
493  prt->papFldDes[seqRecordDLYB]->offset = (unsigned short)((char *)&prec->dlyb - (char *)prec);
494  prt->papFldDes[seqRecordDOLB]->size = sizeof(prec->dolb);
495  prt->papFldDes[seqRecordDOLB]->offset = (unsigned short)((char *)&prec->dolb - (char *)prec);
496  prt->papFldDes[seqRecordDOB]->size = sizeof(prec->dob);
497  prt->papFldDes[seqRecordDOB]->offset = (unsigned short)((char *)&prec->dob - (char *)prec);
498  prt->papFldDes[seqRecordLNKB]->size = sizeof(prec->lnkb);
499  prt->papFldDes[seqRecordLNKB]->offset = (unsigned short)((char *)&prec->lnkb - (char *)prec);
500  prt->papFldDes[seqRecordDLYC]->size = sizeof(prec->dlyc);
501  prt->papFldDes[seqRecordDLYC]->offset = (unsigned short)((char *)&prec->dlyc - (char *)prec);
502  prt->papFldDes[seqRecordDOLC]->size = sizeof(prec->dolc);
503  prt->papFldDes[seqRecordDOLC]->offset = (unsigned short)((char *)&prec->dolc - (char *)prec);
504  prt->papFldDes[seqRecordDOC]->size = sizeof(prec->doc);
505  prt->papFldDes[seqRecordDOC]->offset = (unsigned short)((char *)&prec->doc - (char *)prec);
506  prt->papFldDes[seqRecordLNKC]->size = sizeof(prec->lnkc);
507  prt->papFldDes[seqRecordLNKC]->offset = (unsigned short)((char *)&prec->lnkc - (char *)prec);
508  prt->papFldDes[seqRecordDLYD]->size = sizeof(prec->dlyd);
509  prt->papFldDes[seqRecordDLYD]->offset = (unsigned short)((char *)&prec->dlyd - (char *)prec);
510  prt->papFldDes[seqRecordDOLD]->size = sizeof(prec->dold);
511  prt->papFldDes[seqRecordDOLD]->offset = (unsigned short)((char *)&prec->dold - (char *)prec);
512  prt->papFldDes[seqRecordDOD]->size = sizeof(prec->dod);
513  prt->papFldDes[seqRecordDOD]->offset = (unsigned short)((char *)&prec->dod - (char *)prec);
514  prt->papFldDes[seqRecordLNKD]->size = sizeof(prec->lnkd);
515  prt->papFldDes[seqRecordLNKD]->offset = (unsigned short)((char *)&prec->lnkd - (char *)prec);
516  prt->papFldDes[seqRecordDLYE]->size = sizeof(prec->dlye);
517  prt->papFldDes[seqRecordDLYE]->offset = (unsigned short)((char *)&prec->dlye - (char *)prec);
518  prt->papFldDes[seqRecordDOLE]->size = sizeof(prec->dole);
519  prt->papFldDes[seqRecordDOLE]->offset = (unsigned short)((char *)&prec->dole - (char *)prec);
520  prt->papFldDes[seqRecordDOE]->size = sizeof(prec->doe);
521  prt->papFldDes[seqRecordDOE]->offset = (unsigned short)((char *)&prec->doe - (char *)prec);
522  prt->papFldDes[seqRecordLNKE]->size = sizeof(prec->lnke);
523  prt->papFldDes[seqRecordLNKE]->offset = (unsigned short)((char *)&prec->lnke - (char *)prec);
524  prt->papFldDes[seqRecordDLYF]->size = sizeof(prec->dlyf);
525  prt->papFldDes[seqRecordDLYF]->offset = (unsigned short)((char *)&prec->dlyf - (char *)prec);
526  prt->papFldDes[seqRecordDOLF]->size = sizeof(prec->dolf);
527  prt->papFldDes[seqRecordDOLF]->offset = (unsigned short)((char *)&prec->dolf - (char *)prec);
528  prt->papFldDes[seqRecordDOF]->size = sizeof(prec->dof);
529  prt->papFldDes[seqRecordDOF]->offset = (unsigned short)((char *)&prec->dof - (char *)prec);
530  prt->papFldDes[seqRecordLNKF]->size = sizeof(prec->lnkf);
531  prt->papFldDes[seqRecordLNKF]->offset = (unsigned short)((char *)&prec->lnkf - (char *)prec);
532  prt->rec_size = sizeof(*prec);
533  return 0;
534 }
535 epicsExportRegistrar(seqRecordSizeOffset);
536 
537 #ifdef __cplusplus
538 }
539 #endif
540 #endif /* GEN_SIZE_OFFSET */
541 
542 #endif /* INC_seqRecord_H */
epicsFloat64 dly3
Delay 3.
Definition: seqRecord.h:98
epicsEnum16 nsta
New Alarm Status.
Definition: seqRecord.h:51
epicsUInt8 tpro
Trace Processing.
Definition: seqRecord.h:71
epicsEnum16 prio
Scheduling Priority.
Definition: seqRecord.h:70
DBLINK dol9
Input link 9.
Definition: seqRecord.h:123
epicsFloat64 dly0
Delay 0.
Definition: seqRecord.h:86
epicsUInt8 rpro
Reprocess.
Definition: seqRecord.h:60
DBLINK lnk7
Output Link 7.
Definition: seqRecord.h:117
epicsInt16 shft
Shift for Mask mode.
Definition: seqRecord.h:83
epicsUInt8 putf
dbPutField process
Definition: seqRecord.h:59
epicsFloat64 doc
Value 12.
Definition: seqRecord.h:136
epicsFloat64 do8
Value 8.
Definition: seqRecord.h:120
epicsMutexId mlok
Monitor lock.
Definition: seqRecord.h:43
seqSELM
Enumerated type from menu seqSELM.
Definition: seqRecord.h:19
DBLINK lnk8
Output Link 8.
Definition: seqRecord.h:121
State string &quot;Specified&quot;.
Definition: seqRecord.h:21
DBLINK dol8
Input link 8.
Definition: seqRecord.h:119
epicsFloat64 dly1
Delay 1.
Definition: seqRecord.h:90
char name[61]
Record Name.
Definition: seqRecord.h:30
epicsInt16 disv
Disable Value.
Definition: seqRecord.h:40
epicsEnum16 acks
Alarm Ack Severity.
Definition: seqRecord.h:54
epicsFloat64 doa
Value 10.
Definition: seqRecord.h:128
epicsFloat64 dly8
Delay 8.
Definition: seqRecord.h:118
LIBCOM_API void cantProceed(const char *errorMessage,...) EPICS_PRINTF_STYLE(1
Suspend this thread, the caller cannot continue or return.
epicsFloat64 do6
Value 6.
Definition: seqRecord.h:112
epicsFloat64 dlyb
Delay 11.
Definition: seqRecord.h:130
DBLINK lnkf
Output Link 15.
Definition: seqRecord.h:149
epicsFloat64 dod
Value 13.
Definition: seqRecord.h:140
The core data types used by epics.
epicsUInt8 disp
Disable putField.
Definition: seqRecord.h:46
DBLINK dol6
Input link 6.
Definition: seqRecord.h:111
DBLINK dolb
Input link 11.
Definition: seqRecord.h:131
epicsFloat64 dlyc
Delay 12.
Definition: seqRecord.h:134
Exporting IOC objects.
DBLINK lnk9
Output Link 9.
Definition: seqRecord.h:125
epicsInt16 phas
Scan Phase.
Definition: seqRecord.h:35
char amsg[40]
Alarm Message.
Definition: seqRecord.h:50
epicsUInt16 oldn
Old Selection.
Definition: seqRecord.h:84
epicsEnum16 nsev
New Alarm Severity.
Definition: seqRecord.h:52
DBLINK dol7
Input link 7.
Definition: seqRecord.h:115
epicsFloat64 dly7
Delay 7.
Definition: seqRecord.h:114
char desc[41]
Descriptor.
Definition: seqRecord.h:31
struct processNotifyRecord * ppnr
pprocessNotifyRecord
Definition: seqRecord.h:63
epicsFloat64 do7
Value 7.
Definition: seqRecord.h:116
char evnt[40]
Event Name.
Definition: seqRecord.h:36
DBLINK dola
Input link 10.
Definition: seqRecord.h:127
Routines for code that can&#39;t continue or return after an error.
epicsTimeStamp time
Time.
Definition: seqRecord.h:75
DBLINK lnk4
Output Link 4.
Definition: seqRecord.h:105
epicsInt16 disa
Disable.
Definition: seqRecord.h:41
epicsEnum16 udfs
Undefined Alarm Sevrty.
Definition: seqRecord.h:74
struct typed_rset * rset
Address of RSET.
Definition: seqRecord.h:65
epicsInt32 val
Used to trigger.
Definition: seqRecord.h:78
epicsInt16 prec
Display Precision.
Definition: seqRecord.h:85
unambiguous_dset * dset
DSET address.
Definition: seqRecord.h:66
DBLINK lnk5
Output Link 5.
Definition: seqRecord.h:109
Definition: devSup.h:141
EPICS time stamp, for use from C code.
Definition: epicsTime.h:42
epicsEnum16 diss
Disable Alarm Sevrty.
Definition: seqRecord.h:56
A doubly-linked list library.
epicsFloat64 do9
Value 9.
Definition: seqRecord.h:124
DBLINK dol4
Input link 4.
Definition: seqRecord.h:103
epicsUInt16 seln
Link Selection.
Definition: seqRecord.h:80
void * dpvt
Device Private.
Definition: seqRecord.h:67
Declaration of seq record type.
Definition: seqRecord.h:29
List header type.
Definition: ellLib.h:57
struct processNotify * ppn
pprocessNotify
Definition: seqRecord.h:62
DBLINK dol5
Input link 5.
Definition: seqRecord.h:107
epicsUInt8 pact
Record active.
Definition: seqRecord.h:58
epicsUInt64 utag
Time Tag.
Definition: seqRecord.h:76
epicsFloat64 do1
Value 1.
Definition: seqRecord.h:92
epicsEnum16 stat
Alarm Status.
Definition: seqRecord.h:48
epicsUInt8 proc
Force Processing.
Definition: seqRecord.h:47
struct scan_element * spvt
Scan Private.
Definition: seqRecord.h:64
epicsFloat64 dly4
Delay 4.
Definition: seqRecord.h:102
DBLINK dolf
Input link 15.
Definition: seqRecord.h:147
epicsEnum16 selm
Select Mechanism.
Definition: seqRecord.h:79
DBLINK lnka
Output Link 10.
Definition: seqRecord.h:129
epicsFloat64 dof
Value 15.
Definition: seqRecord.h:148
DBLINK lnk0
Output Link 0.
Definition: seqRecord.h:89
ELLLIST bklnk
Backwards link tracking.
Definition: seqRecord.h:45
epicsFloat64 dly9
Delay 9.
Definition: seqRecord.h:122
DBLINK dol3
Input link 3.
Definition: seqRecord.h:99
struct asgMember * asp
Access Security Pvt.
Definition: seqRecord.h:61
epicsFloat64 dly6
Delay 6.
Definition: seqRecord.h:110
epicsFloat64 doe
Value 14.
Definition: seqRecord.h:144
DBLINK lnk2
Output Link 2.
Definition: seqRecord.h:97
struct lockRecord * lset
Lock Set.
Definition: seqRecord.h:69
epicsFloat64 dly2
Delay 2.
Definition: seqRecord.h:94
APIs for the epicsMutex mutual exclusion semaphore.
epicsFloat64 do2
Value 2.
Definition: seqRecord.h:96
epicsUInt8 lcnt
Lock Count.
Definition: seqRecord.h:57
Device support routines.
DBLINK lnkc
Output Link 12.
Definition: seqRecord.h:137
State string &quot;Mask&quot;.
Definition: seqRecord.h:22
epicsFloat64 dly5
Delay 5.
Definition: seqRecord.h:106
epicsFloat64 dob
Value 11.
Definition: seqRecord.h:132
DBLINK lnkb
Output Link 11.
Definition: seqRecord.h:133
epicsInt16 offs
Offset for Specified.
Definition: seqRecord.h:82
struct dbRecordType * rdes
Address of dbRecordType.
Definition: seqRecord.h:68
epicsFloat64 dlye
Delay 14.
Definition: seqRecord.h:142
DBLINK lnke
Output Link 14.
Definition: seqRecord.h:145
DBLINK lnk3
Output Link 3.
Definition: seqRecord.h:101
DBLINK lnkd
Output Link 13.
Definition: seqRecord.h:141
epicsFloat64 dlyf
Delay 15.
Definition: seqRecord.h:146
epicsFloat64 do0
Value 0.
Definition: seqRecord.h:88
char namsg[40]
New Alarm Message.
Definition: seqRecord.h:53
DBLINK dol0
Input link 0.
Definition: seqRecord.h:87
epicsEnum16 dtyp
Device Type.
Definition: seqRecord.h:39
ELLLIST mlis
Monitor List.
Definition: seqRecord.h:44
DBLINK sell
Link Selection Loc.
Definition: seqRecord.h:81
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
Definition: epicsExport.h:94
epicsEnum16 scan
Scan Mechanism.
Definition: seqRecord.h:33
DBLINK dolc
Input link 12.
Definition: seqRecord.h:135
char asg[29]
Access Security Group.
Definition: seqRecord.h:32
epicsFloat64 dlya
Delay 10.
Definition: seqRecord.h:126
epicsEnum16 sevr
Alarm Severity.
Definition: seqRecord.h:49
DBLINK lnk6
Output Link 6.
Definition: seqRecord.h:113
DBLINK sdis
Scanning Disable.
Definition: seqRecord.h:42
epicsFloat64 do3
Value 3.
Definition: seqRecord.h:100
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
DBLINK dol2
Input link 2.
Definition: seqRecord.h:95
DBLINK dol1
Input link1.
Definition: seqRecord.h:91
epicsFloat64 dlyd
Delay 13.
Definition: seqRecord.h:138
epicsFloat64 do4
Value 4.
Definition: seqRecord.h:104
epicsEnum16 ackt
Alarm Ack Transient.
Definition: seqRecord.h:55
State string &quot;All&quot;.
Definition: seqRecord.h:20
DBLINK lnk1
Output Link 1.
Definition: seqRecord.h:93
DBLINK dold
Input link 13.
Definition: seqRecord.h:139
epicsFloat64 do5
Value 5.
Definition: seqRecord.h:108
DBLINK flnk
Forward Process Link.
Definition: seqRecord.h:77
epicsInt16 tse
Time Stamp Event.
Definition: seqRecord.h:37
DBLINK dole
Input link 14.
Definition: seqRecord.h:143
epicsUInt8 bkpt
Break Point.
Definition: seqRecord.h:72
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.
Definition: epicsMutex.h:49
epicsUInt8 udf
Undefined.
Definition: seqRecord.h:73
epicsEnum16 pini
Process at iocInit.
Definition: seqRecord.h:34
DBLINK tsel
Time Stamp Link.
Definition: seqRecord.h:38