00001
00002
00003
00004 #include "registryCommon.h"
00005 #include "iocsh.h"
00006 #include "iocshRegisterCommon.h"
00007
00008 extern "C" {
00009 epicsShareExtern rset *pvar_rset_aiRSET;
00010 epicsShareExtern int (*pvar_func_aiRecordSizeOffset)(dbRecordType *pdbRecordType);
00011 epicsShareExtern rset *pvar_rset_aoRSET;
00012 epicsShareExtern int (*pvar_func_aoRecordSizeOffset)(dbRecordType *pdbRecordType);
00013 epicsShareExtern rset *pvar_rset_aSubRSET;
00014 epicsShareExtern int (*pvar_func_aSubRecordSizeOffset)(dbRecordType *pdbRecordType);
00015 epicsShareExtern rset *pvar_rset_biRSET;
00016 epicsShareExtern int (*pvar_func_biRecordSizeOffset)(dbRecordType *pdbRecordType);
00017 epicsShareExtern rset *pvar_rset_boRSET;
00018 epicsShareExtern int (*pvar_func_boRecordSizeOffset)(dbRecordType *pdbRecordType);
00019 epicsShareExtern rset *pvar_rset_calcRSET;
00020 epicsShareExtern int (*pvar_func_calcRecordSizeOffset)(dbRecordType *pdbRecordType);
00021 epicsShareExtern rset *pvar_rset_calcoutRSET;
00022 epicsShareExtern int (*pvar_func_calcoutRecordSizeOffset)(dbRecordType *pdbRecordType);
00023 epicsShareExtern rset *pvar_rset_compressRSET;
00024 epicsShareExtern int (*pvar_func_compressRecordSizeOffset)(dbRecordType *pdbRecordType);
00025 epicsShareExtern rset *pvar_rset_dfanoutRSET;
00026 epicsShareExtern int (*pvar_func_dfanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
00027 epicsShareExtern rset *pvar_rset_eventRSET;
00028 epicsShareExtern int (*pvar_func_eventRecordSizeOffset)(dbRecordType *pdbRecordType);
00029 epicsShareExtern rset *pvar_rset_fanoutRSET;
00030 epicsShareExtern int (*pvar_func_fanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
00031 epicsShareExtern rset *pvar_rset_longinRSET;
00032 epicsShareExtern int (*pvar_func_longinRecordSizeOffset)(dbRecordType *pdbRecordType);
00033 epicsShareExtern rset *pvar_rset_longoutRSET;
00034 epicsShareExtern int (*pvar_func_longoutRecordSizeOffset)(dbRecordType *pdbRecordType);
00035 epicsShareExtern rset *pvar_rset_mbbiRSET;
00036 epicsShareExtern int (*pvar_func_mbbiRecordSizeOffset)(dbRecordType *pdbRecordType);
00037 epicsShareExtern rset *pvar_rset_mbbiDirectRSET;
00038 epicsShareExtern int (*pvar_func_mbbiDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
00039 epicsShareExtern rset *pvar_rset_mbboRSET;
00040 epicsShareExtern int (*pvar_func_mbboRecordSizeOffset)(dbRecordType *pdbRecordType);
00041 epicsShareExtern rset *pvar_rset_mbboDirectRSET;
00042 epicsShareExtern int (*pvar_func_mbboDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
00043 epicsShareExtern rset *pvar_rset_permissiveRSET;
00044 epicsShareExtern int (*pvar_func_permissiveRecordSizeOffset)(dbRecordType *pdbRecordType);
00045 epicsShareExtern rset *pvar_rset_selRSET;
00046 epicsShareExtern int (*pvar_func_selRecordSizeOffset)(dbRecordType *pdbRecordType);
00047 epicsShareExtern rset *pvar_rset_seqRSET;
00048 epicsShareExtern int (*pvar_func_seqRecordSizeOffset)(dbRecordType *pdbRecordType);
00049 epicsShareExtern rset *pvar_rset_stateRSET;
00050 epicsShareExtern int (*pvar_func_stateRecordSizeOffset)(dbRecordType *pdbRecordType);
00051 epicsShareExtern rset *pvar_rset_stringinRSET;
00052 epicsShareExtern int (*pvar_func_stringinRecordSizeOffset)(dbRecordType *pdbRecordType);
00053 epicsShareExtern rset *pvar_rset_stringoutRSET;
00054 epicsShareExtern int (*pvar_func_stringoutRecordSizeOffset)(dbRecordType *pdbRecordType);
00055 epicsShareExtern rset *pvar_rset_subRSET;
00056 epicsShareExtern int (*pvar_func_subRecordSizeOffset)(dbRecordType *pdbRecordType);
00057 epicsShareExtern rset *pvar_rset_subArrayRSET;
00058 epicsShareExtern int (*pvar_func_subArrayRecordSizeOffset)(dbRecordType *pdbRecordType);
00059 epicsShareExtern rset *pvar_rset_waveformRSET;
00060 epicsShareExtern int (*pvar_func_waveformRecordSizeOffset)(dbRecordType *pdbRecordType);
00061 epicsShareExtern rset *pvar_rset_asynRSET;
00062 epicsShareExtern int (*pvar_func_asynRecordSizeOffset)(dbRecordType *pdbRecordType);
00063
00064 static const char * const recordTypeNames[27] = {
00065 "ai",
00066 "ao",
00067 "aSub",
00068 "bi",
00069 "bo",
00070 "calc",
00071 "calcout",
00072 "compress",
00073 "dfanout",
00074 "event",
00075 "fanout",
00076 "longin",
00077 "longout",
00078 "mbbi",
00079 "mbbiDirect",
00080 "mbbo",
00081 "mbboDirect",
00082 "permissive",
00083 "sel",
00084 "seq",
00085 "state",
00086 "stringin",
00087 "stringout",
00088 "sub",
00089 "subArray",
00090 "waveform",
00091 "asyn"
00092 };
00093
00094 static const recordTypeLocation rtl[27] = {
00095 {pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset},
00096 {pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset},
00097 {pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset},
00098 {pvar_rset_biRSET, pvar_func_biRecordSizeOffset},
00099 {pvar_rset_boRSET, pvar_func_boRecordSizeOffset},
00100 {pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset},
00101 {pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset},
00102 {pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset},
00103 {pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset},
00104 {pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset},
00105 {pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset},
00106 {pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset},
00107 {pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset},
00108 {pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset},
00109 {pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset},
00110 {pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset},
00111 {pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset},
00112 {pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset},
00113 {pvar_rset_selRSET, pvar_func_selRecordSizeOffset},
00114 {pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset},
00115 {pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset},
00116 {pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset},
00117 {pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset},
00118 {pvar_rset_subRSET, pvar_func_subRecordSizeOffset},
00119 {pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset},
00120 {pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset},
00121 {pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset}
00122 };
00123
00124 epicsShareExtern dset *pvar_dset_devAiSoft;
00125 epicsShareExtern dset *pvar_dset_devAiSoftRaw;
00126 epicsShareExtern dset *pvar_dset_devTimestampAI;
00127 epicsShareExtern dset *pvar_dset_devAiGeneralTime;
00128 epicsShareExtern dset *pvar_dset_devCAENx527chAi;
00129 epicsShareExtern dset *pvar_dset_devaiStream;
00130 epicsShareExtern dset *pvar_dset_asynAiInt32;
00131 epicsShareExtern dset *pvar_dset_asynAiInt32Average;
00132 epicsShareExtern dset *pvar_dset_asynAiFloat64;
00133 epicsShareExtern dset *pvar_dset_asynAiFloat64Average;
00134 epicsShareExtern dset *pvar_dset_devAoSoft;
00135 epicsShareExtern dset *pvar_dset_devAoSoftRaw;
00136 epicsShareExtern dset *pvar_dset_devAoSoftCallback;
00137 epicsShareExtern dset *pvar_dset_devCAENx527chAo;
00138 epicsShareExtern dset *pvar_dset_devaoStream;
00139 epicsShareExtern dset *pvar_dset_asynAoInt32;
00140 epicsShareExtern dset *pvar_dset_asynAoFloat64;
00141 epicsShareExtern dset *pvar_dset_devBiSoft;
00142 epicsShareExtern dset *pvar_dset_devBiSoftRaw;
00143 epicsShareExtern dset *pvar_dset_devCAENx527chBi;
00144 epicsShareExtern dset *pvar_dset_devbiStream;
00145 epicsShareExtern dset *pvar_dset_asynBiInt32;
00146 epicsShareExtern dset *pvar_dset_asynBiUInt32Digital;
00147 epicsShareExtern dset *pvar_dset_devBoSoft;
00148 epicsShareExtern dset *pvar_dset_devBoSoftRaw;
00149 epicsShareExtern dset *pvar_dset_devBoSoftCallback;
00150 epicsShareExtern dset *pvar_dset_devBoGeneralTime;
00151 epicsShareExtern dset *pvar_dset_devCAENx527chBo;
00152 epicsShareExtern dset *pvar_dset_devboStream;
00153 epicsShareExtern dset *pvar_dset_asynBoInt32;
00154 epicsShareExtern dset *pvar_dset_asynBoUInt32Digital;
00155 epicsShareExtern dset *pvar_dset_devCalcoutSoft;
00156 epicsShareExtern dset *pvar_dset_devCalcoutSoftCallback;
00157 epicsShareExtern dset *pvar_dset_devcalcoutStream;
00158 epicsShareExtern dset *pvar_dset_devEventSoft;
00159 epicsShareExtern dset *pvar_dset_devLiSoft;
00160 epicsShareExtern dset *pvar_dset_devLiGeneralTime;
00161 epicsShareExtern dset *pvar_dset_devCAENx527chLongin;
00162 epicsShareExtern dset *pvar_dset_devlonginStream;
00163 epicsShareExtern dset *pvar_dset_asynLiInt32;
00164 epicsShareExtern dset *pvar_dset_asynLiUInt32Digital;
00165 epicsShareExtern dset *pvar_dset_devLoSoft;
00166 epicsShareExtern dset *pvar_dset_devLoSoftCallback;
00167 epicsShareExtern dset *pvar_dset_devCAENx527chLongout;
00168 epicsShareExtern dset *pvar_dset_devlongoutStream;
00169 epicsShareExtern dset *pvar_dset_asynLoInt32;
00170 epicsShareExtern dset *pvar_dset_asynLoUInt32Digital;
00171 epicsShareExtern dset *pvar_dset_devMbbiSoft;
00172 epicsShareExtern dset *pvar_dset_devMbbiSoftRaw;
00173 epicsShareExtern dset *pvar_dset_devCAENx527chMBBi;
00174 epicsShareExtern dset *pvar_dset_devmbbiStream;
00175 epicsShareExtern dset *pvar_dset_asynMbbiInt32;
00176 epicsShareExtern dset *pvar_dset_asynMbbiUInt32Digital;
00177 epicsShareExtern dset *pvar_dset_devMbbiDirectSoft;
00178 epicsShareExtern dset *pvar_dset_devMbbiDirectSoftRaw;
00179 epicsShareExtern dset *pvar_dset_devmbbiDirectStream;
00180 epicsShareExtern dset *pvar_dset_asynMbbiDirectUInt32Digital;
00181 epicsShareExtern dset *pvar_dset_devMbboSoft;
00182 epicsShareExtern dset *pvar_dset_devMbboSoftRaw;
00183 epicsShareExtern dset *pvar_dset_devMbboSoftCallback;
00184 epicsShareExtern dset *pvar_dset_devCAENx527chMBBo;
00185 epicsShareExtern dset *pvar_dset_devmbboStream;
00186 epicsShareExtern dset *pvar_dset_asynMbboInt32;
00187 epicsShareExtern dset *pvar_dset_asynMbboUInt32Digital;
00188 epicsShareExtern dset *pvar_dset_devMbboDirectSoft;
00189 epicsShareExtern dset *pvar_dset_devMbboDirectSoftRaw;
00190 epicsShareExtern dset *pvar_dset_devMbboDirectSoftCallback;
00191 epicsShareExtern dset *pvar_dset_devmbboDirectStream;
00192 epicsShareExtern dset *pvar_dset_asynMbboDirectUInt32Digital;
00193 epicsShareExtern dset *pvar_dset_devSiSoft;
00194 epicsShareExtern dset *pvar_dset_devTimestampSI;
00195 epicsShareExtern dset *pvar_dset_devSiGeneralTime;
00196 epicsShareExtern dset *pvar_dset_devCAENx527chStringin;
00197 epicsShareExtern dset *pvar_dset_devstringinStream;
00198 epicsShareExtern dset *pvar_dset_asynSiOctetCmdResponse;
00199 epicsShareExtern dset *pvar_dset_asynSiOctetWriteRead;
00200 epicsShareExtern dset *pvar_dset_asynSiOctetRead;
00201 epicsShareExtern dset *pvar_dset_devSoSoft;
00202 epicsShareExtern dset *pvar_dset_devSoSoftCallback;
00203 epicsShareExtern dset *pvar_dset_devSoStdio;
00204 epicsShareExtern dset *pvar_dset_devCAENx527chStringout;
00205 epicsShareExtern dset *pvar_dset_devstringoutStream;
00206 epicsShareExtern dset *pvar_dset_asynSoOctetWrite;
00207 epicsShareExtern dset *pvar_dset_devSASoft;
00208 epicsShareExtern dset *pvar_dset_devWfSoft;
00209 epicsShareExtern dset *pvar_dset_devwaveformStream;
00210 epicsShareExtern dset *pvar_dset_asynWfOctetCmdResponse;
00211 epicsShareExtern dset *pvar_dset_asynWfOctetWriteRead;
00212 epicsShareExtern dset *pvar_dset_asynWfOctetRead;
00213 epicsShareExtern dset *pvar_dset_asynWfOctetWrite;
00214 epicsShareExtern dset *pvar_dset_asynInt8ArrayWfIn;
00215 epicsShareExtern dset *pvar_dset_asynInt8ArrayWfOut;
00216 epicsShareExtern dset *pvar_dset_asynInt16ArrayWfIn;
00217 epicsShareExtern dset *pvar_dset_asynInt16ArrayWfOut;
00218 epicsShareExtern dset *pvar_dset_asynInt32ArrayWfIn;
00219 epicsShareExtern dset *pvar_dset_asynInt32ArrayWfOut;
00220 epicsShareExtern dset *pvar_dset_asynFloat32ArrayWfIn;
00221 epicsShareExtern dset *pvar_dset_asynFloat32ArrayWfOut;
00222 epicsShareExtern dset *pvar_dset_asynFloat64ArrayWfIn;
00223 epicsShareExtern dset *pvar_dset_asynFloat64ArrayWfOut;
00224 epicsShareExtern dset *pvar_dset_asynRecordDevice;
00225
00226 static const char * const deviceSupportNames[101] = {
00227 "devAiSoft",
00228 "devAiSoftRaw",
00229 "devTimestampAI",
00230 "devAiGeneralTime",
00231 "devCAENx527chAi",
00232 "devaiStream",
00233 "asynAiInt32",
00234 "asynAiInt32Average",
00235 "asynAiFloat64",
00236 "asynAiFloat64Average",
00237 "devAoSoft",
00238 "devAoSoftRaw",
00239 "devAoSoftCallback",
00240 "devCAENx527chAo",
00241 "devaoStream",
00242 "asynAoInt32",
00243 "asynAoFloat64",
00244 "devBiSoft",
00245 "devBiSoftRaw",
00246 "devCAENx527chBi",
00247 "devbiStream",
00248 "asynBiInt32",
00249 "asynBiUInt32Digital",
00250 "devBoSoft",
00251 "devBoSoftRaw",
00252 "devBoSoftCallback",
00253 "devBoGeneralTime",
00254 "devCAENx527chBo",
00255 "devboStream",
00256 "asynBoInt32",
00257 "asynBoUInt32Digital",
00258 "devCalcoutSoft",
00259 "devCalcoutSoftCallback",
00260 "devcalcoutStream",
00261 "devEventSoft",
00262 "devLiSoft",
00263 "devLiGeneralTime",
00264 "devCAENx527chLongin",
00265 "devlonginStream",
00266 "asynLiInt32",
00267 "asynLiUInt32Digital",
00268 "devLoSoft",
00269 "devLoSoftCallback",
00270 "devCAENx527chLongout",
00271 "devlongoutStream",
00272 "asynLoInt32",
00273 "asynLoUInt32Digital",
00274 "devMbbiSoft",
00275 "devMbbiSoftRaw",
00276 "devCAENx527chMBBi",
00277 "devmbbiStream",
00278 "asynMbbiInt32",
00279 "asynMbbiUInt32Digital",
00280 "devMbbiDirectSoft",
00281 "devMbbiDirectSoftRaw",
00282 "devmbbiDirectStream",
00283 "asynMbbiDirectUInt32Digital",
00284 "devMbboSoft",
00285 "devMbboSoftRaw",
00286 "devMbboSoftCallback",
00287 "devCAENx527chMBBo",
00288 "devmbboStream",
00289 "asynMbboInt32",
00290 "asynMbboUInt32Digital",
00291 "devMbboDirectSoft",
00292 "devMbboDirectSoftRaw",
00293 "devMbboDirectSoftCallback",
00294 "devmbboDirectStream",
00295 "asynMbboDirectUInt32Digital",
00296 "devSiSoft",
00297 "devTimestampSI",
00298 "devSiGeneralTime",
00299 "devCAENx527chStringin",
00300 "devstringinStream",
00301 "asynSiOctetCmdResponse",
00302 "asynSiOctetWriteRead",
00303 "asynSiOctetRead",
00304 "devSoSoft",
00305 "devSoSoftCallback",
00306 "devSoStdio",
00307 "devCAENx527chStringout",
00308 "devstringoutStream",
00309 "asynSoOctetWrite",
00310 "devSASoft",
00311 "devWfSoft",
00312 "devwaveformStream",
00313 "asynWfOctetCmdResponse",
00314 "asynWfOctetWriteRead",
00315 "asynWfOctetRead",
00316 "asynWfOctetWrite",
00317 "asynInt8ArrayWfIn",
00318 "asynInt8ArrayWfOut",
00319 "asynInt16ArrayWfIn",
00320 "asynInt16ArrayWfOut",
00321 "asynInt32ArrayWfIn",
00322 "asynInt32ArrayWfOut",
00323 "asynFloat32ArrayWfIn",
00324 "asynFloat32ArrayWfOut",
00325 "asynFloat64ArrayWfIn",
00326 "asynFloat64ArrayWfOut",
00327 "asynRecordDevice"
00328 };
00329
00330 static const dset * const devsl[101] = {
00331 pvar_dset_devAiSoft,
00332 pvar_dset_devAiSoftRaw,
00333 pvar_dset_devTimestampAI,
00334 pvar_dset_devAiGeneralTime,
00335 pvar_dset_devCAENx527chAi,
00336 pvar_dset_devaiStream,
00337 pvar_dset_asynAiInt32,
00338 pvar_dset_asynAiInt32Average,
00339 pvar_dset_asynAiFloat64,
00340 pvar_dset_asynAiFloat64Average,
00341 pvar_dset_devAoSoft,
00342 pvar_dset_devAoSoftRaw,
00343 pvar_dset_devAoSoftCallback,
00344 pvar_dset_devCAENx527chAo,
00345 pvar_dset_devaoStream,
00346 pvar_dset_asynAoInt32,
00347 pvar_dset_asynAoFloat64,
00348 pvar_dset_devBiSoft,
00349 pvar_dset_devBiSoftRaw,
00350 pvar_dset_devCAENx527chBi,
00351 pvar_dset_devbiStream,
00352 pvar_dset_asynBiInt32,
00353 pvar_dset_asynBiUInt32Digital,
00354 pvar_dset_devBoSoft,
00355 pvar_dset_devBoSoftRaw,
00356 pvar_dset_devBoSoftCallback,
00357 pvar_dset_devBoGeneralTime,
00358 pvar_dset_devCAENx527chBo,
00359 pvar_dset_devboStream,
00360 pvar_dset_asynBoInt32,
00361 pvar_dset_asynBoUInt32Digital,
00362 pvar_dset_devCalcoutSoft,
00363 pvar_dset_devCalcoutSoftCallback,
00364 pvar_dset_devcalcoutStream,
00365 pvar_dset_devEventSoft,
00366 pvar_dset_devLiSoft,
00367 pvar_dset_devLiGeneralTime,
00368 pvar_dset_devCAENx527chLongin,
00369 pvar_dset_devlonginStream,
00370 pvar_dset_asynLiInt32,
00371 pvar_dset_asynLiUInt32Digital,
00372 pvar_dset_devLoSoft,
00373 pvar_dset_devLoSoftCallback,
00374 pvar_dset_devCAENx527chLongout,
00375 pvar_dset_devlongoutStream,
00376 pvar_dset_asynLoInt32,
00377 pvar_dset_asynLoUInt32Digital,
00378 pvar_dset_devMbbiSoft,
00379 pvar_dset_devMbbiSoftRaw,
00380 pvar_dset_devCAENx527chMBBi,
00381 pvar_dset_devmbbiStream,
00382 pvar_dset_asynMbbiInt32,
00383 pvar_dset_asynMbbiUInt32Digital,
00384 pvar_dset_devMbbiDirectSoft,
00385 pvar_dset_devMbbiDirectSoftRaw,
00386 pvar_dset_devmbbiDirectStream,
00387 pvar_dset_asynMbbiDirectUInt32Digital,
00388 pvar_dset_devMbboSoft,
00389 pvar_dset_devMbboSoftRaw,
00390 pvar_dset_devMbboSoftCallback,
00391 pvar_dset_devCAENx527chMBBo,
00392 pvar_dset_devmbboStream,
00393 pvar_dset_asynMbboInt32,
00394 pvar_dset_asynMbboUInt32Digital,
00395 pvar_dset_devMbboDirectSoft,
00396 pvar_dset_devMbboDirectSoftRaw,
00397 pvar_dset_devMbboDirectSoftCallback,
00398 pvar_dset_devmbboDirectStream,
00399 pvar_dset_asynMbboDirectUInt32Digital,
00400 pvar_dset_devSiSoft,
00401 pvar_dset_devTimestampSI,
00402 pvar_dset_devSiGeneralTime,
00403 pvar_dset_devCAENx527chStringin,
00404 pvar_dset_devstringinStream,
00405 pvar_dset_asynSiOctetCmdResponse,
00406 pvar_dset_asynSiOctetWriteRead,
00407 pvar_dset_asynSiOctetRead,
00408 pvar_dset_devSoSoft,
00409 pvar_dset_devSoSoftCallback,
00410 pvar_dset_devSoStdio,
00411 pvar_dset_devCAENx527chStringout,
00412 pvar_dset_devstringoutStream,
00413 pvar_dset_asynSoOctetWrite,
00414 pvar_dset_devSASoft,
00415 pvar_dset_devWfSoft,
00416 pvar_dset_devwaveformStream,
00417 pvar_dset_asynWfOctetCmdResponse,
00418 pvar_dset_asynWfOctetWriteRead,
00419 pvar_dset_asynWfOctetRead,
00420 pvar_dset_asynWfOctetWrite,
00421 pvar_dset_asynInt8ArrayWfIn,
00422 pvar_dset_asynInt8ArrayWfOut,
00423 pvar_dset_asynInt16ArrayWfIn,
00424 pvar_dset_asynInt16ArrayWfOut,
00425 pvar_dset_asynInt32ArrayWfIn,
00426 pvar_dset_asynInt32ArrayWfOut,
00427 pvar_dset_asynFloat32ArrayWfIn,
00428 pvar_dset_asynFloat32ArrayWfOut,
00429 pvar_dset_asynFloat64ArrayWfIn,
00430 pvar_dset_asynFloat64ArrayWfOut,
00431 pvar_dset_asynRecordDevice
00432 };
00433
00434 epicsShareExtern drvet *pvar_drvet_drvCAENx527;
00435 epicsShareExtern drvet *pvar_drvet_stream;
00436 epicsShareExtern drvet *pvar_drvet_drvAsyn;
00437
00438 static const char *driverSupportNames[3] = {
00439 "drvCAENx527",
00440 "stream",
00441 "drvAsyn"
00442 };
00443
00444 static struct drvet *drvsl[3] = {
00445 pvar_drvet_drvCAENx527,
00446 pvar_drvet_stream,
00447 pvar_drvet_drvAsyn
00448 };
00449
00450 epicsShareExtern void (*pvar_func_asSub)(void);
00451 epicsShareExtern void (*pvar_func_drvAsynIPPortRegisterCommands)(void);
00452 epicsShareExtern void (*pvar_func_streamRegistrar)(void);
00453 epicsShareExtern void (*pvar_func_asynRegister)(void);
00454 epicsShareExtern void (*pvar_func_asynInterposeFlushRegister)(void);
00455 epicsShareExtern void (*pvar_func_asynInterposeEosRegister)(void);
00456 epicsShareExtern void (*pvar_func_drvAsynIPServerPortRegisterCommands)(void);
00457 epicsShareExtern void (*pvar_func_drvAsynSerialPortRegisterCommands)(void);
00458 epicsShareExtern void (*pvar_func_drvModbusAsynRegister)(void);
00459 epicsShareExtern void (*pvar_func_modbusInterposeRegister)(void);
00460 epicsShareExtern void (*pvar_func_newCaenCrateRegister)(void);
00461 epicsShareExtern void (*pvar_func_connectAllCaenCratesRegister)(void);
00462 epicsShareExtern void (*pvar_func_group1Registrar)(void);
00463 epicsShareExtern void (*pvar_func_group2Registrar)(void);
00464 epicsShareExtern void (*pvar_func_lasertableRegistrar)(void);
00465
00466 epicsShareExtern int *pvar_int_asCaDebug;
00467 epicsShareExtern int *pvar_int_dbRecordsOnceOnly;
00468 epicsShareExtern int *pvar_int_dbBptNotMonotonic;
00469 epicsShareExtern int *pvar_int_streamDebug;
00470 static struct iocshVarDef vardefs[] = {
00471 {"asCaDebug", iocshArgInt, (void * const)pvar_int_asCaDebug},
00472 {"dbRecordsOnceOnly", iocshArgInt, (void * const)pvar_int_dbRecordsOnceOnly},
00473 {"dbBptNotMonotonic", iocshArgInt, (void * const)pvar_int_dbBptNotMonotonic},
00474 {"streamDebug", iocshArgInt, (void * const)pvar_int_streamDebug},
00475 {NULL, iocshArgInt, NULL}
00476 };
00477
00478 int cbmall_registerRecordDeviceDriver(DBBASE *pbase)
00479 {
00480 if (!pbase) {
00481 printf("pdbbase is NULL; you must load a DBD file first.\n");
00482 return -1;
00483 }
00484 registerRecordTypes(pbase, 27, recordTypeNames, rtl);
00485 registerDevices(pbase, 101, deviceSupportNames, devsl);
00486 registerDrivers(pbase, 3, driverSupportNames, drvsl);
00487 (*pvar_func_asSub)();
00488 (*pvar_func_drvAsynIPPortRegisterCommands)();
00489 (*pvar_func_streamRegistrar)();
00490 (*pvar_func_asynRegister)();
00491 (*pvar_func_asynInterposeFlushRegister)();
00492 (*pvar_func_asynInterposeEosRegister)();
00493 (*pvar_func_drvAsynIPServerPortRegisterCommands)();
00494 (*pvar_func_drvAsynSerialPortRegisterCommands)();
00495 (*pvar_func_drvModbusAsynRegister)();
00496 (*pvar_func_modbusInterposeRegister)();
00497 (*pvar_func_newCaenCrateRegister)();
00498 (*pvar_func_connectAllCaenCratesRegister)();
00499 (*pvar_func_group1Registrar)();
00500 (*pvar_func_group2Registrar)();
00501 (*pvar_func_lasertableRegistrar)();
00502 iocshRegisterVariable(vardefs);
00503 return 0;
00504 }
00505
00506
00507 static const iocshArg registerRecordDeviceDriverArg0 =
00508 {"pdbbase",iocshArgPdbbase};
00509 static const iocshArg *registerRecordDeviceDriverArgs[1] =
00510 {®isterRecordDeviceDriverArg0};
00511 static const iocshFuncDef registerRecordDeviceDriverFuncDef =
00512 {"cbmall_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs};
00513 static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *)
00514 {
00515 cbmall_registerRecordDeviceDriver(*iocshPpdbbase);
00516 }
00517
00518 }
00519
00520
00521
00522 class IoccrfReg {
00523 public:
00524 IoccrfReg() {
00525 iocshRegisterCommon();
00526 iocshRegister(®isterRecordDeviceDriverFuncDef,registerRecordDeviceDriverCallFunc);
00527 }
00528 };
00529 #if !defined(__GNUC__) || !(__GNUC__<2 || (__GNUC__==2 && __GNUC_MINOR__<=95))
00530 namespace { IoccrfReg iocshReg; }
00531 #else
00532 IoccrfReg iocshReg;
00533 #endif