tv301sf/tv301sfApp/src/O.linux-x86_64/tv301sf_registerRecordDeviceDriver.cpp
changeset 4 8a2328d953f0
equal deleted inserted replaced
3:1b83de4729dc 4:8a2328d953f0
       
     1 /* THIS IS A GENERATED FILE. DO NOT EDIT! */
       
     2 /* Generated from ../O.Common/tv301sf.dbd */
       
     3 
       
     4 #include "registryCommon.h"
       
     5 #include "iocsh.h"
       
     6 #include "iocshRegisterCommon.h"
       
     7 
       
     8 extern "C" {
       
     9 epicsShareExtern rset *pvar_rset_aiRSET;
       
    10 epicsShareExtern int (*pvar_func_aiRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    11 epicsShareExtern rset *pvar_rset_aoRSET;
       
    12 epicsShareExtern int (*pvar_func_aoRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    13 epicsShareExtern rset *pvar_rset_aSubRSET;
       
    14 epicsShareExtern int (*pvar_func_aSubRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    15 epicsShareExtern rset *pvar_rset_biRSET;
       
    16 epicsShareExtern int (*pvar_func_biRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    17 epicsShareExtern rset *pvar_rset_boRSET;
       
    18 epicsShareExtern int (*pvar_func_boRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    19 epicsShareExtern rset *pvar_rset_calcRSET;
       
    20 epicsShareExtern int (*pvar_func_calcRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    21 epicsShareExtern rset *pvar_rset_calcoutRSET;
       
    22 epicsShareExtern int (*pvar_func_calcoutRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    23 epicsShareExtern rset *pvar_rset_compressRSET;
       
    24 epicsShareExtern int (*pvar_func_compressRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    25 epicsShareExtern rset *pvar_rset_dfanoutRSET;
       
    26 epicsShareExtern int (*pvar_func_dfanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    27 epicsShareExtern rset *pvar_rset_eventRSET;
       
    28 epicsShareExtern int (*pvar_func_eventRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    29 epicsShareExtern rset *pvar_rset_fanoutRSET;
       
    30 epicsShareExtern int (*pvar_func_fanoutRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    31 epicsShareExtern rset *pvar_rset_histogramRSET;
       
    32 epicsShareExtern int (*pvar_func_histogramRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    33 epicsShareExtern rset *pvar_rset_longinRSET;
       
    34 epicsShareExtern int (*pvar_func_longinRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    35 epicsShareExtern rset *pvar_rset_longoutRSET;
       
    36 epicsShareExtern int (*pvar_func_longoutRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    37 epicsShareExtern rset *pvar_rset_mbbiRSET;
       
    38 epicsShareExtern int (*pvar_func_mbbiRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    39 epicsShareExtern rset *pvar_rset_mbbiDirectRSET;
       
    40 epicsShareExtern int (*pvar_func_mbbiDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    41 epicsShareExtern rset *pvar_rset_mbboRSET;
       
    42 epicsShareExtern int (*pvar_func_mbboRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    43 epicsShareExtern rset *pvar_rset_mbboDirectRSET;
       
    44 epicsShareExtern int (*pvar_func_mbboDirectRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    45 epicsShareExtern rset *pvar_rset_permissiveRSET;
       
    46 epicsShareExtern int (*pvar_func_permissiveRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    47 epicsShareExtern rset *pvar_rset_selRSET;
       
    48 epicsShareExtern int (*pvar_func_selRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    49 epicsShareExtern rset *pvar_rset_seqRSET;
       
    50 epicsShareExtern int (*pvar_func_seqRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    51 epicsShareExtern rset *pvar_rset_stateRSET;
       
    52 epicsShareExtern int (*pvar_func_stateRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    53 epicsShareExtern rset *pvar_rset_stringinRSET;
       
    54 epicsShareExtern int (*pvar_func_stringinRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    55 epicsShareExtern rset *pvar_rset_stringoutRSET;
       
    56 epicsShareExtern int (*pvar_func_stringoutRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    57 epicsShareExtern rset *pvar_rset_subRSET;
       
    58 epicsShareExtern int (*pvar_func_subRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    59 epicsShareExtern rset *pvar_rset_subArrayRSET;
       
    60 epicsShareExtern int (*pvar_func_subArrayRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    61 epicsShareExtern rset *pvar_rset_waveformRSET;
       
    62 epicsShareExtern int (*pvar_func_waveformRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    63 epicsShareExtern rset *pvar_rset_asynRSET;
       
    64 epicsShareExtern int (*pvar_func_asynRecordSizeOffset)(dbRecordType *pdbRecordType);
       
    65 
       
    66 static const char * const recordTypeNames[28] = {
       
    67     "ai",
       
    68     "ao",
       
    69     "aSub",
       
    70     "bi",
       
    71     "bo",
       
    72     "calc",
       
    73     "calcout",
       
    74     "compress",
       
    75     "dfanout",
       
    76     "event",
       
    77     "fanout",
       
    78     "histogram",
       
    79     "longin",
       
    80     "longout",
       
    81     "mbbi",
       
    82     "mbbiDirect",
       
    83     "mbbo",
       
    84     "mbboDirect",
       
    85     "permissive",
       
    86     "sel",
       
    87     "seq",
       
    88     "state",
       
    89     "stringin",
       
    90     "stringout",
       
    91     "sub",
       
    92     "subArray",
       
    93     "waveform",
       
    94     "asyn"
       
    95 };
       
    96 
       
    97 static const recordTypeLocation rtl[28] = {
       
    98     {pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset},
       
    99     {pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset},
       
   100     {pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset},
       
   101     {pvar_rset_biRSET, pvar_func_biRecordSizeOffset},
       
   102     {pvar_rset_boRSET, pvar_func_boRecordSizeOffset},
       
   103     {pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset},
       
   104     {pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset},
       
   105     {pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset},
       
   106     {pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset},
       
   107     {pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset},
       
   108     {pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset},
       
   109     {pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset},
       
   110     {pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset},
       
   111     {pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset},
       
   112     {pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset},
       
   113     {pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset},
       
   114     {pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset},
       
   115     {pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset},
       
   116     {pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset},
       
   117     {pvar_rset_selRSET, pvar_func_selRecordSizeOffset},
       
   118     {pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset},
       
   119     {pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset},
       
   120     {pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset},
       
   121     {pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset},
       
   122     {pvar_rset_subRSET, pvar_func_subRecordSizeOffset},
       
   123     {pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset},
       
   124     {pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset},
       
   125     {pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset}
       
   126 };
       
   127 
       
   128 epicsShareExtern dset *pvar_dset_devAiSoft;
       
   129 epicsShareExtern dset *pvar_dset_devAiSoftRaw;
       
   130 epicsShareExtern dset *pvar_dset_devTimestampAI;
       
   131 epicsShareExtern dset *pvar_dset_devAiGeneralTime;
       
   132 epicsShareExtern dset *pvar_dset_asynAiInt32;
       
   133 epicsShareExtern dset *pvar_dset_asynAiInt32Average;
       
   134 epicsShareExtern dset *pvar_dset_asynAiFloat64;
       
   135 epicsShareExtern dset *pvar_dset_asynAiFloat64Average;
       
   136 epicsShareExtern dset *pvar_dset_devaiStream;
       
   137 epicsShareExtern dset *pvar_dset_devAoSoft;
       
   138 epicsShareExtern dset *pvar_dset_devAoSoftRaw;
       
   139 epicsShareExtern dset *pvar_dset_devAoSoftCallback;
       
   140 epicsShareExtern dset *pvar_dset_asynAoInt32;
       
   141 epicsShareExtern dset *pvar_dset_asynAoFloat64;
       
   142 epicsShareExtern dset *pvar_dset_devaoStream;
       
   143 epicsShareExtern dset *pvar_dset_devBiSoft;
       
   144 epicsShareExtern dset *pvar_dset_devBiSoftRaw;
       
   145 epicsShareExtern dset *pvar_dset_asynBiInt32;
       
   146 epicsShareExtern dset *pvar_dset_asynBiUInt32Digital;
       
   147 epicsShareExtern dset *pvar_dset_devbiStream;
       
   148 epicsShareExtern dset *pvar_dset_devBoSoft;
       
   149 epicsShareExtern dset *pvar_dset_devBoSoftRaw;
       
   150 epicsShareExtern dset *pvar_dset_devBoSoftCallback;
       
   151 epicsShareExtern dset *pvar_dset_devBoGeneralTime;
       
   152 epicsShareExtern dset *pvar_dset_asynBoInt32;
       
   153 epicsShareExtern dset *pvar_dset_asynBoUInt32Digital;
       
   154 epicsShareExtern dset *pvar_dset_devboStream;
       
   155 epicsShareExtern dset *pvar_dset_devCalcoutSoft;
       
   156 epicsShareExtern dset *pvar_dset_devCalcoutSoftCallback;
       
   157 epicsShareExtern dset *pvar_dset_devcalcoutStream;
       
   158 epicsShareExtern dset *pvar_dset_devEventSoft;
       
   159 epicsShareExtern dset *pvar_dset_devHistogramSoft;
       
   160 epicsShareExtern dset *pvar_dset_devLiSoft;
       
   161 epicsShareExtern dset *pvar_dset_devLiGeneralTime;
       
   162 epicsShareExtern dset *pvar_dset_asynLiInt32;
       
   163 epicsShareExtern dset *pvar_dset_asynLiUInt32Digital;
       
   164 epicsShareExtern dset *pvar_dset_devlonginStream;
       
   165 epicsShareExtern dset *pvar_dset_devLoSoft;
       
   166 epicsShareExtern dset *pvar_dset_devLoSoftCallback;
       
   167 epicsShareExtern dset *pvar_dset_asynLoInt32;
       
   168 epicsShareExtern dset *pvar_dset_asynLoUInt32Digital;
       
   169 epicsShareExtern dset *pvar_dset_devlongoutStream;
       
   170 epicsShareExtern dset *pvar_dset_devMbbiSoft;
       
   171 epicsShareExtern dset *pvar_dset_devMbbiSoftRaw;
       
   172 epicsShareExtern dset *pvar_dset_asynMbbiInt32;
       
   173 epicsShareExtern dset *pvar_dset_asynMbbiUInt32Digital;
       
   174 epicsShareExtern dset *pvar_dset_devmbbiStream;
       
   175 epicsShareExtern dset *pvar_dset_devMbbiDirectSoft;
       
   176 epicsShareExtern dset *pvar_dset_devMbbiDirectSoftRaw;
       
   177 epicsShareExtern dset *pvar_dset_asynMbbiDirectUInt32Digital;
       
   178 epicsShareExtern dset *pvar_dset_devmbbiDirectStream;
       
   179 epicsShareExtern dset *pvar_dset_devMbboSoft;
       
   180 epicsShareExtern dset *pvar_dset_devMbboSoftRaw;
       
   181 epicsShareExtern dset *pvar_dset_devMbboSoftCallback;
       
   182 epicsShareExtern dset *pvar_dset_asynMbboInt32;
       
   183 epicsShareExtern dset *pvar_dset_asynMbboUInt32Digital;
       
   184 epicsShareExtern dset *pvar_dset_devmbboStream;
       
   185 epicsShareExtern dset *pvar_dset_devMbboDirectSoft;
       
   186 epicsShareExtern dset *pvar_dset_devMbboDirectSoftRaw;
       
   187 epicsShareExtern dset *pvar_dset_devMbboDirectSoftCallback;
       
   188 epicsShareExtern dset *pvar_dset_asynMbboDirectUInt32Digital;
       
   189 epicsShareExtern dset *pvar_dset_devmbboDirectStream;
       
   190 epicsShareExtern dset *pvar_dset_devSiSoft;
       
   191 epicsShareExtern dset *pvar_dset_devTimestampSI;
       
   192 epicsShareExtern dset *pvar_dset_devSiGeneralTime;
       
   193 epicsShareExtern dset *pvar_dset_asynSiOctetCmdResponse;
       
   194 epicsShareExtern dset *pvar_dset_asynSiOctetWriteRead;
       
   195 epicsShareExtern dset *pvar_dset_asynSiOctetRead;
       
   196 epicsShareExtern dset *pvar_dset_devstringinStream;
       
   197 epicsShareExtern dset *pvar_dset_devSoSoft;
       
   198 epicsShareExtern dset *pvar_dset_devSoSoftCallback;
       
   199 epicsShareExtern dset *pvar_dset_devSoStdio;
       
   200 epicsShareExtern dset *pvar_dset_asynSoOctetWrite;
       
   201 epicsShareExtern dset *pvar_dset_devstringoutStream;
       
   202 epicsShareExtern dset *pvar_dset_devSASoft;
       
   203 epicsShareExtern dset *pvar_dset_devWfSoft;
       
   204 epicsShareExtern dset *pvar_dset_asynWfOctetCmdResponse;
       
   205 epicsShareExtern dset *pvar_dset_asynWfOctetWriteRead;
       
   206 epicsShareExtern dset *pvar_dset_asynWfOctetRead;
       
   207 epicsShareExtern dset *pvar_dset_asynWfOctetWrite;
       
   208 epicsShareExtern dset *pvar_dset_asynInt8ArrayWfIn;
       
   209 epicsShareExtern dset *pvar_dset_asynInt8ArrayWfOut;
       
   210 epicsShareExtern dset *pvar_dset_asynInt16ArrayWfIn;
       
   211 epicsShareExtern dset *pvar_dset_asynInt16ArrayWfOut;
       
   212 epicsShareExtern dset *pvar_dset_asynInt32ArrayWfIn;
       
   213 epicsShareExtern dset *pvar_dset_asynInt32ArrayWfOut;
       
   214 epicsShareExtern dset *pvar_dset_asynFloat32ArrayWfIn;
       
   215 epicsShareExtern dset *pvar_dset_asynFloat32ArrayWfOut;
       
   216 epicsShareExtern dset *pvar_dset_asynFloat64ArrayWfIn;
       
   217 epicsShareExtern dset *pvar_dset_asynFloat64ArrayWfOut;
       
   218 epicsShareExtern dset *pvar_dset_devwaveformStream;
       
   219 epicsShareExtern dset *pvar_dset_asynRecordDevice;
       
   220 
       
   221 static const char * const deviceSupportNames[92] = {
       
   222     "devAiSoft",
       
   223     "devAiSoftRaw",
       
   224     "devTimestampAI",
       
   225     "devAiGeneralTime",
       
   226     "asynAiInt32",
       
   227     "asynAiInt32Average",
       
   228     "asynAiFloat64",
       
   229     "asynAiFloat64Average",
       
   230     "devaiStream",
       
   231     "devAoSoft",
       
   232     "devAoSoftRaw",
       
   233     "devAoSoftCallback",
       
   234     "asynAoInt32",
       
   235     "asynAoFloat64",
       
   236     "devaoStream",
       
   237     "devBiSoft",
       
   238     "devBiSoftRaw",
       
   239     "asynBiInt32",
       
   240     "asynBiUInt32Digital",
       
   241     "devbiStream",
       
   242     "devBoSoft",
       
   243     "devBoSoftRaw",
       
   244     "devBoSoftCallback",
       
   245     "devBoGeneralTime",
       
   246     "asynBoInt32",
       
   247     "asynBoUInt32Digital",
       
   248     "devboStream",
       
   249     "devCalcoutSoft",
       
   250     "devCalcoutSoftCallback",
       
   251     "devcalcoutStream",
       
   252     "devEventSoft",
       
   253     "devHistogramSoft",
       
   254     "devLiSoft",
       
   255     "devLiGeneralTime",
       
   256     "asynLiInt32",
       
   257     "asynLiUInt32Digital",
       
   258     "devlonginStream",
       
   259     "devLoSoft",
       
   260     "devLoSoftCallback",
       
   261     "asynLoInt32",
       
   262     "asynLoUInt32Digital",
       
   263     "devlongoutStream",
       
   264     "devMbbiSoft",
       
   265     "devMbbiSoftRaw",
       
   266     "asynMbbiInt32",
       
   267     "asynMbbiUInt32Digital",
       
   268     "devmbbiStream",
       
   269     "devMbbiDirectSoft",
       
   270     "devMbbiDirectSoftRaw",
       
   271     "asynMbbiDirectUInt32Digital",
       
   272     "devmbbiDirectStream",
       
   273     "devMbboSoft",
       
   274     "devMbboSoftRaw",
       
   275     "devMbboSoftCallback",
       
   276     "asynMbboInt32",
       
   277     "asynMbboUInt32Digital",
       
   278     "devmbboStream",
       
   279     "devMbboDirectSoft",
       
   280     "devMbboDirectSoftRaw",
       
   281     "devMbboDirectSoftCallback",
       
   282     "asynMbboDirectUInt32Digital",
       
   283     "devmbboDirectStream",
       
   284     "devSiSoft",
       
   285     "devTimestampSI",
       
   286     "devSiGeneralTime",
       
   287     "asynSiOctetCmdResponse",
       
   288     "asynSiOctetWriteRead",
       
   289     "asynSiOctetRead",
       
   290     "devstringinStream",
       
   291     "devSoSoft",
       
   292     "devSoSoftCallback",
       
   293     "devSoStdio",
       
   294     "asynSoOctetWrite",
       
   295     "devstringoutStream",
       
   296     "devSASoft",
       
   297     "devWfSoft",
       
   298     "asynWfOctetCmdResponse",
       
   299     "asynWfOctetWriteRead",
       
   300     "asynWfOctetRead",
       
   301     "asynWfOctetWrite",
       
   302     "asynInt8ArrayWfIn",
       
   303     "asynInt8ArrayWfOut",
       
   304     "asynInt16ArrayWfIn",
       
   305     "asynInt16ArrayWfOut",
       
   306     "asynInt32ArrayWfIn",
       
   307     "asynInt32ArrayWfOut",
       
   308     "asynFloat32ArrayWfIn",
       
   309     "asynFloat32ArrayWfOut",
       
   310     "asynFloat64ArrayWfIn",
       
   311     "asynFloat64ArrayWfOut",
       
   312     "devwaveformStream",
       
   313     "asynRecordDevice"
       
   314 };
       
   315 
       
   316 static const dset * const devsl[92] = {
       
   317     pvar_dset_devAiSoft,
       
   318     pvar_dset_devAiSoftRaw,
       
   319     pvar_dset_devTimestampAI,
       
   320     pvar_dset_devAiGeneralTime,
       
   321     pvar_dset_asynAiInt32,
       
   322     pvar_dset_asynAiInt32Average,
       
   323     pvar_dset_asynAiFloat64,
       
   324     pvar_dset_asynAiFloat64Average,
       
   325     pvar_dset_devaiStream,
       
   326     pvar_dset_devAoSoft,
       
   327     pvar_dset_devAoSoftRaw,
       
   328     pvar_dset_devAoSoftCallback,
       
   329     pvar_dset_asynAoInt32,
       
   330     pvar_dset_asynAoFloat64,
       
   331     pvar_dset_devaoStream,
       
   332     pvar_dset_devBiSoft,
       
   333     pvar_dset_devBiSoftRaw,
       
   334     pvar_dset_asynBiInt32,
       
   335     pvar_dset_asynBiUInt32Digital,
       
   336     pvar_dset_devbiStream,
       
   337     pvar_dset_devBoSoft,
       
   338     pvar_dset_devBoSoftRaw,
       
   339     pvar_dset_devBoSoftCallback,
       
   340     pvar_dset_devBoGeneralTime,
       
   341     pvar_dset_asynBoInt32,
       
   342     pvar_dset_asynBoUInt32Digital,
       
   343     pvar_dset_devboStream,
       
   344     pvar_dset_devCalcoutSoft,
       
   345     pvar_dset_devCalcoutSoftCallback,
       
   346     pvar_dset_devcalcoutStream,
       
   347     pvar_dset_devEventSoft,
       
   348     pvar_dset_devHistogramSoft,
       
   349     pvar_dset_devLiSoft,
       
   350     pvar_dset_devLiGeneralTime,
       
   351     pvar_dset_asynLiInt32,
       
   352     pvar_dset_asynLiUInt32Digital,
       
   353     pvar_dset_devlonginStream,
       
   354     pvar_dset_devLoSoft,
       
   355     pvar_dset_devLoSoftCallback,
       
   356     pvar_dset_asynLoInt32,
       
   357     pvar_dset_asynLoUInt32Digital,
       
   358     pvar_dset_devlongoutStream,
       
   359     pvar_dset_devMbbiSoft,
       
   360     pvar_dset_devMbbiSoftRaw,
       
   361     pvar_dset_asynMbbiInt32,
       
   362     pvar_dset_asynMbbiUInt32Digital,
       
   363     pvar_dset_devmbbiStream,
       
   364     pvar_dset_devMbbiDirectSoft,
       
   365     pvar_dset_devMbbiDirectSoftRaw,
       
   366     pvar_dset_asynMbbiDirectUInt32Digital,
       
   367     pvar_dset_devmbbiDirectStream,
       
   368     pvar_dset_devMbboSoft,
       
   369     pvar_dset_devMbboSoftRaw,
       
   370     pvar_dset_devMbboSoftCallback,
       
   371     pvar_dset_asynMbboInt32,
       
   372     pvar_dset_asynMbboUInt32Digital,
       
   373     pvar_dset_devmbboStream,
       
   374     pvar_dset_devMbboDirectSoft,
       
   375     pvar_dset_devMbboDirectSoftRaw,
       
   376     pvar_dset_devMbboDirectSoftCallback,
       
   377     pvar_dset_asynMbboDirectUInt32Digital,
       
   378     pvar_dset_devmbboDirectStream,
       
   379     pvar_dset_devSiSoft,
       
   380     pvar_dset_devTimestampSI,
       
   381     pvar_dset_devSiGeneralTime,
       
   382     pvar_dset_asynSiOctetCmdResponse,
       
   383     pvar_dset_asynSiOctetWriteRead,
       
   384     pvar_dset_asynSiOctetRead,
       
   385     pvar_dset_devstringinStream,
       
   386     pvar_dset_devSoSoft,
       
   387     pvar_dset_devSoSoftCallback,
       
   388     pvar_dset_devSoStdio,
       
   389     pvar_dset_asynSoOctetWrite,
       
   390     pvar_dset_devstringoutStream,
       
   391     pvar_dset_devSASoft,
       
   392     pvar_dset_devWfSoft,
       
   393     pvar_dset_asynWfOctetCmdResponse,
       
   394     pvar_dset_asynWfOctetWriteRead,
       
   395     pvar_dset_asynWfOctetRead,
       
   396     pvar_dset_asynWfOctetWrite,
       
   397     pvar_dset_asynInt8ArrayWfIn,
       
   398     pvar_dset_asynInt8ArrayWfOut,
       
   399     pvar_dset_asynInt16ArrayWfIn,
       
   400     pvar_dset_asynInt16ArrayWfOut,
       
   401     pvar_dset_asynInt32ArrayWfIn,
       
   402     pvar_dset_asynInt32ArrayWfOut,
       
   403     pvar_dset_asynFloat32ArrayWfIn,
       
   404     pvar_dset_asynFloat32ArrayWfOut,
       
   405     pvar_dset_asynFloat64ArrayWfIn,
       
   406     pvar_dset_asynFloat64ArrayWfOut,
       
   407     pvar_dset_devwaveformStream,
       
   408     pvar_dset_asynRecordDevice
       
   409 };
       
   410 
       
   411 epicsShareExtern drvet *pvar_drvet_drvAsyn;
       
   412 epicsShareExtern drvet *pvar_drvet_stream;
       
   413 
       
   414 static const char *driverSupportNames[2] = {
       
   415     "drvAsyn",
       
   416     "stream"
       
   417 };
       
   418 
       
   419 static struct drvet *drvsl[2] = {
       
   420     pvar_drvet_drvAsyn,
       
   421     pvar_drvet_stream
       
   422 };
       
   423 
       
   424 epicsShareExtern void (*pvar_func_asSub)(void);
       
   425 epicsShareExtern void (*pvar_func_drvAsynIPPortRegisterCommands)(void);
       
   426 epicsShareExtern void (*pvar_func_drvAsynIPServerPortRegisterCommands)(void);
       
   427 epicsShareExtern void (*pvar_func_asynRegister)(void);
       
   428 epicsShareExtern void (*pvar_func_asynInterposeFlushRegister)(void);
       
   429 epicsShareExtern void (*pvar_func_asynInterposeEosRegister)(void);
       
   430 epicsShareExtern void (*pvar_func_iocshSystemCommand)(void);
       
   431 epicsShareExtern void (*pvar_func_streamRegistrar)(void);
       
   432 
       
   433 epicsShareExtern int *pvar_int_asCaDebug;
       
   434 epicsShareExtern int *pvar_int_dbRecordsOnceOnly;
       
   435 epicsShareExtern int *pvar_int_dbBptNotMonotonic;
       
   436 epicsShareExtern int *pvar_int_streamDebug;
       
   437 static struct iocshVarDef vardefs[] = {
       
   438 	{"asCaDebug", iocshArgInt, (void * const)pvar_int_asCaDebug},
       
   439 	{"dbRecordsOnceOnly", iocshArgInt, (void * const)pvar_int_dbRecordsOnceOnly},
       
   440 	{"dbBptNotMonotonic", iocshArgInt, (void * const)pvar_int_dbBptNotMonotonic},
       
   441 	{"streamDebug", iocshArgInt, (void * const)pvar_int_streamDebug},
       
   442 	{NULL, iocshArgInt, NULL}
       
   443 };
       
   444 
       
   445 int tv301sf_registerRecordDeviceDriver(DBBASE *pbase)
       
   446 {
       
   447     if (!pbase) {
       
   448         printf("pdbbase is NULL; you must load a DBD file first.\n");
       
   449         return -1;
       
   450     }
       
   451     registerRecordTypes(pbase, 28, recordTypeNames, rtl);
       
   452     registerDevices(pbase, 92, deviceSupportNames, devsl);
       
   453     registerDrivers(pbase, 2, driverSupportNames, drvsl);
       
   454     (*pvar_func_asSub)();
       
   455     (*pvar_func_drvAsynIPPortRegisterCommands)();
       
   456     (*pvar_func_drvAsynIPServerPortRegisterCommands)();
       
   457     (*pvar_func_asynRegister)();
       
   458     (*pvar_func_asynInterposeFlushRegister)();
       
   459     (*pvar_func_asynInterposeEosRegister)();
       
   460     (*pvar_func_iocshSystemCommand)();
       
   461     (*pvar_func_streamRegistrar)();
       
   462     iocshRegisterVariable(vardefs);
       
   463     return 0;
       
   464 }
       
   465 
       
   466 /* registerRecordDeviceDriver */
       
   467 static const iocshArg registerRecordDeviceDriverArg0 =
       
   468                                             {"pdbbase",iocshArgPdbbase};
       
   469 static const iocshArg *registerRecordDeviceDriverArgs[1] =
       
   470                                             {&registerRecordDeviceDriverArg0};
       
   471 static const iocshFuncDef registerRecordDeviceDriverFuncDef =
       
   472                 {"tv301sf_registerRecordDeviceDriver",1,registerRecordDeviceDriverArgs};
       
   473 static void registerRecordDeviceDriverCallFunc(const iocshArgBuf *)
       
   474 {
       
   475     tv301sf_registerRecordDeviceDriver(*iocshPpdbbase);
       
   476 }
       
   477 
       
   478 } // extern "C"
       
   479 /*
       
   480  * Register commands on application startup
       
   481  */
       
   482 class IoccrfReg {
       
   483   public:
       
   484     IoccrfReg() {
       
   485         iocshRegisterCommon();
       
   486         iocshRegister(&registerRecordDeviceDriverFuncDef,registerRecordDeviceDriverCallFunc);
       
   487     }
       
   488 };
       
   489 #if !defined(__GNUC__) || !(__GNUC__<2 || (__GNUC__==2 && __GNUC_MINOR__<=95))
       
   490 namespace { IoccrfReg iocshReg; }
       
   491 #else
       
   492 IoccrfReg iocshReg;
       
   493 #endif