7 #ifndef INC_subArrayRecord_H
8 #define INC_subArrayRecord_H
59 struct asgMember *
asp;
61 struct processNotifyRecord *
ppnr;
92 subArrayRecordNAME = 0,
93 subArrayRecordDESC = 1,
94 subArrayRecordASG = 2,
95 subArrayRecordSCAN = 3,
96 subArrayRecordPINI = 4,
97 subArrayRecordPHAS = 5,
98 subArrayRecordEVNT = 6,
99 subArrayRecordTSE = 7,
100 subArrayRecordTSEL = 8,
101 subArrayRecordDTYP = 9,
102 subArrayRecordDISV = 10,
103 subArrayRecordDISA = 11,
104 subArrayRecordSDIS = 12,
105 subArrayRecordMLOK = 13,
106 subArrayRecordMLIS = 14,
107 subArrayRecordBKLNK = 15,
108 subArrayRecordDISP = 16,
109 subArrayRecordPROC = 17,
110 subArrayRecordSTAT = 18,
111 subArrayRecordSEVR = 19,
112 subArrayRecordAMSG = 20,
113 subArrayRecordNSTA = 21,
114 subArrayRecordNSEV = 22,
115 subArrayRecordNAMSG = 23,
116 subArrayRecordACKS = 24,
117 subArrayRecordACKT = 25,
118 subArrayRecordDISS = 26,
119 subArrayRecordLCNT = 27,
120 subArrayRecordPACT = 28,
121 subArrayRecordPUTF = 29,
122 subArrayRecordRPRO = 30,
123 subArrayRecordASP = 31,
124 subArrayRecordPPN = 32,
125 subArrayRecordPPNR = 33,
126 subArrayRecordSPVT = 34,
127 subArrayRecordRSET = 35,
128 subArrayRecordDSET = 36,
129 subArrayRecordDPVT = 37,
130 subArrayRecordRDES = 38,
131 subArrayRecordLSET = 39,
132 subArrayRecordPRIO = 40,
133 subArrayRecordTPRO = 41,
134 subArrayRecordBKPT = 42,
135 subArrayRecordUDF = 43,
136 subArrayRecordUDFS = 44,
137 subArrayRecordTIME = 45,
138 subArrayRecordUTAG = 46,
139 subArrayRecordFLNK = 47,
140 subArrayRecordVAL = 48,
141 subArrayRecordPREC = 49,
142 subArrayRecordFTVL = 50,
143 subArrayRecordINP = 51,
144 subArrayRecordEGU = 52,
145 subArrayRecordHOPR = 53,
146 subArrayRecordLOPR = 54,
147 subArrayRecordMALM = 55,
148 subArrayRecordNELM = 56,
149 subArrayRecordINDX = 57,
150 subArrayRecordBUSY = 58,
151 subArrayRecordNORD = 59,
152 subArrayRecordBPTR = 60
153 } subArrayFieldIndex;
155 #ifdef GEN_SIZE_OFFSET
166 if (prt->no_fields != 61) {
168 " The subArrayRecord defined in the DBD file has %d fields,\n"
169 " but the record support code was built with 61.\n",
172 prt->papFldDes[subArrayRecordNAME]->size =
sizeof(prec->
name);
173 prt->papFldDes[subArrayRecordNAME]->offset = (
unsigned short)((
char *)&prec->
name - (
char *)prec);
174 prt->papFldDes[subArrayRecordDESC]->size =
sizeof(prec->
desc);
175 prt->papFldDes[subArrayRecordDESC]->offset = (
unsigned short)((
char *)&prec->
desc - (
char *)prec);
176 prt->papFldDes[subArrayRecordASG]->size =
sizeof(prec->
asg);
177 prt->papFldDes[subArrayRecordASG]->offset = (
unsigned short)((
char *)&prec->
asg - (
char *)prec);
178 prt->papFldDes[subArrayRecordSCAN]->size =
sizeof(prec->
scan);
179 prt->papFldDes[subArrayRecordSCAN]->offset = (
unsigned short)((
char *)&prec->
scan - (
char *)prec);
180 prt->papFldDes[subArrayRecordPINI]->size =
sizeof(prec->
pini);
181 prt->papFldDes[subArrayRecordPINI]->offset = (
unsigned short)((
char *)&prec->
pini - (
char *)prec);
182 prt->papFldDes[subArrayRecordPHAS]->size =
sizeof(prec->
phas);
183 prt->papFldDes[subArrayRecordPHAS]->offset = (
unsigned short)((
char *)&prec->
phas - (
char *)prec);
184 prt->papFldDes[subArrayRecordEVNT]->size =
sizeof(prec->
evnt);
185 prt->papFldDes[subArrayRecordEVNT]->offset = (
unsigned short)((
char *)&prec->
evnt - (
char *)prec);
186 prt->papFldDes[subArrayRecordTSE]->size =
sizeof(prec->
tse);
187 prt->papFldDes[subArrayRecordTSE]->offset = (
unsigned short)((
char *)&prec->
tse - (
char *)prec);
188 prt->papFldDes[subArrayRecordTSEL]->size =
sizeof(prec->
tsel);
189 prt->papFldDes[subArrayRecordTSEL]->offset = (
unsigned short)((
char *)&prec->
tsel - (
char *)prec);
190 prt->papFldDes[subArrayRecordDTYP]->size =
sizeof(prec->
dtyp);
191 prt->papFldDes[subArrayRecordDTYP]->offset = (
unsigned short)((
char *)&prec->
dtyp - (
char *)prec);
192 prt->papFldDes[subArrayRecordDISV]->size =
sizeof(prec->
disv);
193 prt->papFldDes[subArrayRecordDISV]->offset = (
unsigned short)((
char *)&prec->
disv - (
char *)prec);
194 prt->papFldDes[subArrayRecordDISA]->size =
sizeof(prec->
disa);
195 prt->papFldDes[subArrayRecordDISA]->offset = (
unsigned short)((
char *)&prec->
disa - (
char *)prec);
196 prt->papFldDes[subArrayRecordSDIS]->size =
sizeof(prec->
sdis);
197 prt->papFldDes[subArrayRecordSDIS]->offset = (
unsigned short)((
char *)&prec->
sdis - (
char *)prec);
198 prt->papFldDes[subArrayRecordMLOK]->size =
sizeof(prec->
mlok);
199 prt->papFldDes[subArrayRecordMLOK]->offset = (
unsigned short)((
char *)&prec->
mlok - (
char *)prec);
200 prt->papFldDes[subArrayRecordMLIS]->size =
sizeof(prec->
mlis);
201 prt->papFldDes[subArrayRecordMLIS]->offset = (
unsigned short)((
char *)&prec->
mlis - (
char *)prec);
202 prt->papFldDes[subArrayRecordBKLNK]->size =
sizeof(prec->
bklnk);
203 prt->papFldDes[subArrayRecordBKLNK]->offset = (
unsigned short)((
char *)&prec->
bklnk - (
char *)prec);
204 prt->papFldDes[subArrayRecordDISP]->size =
sizeof(prec->
disp);
205 prt->papFldDes[subArrayRecordDISP]->offset = (
unsigned short)((
char *)&prec->
disp - (
char *)prec);
206 prt->papFldDes[subArrayRecordPROC]->size =
sizeof(prec->
proc);
207 prt->papFldDes[subArrayRecordPROC]->offset = (
unsigned short)((
char *)&prec->
proc - (
char *)prec);
208 prt->papFldDes[subArrayRecordSTAT]->size =
sizeof(prec->
stat);
209 prt->papFldDes[subArrayRecordSTAT]->offset = (
unsigned short)((
char *)&prec->
stat - (
char *)prec);
210 prt->papFldDes[subArrayRecordSEVR]->size =
sizeof(prec->
sevr);
211 prt->papFldDes[subArrayRecordSEVR]->offset = (
unsigned short)((
char *)&prec->
sevr - (
char *)prec);
212 prt->papFldDes[subArrayRecordAMSG]->size =
sizeof(prec->
amsg);
213 prt->papFldDes[subArrayRecordAMSG]->offset = (
unsigned short)((
char *)&prec->
amsg - (
char *)prec);
214 prt->papFldDes[subArrayRecordNSTA]->size =
sizeof(prec->
nsta);
215 prt->papFldDes[subArrayRecordNSTA]->offset = (
unsigned short)((
char *)&prec->
nsta - (
char *)prec);
216 prt->papFldDes[subArrayRecordNSEV]->size =
sizeof(prec->
nsev);
217 prt->papFldDes[subArrayRecordNSEV]->offset = (
unsigned short)((
char *)&prec->
nsev - (
char *)prec);
218 prt->papFldDes[subArrayRecordNAMSG]->size =
sizeof(prec->
namsg);
219 prt->papFldDes[subArrayRecordNAMSG]->offset = (
unsigned short)((
char *)&prec->
namsg - (
char *)prec);
220 prt->papFldDes[subArrayRecordACKS]->size =
sizeof(prec->
acks);
221 prt->papFldDes[subArrayRecordACKS]->offset = (
unsigned short)((
char *)&prec->
acks - (
char *)prec);
222 prt->papFldDes[subArrayRecordACKT]->size =
sizeof(prec->
ackt);
223 prt->papFldDes[subArrayRecordACKT]->offset = (
unsigned short)((
char *)&prec->
ackt - (
char *)prec);
224 prt->papFldDes[subArrayRecordDISS]->size =
sizeof(prec->
diss);
225 prt->papFldDes[subArrayRecordDISS]->offset = (
unsigned short)((
char *)&prec->
diss - (
char *)prec);
226 prt->papFldDes[subArrayRecordLCNT]->size =
sizeof(prec->
lcnt);
227 prt->papFldDes[subArrayRecordLCNT]->offset = (
unsigned short)((
char *)&prec->
lcnt - (
char *)prec);
228 prt->papFldDes[subArrayRecordPACT]->size =
sizeof(prec->
pact);
229 prt->papFldDes[subArrayRecordPACT]->offset = (
unsigned short)((
char *)&prec->
pact - (
char *)prec);
230 prt->papFldDes[subArrayRecordPUTF]->size =
sizeof(prec->
putf);
231 prt->papFldDes[subArrayRecordPUTF]->offset = (
unsigned short)((
char *)&prec->
putf - (
char *)prec);
232 prt->papFldDes[subArrayRecordRPRO]->size =
sizeof(prec->
rpro);
233 prt->papFldDes[subArrayRecordRPRO]->offset = (
unsigned short)((
char *)&prec->
rpro - (
char *)prec);
234 prt->papFldDes[subArrayRecordASP]->size =
sizeof(prec->
asp);
235 prt->papFldDes[subArrayRecordASP]->offset = (
unsigned short)((
char *)&prec->
asp - (
char *)prec);
236 prt->papFldDes[subArrayRecordPPN]->size =
sizeof(prec->
ppn);
237 prt->papFldDes[subArrayRecordPPN]->offset = (
unsigned short)((
char *)&prec->
ppn - (
char *)prec);
238 prt->papFldDes[subArrayRecordPPNR]->size =
sizeof(prec->
ppnr);
239 prt->papFldDes[subArrayRecordPPNR]->offset = (
unsigned short)((
char *)&prec->
ppnr - (
char *)prec);
240 prt->papFldDes[subArrayRecordSPVT]->size =
sizeof(prec->
spvt);
241 prt->papFldDes[subArrayRecordSPVT]->offset = (
unsigned short)((
char *)&prec->
spvt - (
char *)prec);
242 prt->papFldDes[subArrayRecordRSET]->size =
sizeof(prec->
rset);
243 prt->papFldDes[subArrayRecordRSET]->offset = (
unsigned short)((
char *)&prec->
rset - (
char *)prec);
244 prt->papFldDes[subArrayRecordDSET]->size =
sizeof(prec->
dset);
245 prt->papFldDes[subArrayRecordDSET]->offset = (
unsigned short)((
char *)&prec->
dset - (
char *)prec);
246 prt->papFldDes[subArrayRecordDPVT]->size =
sizeof(prec->
dpvt);
247 prt->papFldDes[subArrayRecordDPVT]->offset = (
unsigned short)((
char *)&prec->
dpvt - (
char *)prec);
248 prt->papFldDes[subArrayRecordRDES]->size =
sizeof(prec->
rdes);
249 prt->papFldDes[subArrayRecordRDES]->offset = (
unsigned short)((
char *)&prec->
rdes - (
char *)prec);
250 prt->papFldDes[subArrayRecordLSET]->size =
sizeof(prec->
lset);
251 prt->papFldDes[subArrayRecordLSET]->offset = (
unsigned short)((
char *)&prec->
lset - (
char *)prec);
252 prt->papFldDes[subArrayRecordPRIO]->size =
sizeof(prec->
prio);
253 prt->papFldDes[subArrayRecordPRIO]->offset = (
unsigned short)((
char *)&prec->
prio - (
char *)prec);
254 prt->papFldDes[subArrayRecordTPRO]->size =
sizeof(prec->
tpro);
255 prt->papFldDes[subArrayRecordTPRO]->offset = (
unsigned short)((
char *)&prec->
tpro - (
char *)prec);
256 prt->papFldDes[subArrayRecordBKPT]->size =
sizeof(prec->
bkpt);
257 prt->papFldDes[subArrayRecordBKPT]->offset = (
unsigned short)((
char *)&prec->
bkpt - (
char *)prec);
258 prt->papFldDes[subArrayRecordUDF]->size =
sizeof(prec->
udf);
259 prt->papFldDes[subArrayRecordUDF]->offset = (
unsigned short)((
char *)&prec->
udf - (
char *)prec);
260 prt->papFldDes[subArrayRecordUDFS]->size =
sizeof(prec->
udfs);
261 prt->papFldDes[subArrayRecordUDFS]->offset = (
unsigned short)((
char *)&prec->
udfs - (
char *)prec);
262 prt->papFldDes[subArrayRecordTIME]->size =
sizeof(prec->
time);
263 prt->papFldDes[subArrayRecordTIME]->offset = (
unsigned short)((
char *)&prec->
time - (
char *)prec);
264 prt->papFldDes[subArrayRecordUTAG]->size =
sizeof(prec->
utag);
265 prt->papFldDes[subArrayRecordUTAG]->offset = (
unsigned short)((
char *)&prec->
utag - (
char *)prec);
266 prt->papFldDes[subArrayRecordFLNK]->size =
sizeof(prec->
flnk);
267 prt->papFldDes[subArrayRecordFLNK]->offset = (
unsigned short)((
char *)&prec->
flnk - (
char *)prec);
268 prt->papFldDes[subArrayRecordVAL]->size =
sizeof(prec->
val);
269 prt->papFldDes[subArrayRecordVAL]->offset = (
unsigned short)((
char *)&prec->
val - (
char *)prec);
270 prt->papFldDes[subArrayRecordPREC]->size =
sizeof(prec->
prec);
271 prt->papFldDes[subArrayRecordPREC]->offset = (
unsigned short)((
char *)&prec->
prec - (
char *)prec);
272 prt->papFldDes[subArrayRecordFTVL]->size =
sizeof(prec->
ftvl);
273 prt->papFldDes[subArrayRecordFTVL]->offset = (
unsigned short)((
char *)&prec->
ftvl - (
char *)prec);
274 prt->papFldDes[subArrayRecordINP]->size =
sizeof(prec->
inp);
275 prt->papFldDes[subArrayRecordINP]->offset = (
unsigned short)((
char *)&prec->
inp - (
char *)prec);
276 prt->papFldDes[subArrayRecordEGU]->size =
sizeof(prec->
egu);
277 prt->papFldDes[subArrayRecordEGU]->offset = (
unsigned short)((
char *)&prec->
egu - (
char *)prec);
278 prt->papFldDes[subArrayRecordHOPR]->size =
sizeof(prec->
hopr);
279 prt->papFldDes[subArrayRecordHOPR]->offset = (
unsigned short)((
char *)&prec->
hopr - (
char *)prec);
280 prt->papFldDes[subArrayRecordLOPR]->size =
sizeof(prec->
lopr);
281 prt->papFldDes[subArrayRecordLOPR]->offset = (
unsigned short)((
char *)&prec->
lopr - (
char *)prec);
282 prt->papFldDes[subArrayRecordMALM]->size =
sizeof(prec->
malm);
283 prt->papFldDes[subArrayRecordMALM]->offset = (
unsigned short)((
char *)&prec->
malm - (
char *)prec);
284 prt->papFldDes[subArrayRecordNELM]->size =
sizeof(prec->
nelm);
285 prt->papFldDes[subArrayRecordNELM]->offset = (
unsigned short)((
char *)&prec->
nelm - (
char *)prec);
286 prt->papFldDes[subArrayRecordINDX]->size =
sizeof(prec->
indx);
287 prt->papFldDes[subArrayRecordINDX]->offset = (
unsigned short)((
char *)&prec->
indx - (
char *)prec);
288 prt->papFldDes[subArrayRecordBUSY]->size =
sizeof(prec->
busy);
289 prt->papFldDes[subArrayRecordBUSY]->offset = (
unsigned short)((
char *)&prec->
busy - (
char *)prec);
290 prt->papFldDes[subArrayRecordNORD]->size =
sizeof(prec->
nord);
291 prt->papFldDes[subArrayRecordNORD]->offset = (
unsigned short)((
char *)&prec->
nord - (
char *)prec);
292 prt->papFldDes[subArrayRecordBPTR]->size =
sizeof(prec->
bptr);
293 prt->papFldDes[subArrayRecordBPTR]->offset = (
unsigned short)((
char *)&prec->
bptr - (
char *)prec);
294 prt->rec_size =
sizeof(*prec);
epicsUInt32 malm
Maximum Elements.
struct scan_element * spvt
Scan Private.
epicsUInt8 putf
dbPutField process
struct typed_rset * rset
Address of RSET.
epicsEnum16 nsta
New Alarm Status.
unambiguous_dset * dset
DSET address.
epicsFloat64 lopr
Low Operating Range.
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.
epicsEnum16 sevr
Alarm Severity.
The core data types used by epics.
epicsInt16 phas
Scan Phase.
char egu[16]
Engineering Units.
char asg[29]
Access Security Group.
epicsEnum16 stat
Alarm Status.
epicsUInt8 disp
Disable putField.
epicsInt16 disv
Disable Value.
DBLINK flnk
Forward Process Link.
Routines for code that can't continue or return after an error.
epicsMutexId mlok
Monitor lock.
char amsg[40]
Alarm Message.
epicsUInt8 proc
Force Processing.
epicsEnum16 ackt
Alarm Ack Transient.
epicsEnum16 ftvl
Field Type of Value.
EPICS time stamp, for use from C code.
epicsEnum16 scan
Scan Mechanism.
A doubly-linked list library.
epicsInt16 tse
Time Stamp Event.
epicsEnum16 dtyp
Device Type.
epicsUInt32 indx
Substring Index.
epicsEnum16 acks
Alarm Ack Severity.
ELLLIST bklnk
Backwards link tracking.
epicsUInt32 nelm
Number of Elements.
epicsUInt8 pact
Record active.
struct processNotifyRecord * ppnr
pprocessNotifyRecord
APIs for the epicsMutex mutual exclusion semaphore.
epicsFloat64 hopr
High Operating Range.
char name[61]
Record Name.
epicsEnum16 prio
Scheduling Priority.
epicsUInt8 rpro
Reprocess.
DBLINK sdis
Scanning Disable.
#define epicsExportRegistrar(fun)
Declare a registrar function for exporting.
void * dpvt
Device Private.
struct dbRecordType * rdes
Address of dbRecordType.
struct asgMember * asp
Access Security Pvt.
epicsEnum16 udfs
Undefined Alarm Sevrty.
epicsUInt8 lcnt
Lock Count.
epicsInt16 busy
Busy Indicator.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
struct lockRecord * lset
Lock Set.
struct processNotify * ppn
pprocessNotify
epicsEnum16 pini
Process at iocInit.
epicsInt32 nord
Number elements read.
epicsEnum16 diss
Disable Alarm Sevrty.
epicsUInt64 utag
Time Tag.
DBLINK tsel
Time Stamp Link.
Declaration of subArray record type.
epicsInt16 prec
Display Precision.
epicsUInt8 tpro
Trace Processing.
epicsUInt8 bkpt
Break Point.
char namsg[40]
New Alarm Message.
struct epicsMutexParm * epicsMutexId
An identifier for an epicsMutex for use with the C API.
ELLLIST mlis
Monitor List.
void * bptr
Buffer Pointer.
DBLINK inp
Input Specification.