kstmApp/src/O.linux-arm/kstm_registerRecordDeviceDriver.cpp
author William
Thu, 05 Jul 2018 08:48:18 +0000
changeset 4 68a4f654dc00
permissions -rw-r--r--
first
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4
William
parents:
diff changeset
     1
/* THIS IS A GENERATED FILE. DO NOT EDIT! */
William
parents:
diff changeset
     2
/* Generated from ../O.Common/kstm.dbd */
William
parents:
diff changeset
     3
William
parents:
diff changeset
     4
#include <string.h>
William
parents:
diff changeset
     5
William
parents:
diff changeset
     6
#include "epicsStdlib.h"
William
parents:
diff changeset
     7
#include "iocsh.h"
William
parents:
diff changeset
     8
#include "iocshRegisterCommon.h"
William
parents:
diff changeset
     9
#include "registryCommon.h"
William
parents:
diff changeset
    10
William
parents:
diff changeset
    11
extern "C" {
William
parents:
diff changeset
    12
William
parents:
diff changeset
    13
epicsShareExtern rset *pvar_rset_aSubRSET, *pvar_rset_aaiRSET,
William
parents:
diff changeset
    14
    *pvar_rset_aaoRSET, *pvar_rset_acalcoutRSET, *pvar_rset_aiRSET,
William
parents:
diff changeset
    15
    *pvar_rset_aoRSET, *pvar_rset_asynRSET, *pvar_rset_biRSET,
William
parents:
diff changeset
    16
    *pvar_rset_boRSET, *pvar_rset_calcRSET, *pvar_rset_calcoutRSET,
William
parents:
diff changeset
    17
    *pvar_rset_compressRSET, *pvar_rset_dfanoutRSET, *pvar_rset_eventRSET,
William
parents:
diff changeset
    18
    *pvar_rset_fanoutRSET, *pvar_rset_histogramRSET,
William
parents:
diff changeset
    19
    *pvar_rset_longinRSET, *pvar_rset_longoutRSET, *pvar_rset_lsiRSET,
William
parents:
diff changeset
    20
    *pvar_rset_lsoRSET, *pvar_rset_mbbiRSET, *pvar_rset_mbbiDirectRSET,
William
parents:
diff changeset
    21
    *pvar_rset_mbboRSET, *pvar_rset_mbboDirectRSET,
William
parents:
diff changeset
    22
    *pvar_rset_permissiveRSET, *pvar_rset_printfRSET,
William
parents:
diff changeset
    23
    *pvar_rset_scalcoutRSET, *pvar_rset_selRSET, *pvar_rset_seqRSET,
William
parents:
diff changeset
    24
    *pvar_rset_sseqRSET, *pvar_rset_stateRSET, *pvar_rset_stringinRSET,
William
parents:
diff changeset
    25
    *pvar_rset_stringoutRSET, *pvar_rset_subRSET, *pvar_rset_subArrayRSET,
William
parents:
diff changeset
    26
    *pvar_rset_swaitRSET, *pvar_rset_transformRSET,
William
parents:
diff changeset
    27
    *pvar_rset_waveformRSET;
William
parents:
diff changeset
    28
William
parents:
diff changeset
    29
typedef int (*rso_func)(dbRecordType *pdbRecordType);
William
parents:
diff changeset
    30
epicsShareExtern rso_func pvar_func_aSubRecordSizeOffset,
William
parents:
diff changeset
    31
    pvar_func_aaiRecordSizeOffset, pvar_func_aaoRecordSizeOffset,
William
parents:
diff changeset
    32
    pvar_func_acalcoutRecordSizeOffset, pvar_func_aiRecordSizeOffset,
William
parents:
diff changeset
    33
    pvar_func_aoRecordSizeOffset, pvar_func_asynRecordSizeOffset,
William
parents:
diff changeset
    34
    pvar_func_biRecordSizeOffset, pvar_func_boRecordSizeOffset,
William
parents:
diff changeset
    35
    pvar_func_calcRecordSizeOffset, pvar_func_calcoutRecordSizeOffset,
William
parents:
diff changeset
    36
    pvar_func_compressRecordSizeOffset, pvar_func_dfanoutRecordSizeOffset,
William
parents:
diff changeset
    37
    pvar_func_eventRecordSizeOffset, pvar_func_fanoutRecordSizeOffset,
William
parents:
diff changeset
    38
    pvar_func_histogramRecordSizeOffset, pvar_func_longinRecordSizeOffset,
William
parents:
diff changeset
    39
    pvar_func_longoutRecordSizeOffset, pvar_func_lsiRecordSizeOffset,
William
parents:
diff changeset
    40
    pvar_func_lsoRecordSizeOffset, pvar_func_mbbiRecordSizeOffset,
William
parents:
diff changeset
    41
    pvar_func_mbbiDirectRecordSizeOffset, pvar_func_mbboRecordSizeOffset,
William
parents:
diff changeset
    42
    pvar_func_mbboDirectRecordSizeOffset,
William
parents:
diff changeset
    43
    pvar_func_permissiveRecordSizeOffset,
William
parents:
diff changeset
    44
    pvar_func_printfRecordSizeOffset, pvar_func_scalcoutRecordSizeOffset,
William
parents:
diff changeset
    45
    pvar_func_selRecordSizeOffset, pvar_func_seqRecordSizeOffset,
William
parents:
diff changeset
    46
    pvar_func_sseqRecordSizeOffset, pvar_func_stateRecordSizeOffset,
William
parents:
diff changeset
    47
    pvar_func_stringinRecordSizeOffset,
William
parents:
diff changeset
    48
    pvar_func_stringoutRecordSizeOffset, pvar_func_subRecordSizeOffset,
William
parents:
diff changeset
    49
    pvar_func_subArrayRecordSizeOffset, pvar_func_swaitRecordSizeOffset,
William
parents:
diff changeset
    50
    pvar_func_transformRecordSizeOffset,
William
parents:
diff changeset
    51
    pvar_func_waveformRecordSizeOffset;
William
parents:
diff changeset
    52
William
parents:
diff changeset
    53
static const char * const recordTypeNames[] = {
William
parents:
diff changeset
    54
    "aSub", "aai", "aao", "acalcout", "ai", "ao", "asyn", "bi", "bo",
William
parents:
diff changeset
    55
    "calc", "calcout", "compress", "dfanout", "event", "fanout",
William
parents:
diff changeset
    56
    "histogram", "longin", "longout", "lsi", "lso", "mbbi", "mbbiDirect",
William
parents:
diff changeset
    57
    "mbbo", "mbboDirect", "permissive", "printf", "scalcout", "sel",
William
parents:
diff changeset
    58
    "seq", "sseq", "state", "stringin", "stringout", "sub", "subArray",
William
parents:
diff changeset
    59
    "swait", "transform", "waveform"
William
parents:
diff changeset
    60
};
William
parents:
diff changeset
    61
William
parents:
diff changeset
    62
static const recordTypeLocation rtl[] = {
William
parents:
diff changeset
    63
    {pvar_rset_aSubRSET, pvar_func_aSubRecordSizeOffset},
William
parents:
diff changeset
    64
    {pvar_rset_aaiRSET, pvar_func_aaiRecordSizeOffset},
William
parents:
diff changeset
    65
    {pvar_rset_aaoRSET, pvar_func_aaoRecordSizeOffset},
William
parents:
diff changeset
    66
    {pvar_rset_acalcoutRSET, pvar_func_acalcoutRecordSizeOffset},
William
parents:
diff changeset
    67
    {pvar_rset_aiRSET, pvar_func_aiRecordSizeOffset},
William
parents:
diff changeset
    68
    {pvar_rset_aoRSET, pvar_func_aoRecordSizeOffset},
William
parents:
diff changeset
    69
    {pvar_rset_asynRSET, pvar_func_asynRecordSizeOffset},
William
parents:
diff changeset
    70
    {pvar_rset_biRSET, pvar_func_biRecordSizeOffset},
William
parents:
diff changeset
    71
    {pvar_rset_boRSET, pvar_func_boRecordSizeOffset},
William
parents:
diff changeset
    72
    {pvar_rset_calcRSET, pvar_func_calcRecordSizeOffset},
William
parents:
diff changeset
    73
    {pvar_rset_calcoutRSET, pvar_func_calcoutRecordSizeOffset},
William
parents:
diff changeset
    74
    {pvar_rset_compressRSET, pvar_func_compressRecordSizeOffset},
William
parents:
diff changeset
    75
    {pvar_rset_dfanoutRSET, pvar_func_dfanoutRecordSizeOffset},
William
parents:
diff changeset
    76
    {pvar_rset_eventRSET, pvar_func_eventRecordSizeOffset},
William
parents:
diff changeset
    77
    {pvar_rset_fanoutRSET, pvar_func_fanoutRecordSizeOffset},
William
parents:
diff changeset
    78
    {pvar_rset_histogramRSET, pvar_func_histogramRecordSizeOffset},
William
parents:
diff changeset
    79
    {pvar_rset_longinRSET, pvar_func_longinRecordSizeOffset},
William
parents:
diff changeset
    80
    {pvar_rset_longoutRSET, pvar_func_longoutRecordSizeOffset},
William
parents:
diff changeset
    81
    {pvar_rset_lsiRSET, pvar_func_lsiRecordSizeOffset},
William
parents:
diff changeset
    82
    {pvar_rset_lsoRSET, pvar_func_lsoRecordSizeOffset},
William
parents:
diff changeset
    83
    {pvar_rset_mbbiRSET, pvar_func_mbbiRecordSizeOffset},
William
parents:
diff changeset
    84
    {pvar_rset_mbbiDirectRSET, pvar_func_mbbiDirectRecordSizeOffset},
William
parents:
diff changeset
    85
    {pvar_rset_mbboRSET, pvar_func_mbboRecordSizeOffset},
William
parents:
diff changeset
    86
    {pvar_rset_mbboDirectRSET, pvar_func_mbboDirectRecordSizeOffset},
William
parents:
diff changeset
    87
    {pvar_rset_permissiveRSET, pvar_func_permissiveRecordSizeOffset},
William
parents:
diff changeset
    88
    {pvar_rset_printfRSET, pvar_func_printfRecordSizeOffset},
William
parents:
diff changeset
    89
    {pvar_rset_scalcoutRSET, pvar_func_scalcoutRecordSizeOffset},
William
parents:
diff changeset
    90
    {pvar_rset_selRSET, pvar_func_selRecordSizeOffset},
William
parents:
diff changeset
    91
    {pvar_rset_seqRSET, pvar_func_seqRecordSizeOffset},
William
parents:
diff changeset
    92
    {pvar_rset_sseqRSET, pvar_func_sseqRecordSizeOffset},
William
parents:
diff changeset
    93
    {pvar_rset_stateRSET, pvar_func_stateRecordSizeOffset},
William
parents:
diff changeset
    94
    {pvar_rset_stringinRSET, pvar_func_stringinRecordSizeOffset},
William
parents:
diff changeset
    95
    {pvar_rset_stringoutRSET, pvar_func_stringoutRecordSizeOffset},
William
parents:
diff changeset
    96
    {pvar_rset_subRSET, pvar_func_subRecordSizeOffset},
William
parents:
diff changeset
    97
    {pvar_rset_subArrayRSET, pvar_func_subArrayRecordSizeOffset},
William
parents:
diff changeset
    98
    {pvar_rset_swaitRSET, pvar_func_swaitRecordSizeOffset},
William
parents:
diff changeset
    99
    {pvar_rset_transformRSET, pvar_func_transformRecordSizeOffset},
William
parents:
diff changeset
   100
    {pvar_rset_waveformRSET, pvar_func_waveformRecordSizeOffset}
William
parents:
diff changeset
   101
};
William
parents:
diff changeset
   102
William
parents:
diff changeset
   103
epicsShareExtern dset *pvar_dset_devAaiSoft, *pvar_dset_devaaiStream,
William
parents:
diff changeset
   104
    *pvar_dset_devAaoSoft, *pvar_dset_devaaoStream,
William
parents:
diff changeset
   105
    *pvar_dset_devaCalcoutSoft, *pvar_dset_devAiSoft,
William
parents:
diff changeset
   106
    *pvar_dset_devAiSoftRaw, *pvar_dset_devAiSoftCallback,
William
parents:
diff changeset
   107
    *pvar_dset_devTimestampAI, *pvar_dset_devAiGeneralTime,
William
parents:
diff changeset
   108
    *pvar_dset_asynAiInt32, *pvar_dset_asynAiInt32Average,
William
parents:
diff changeset
   109
    *pvar_dset_asynAiFloat64, *pvar_dset_asynAiFloat64Average,
William
parents:
diff changeset
   110
    *pvar_dset_devaiStream, *pvar_dset_devAoSoft, *pvar_dset_devAoSoftRaw,
William
parents:
diff changeset
   111
    *pvar_dset_devAoSoftCallback, *pvar_dset_asynAoInt32,
William
parents:
diff changeset
   112
    *pvar_dset_asynAoFloat64, *pvar_dset_devaoStream,
William
parents:
diff changeset
   113
    *pvar_dset_asynRecordDevice, *pvar_dset_devBiSoft,
William
parents:
diff changeset
   114
    *pvar_dset_devBiSoftRaw, *pvar_dset_devBiSoftCallback,
William
parents:
diff changeset
   115
    *pvar_dset_devBiDbState, *pvar_dset_asynBiInt32,
William
parents:
diff changeset
   116
    *pvar_dset_asynBiUInt32Digital, *pvar_dset_devbiStream,
William
parents:
diff changeset
   117
    *pvar_dset_devBoSoft, *pvar_dset_devBoSoftRaw,
William
parents:
diff changeset
   118
    *pvar_dset_devBoSoftCallback, *pvar_dset_devBoGeneralTime,
William
parents:
diff changeset
   119
    *pvar_dset_devBoDbState, *pvar_dset_asynBoInt32,
William
parents:
diff changeset
   120
    *pvar_dset_asynBoUInt32Digital, *pvar_dset_devboStream,
William
parents:
diff changeset
   121
    *pvar_dset_devCalcoutSoft, *pvar_dset_devCalcoutSoftCallback,
William
parents:
diff changeset
   122
    *pvar_dset_devcalcoutStream, *pvar_dset_devEventSoft,
William
parents:
diff changeset
   123
    *pvar_dset_devHistogramSoft, *pvar_dset_devLiSoft,
William
parents:
diff changeset
   124
    *pvar_dset_devLiSoftCallback, *pvar_dset_devLiGeneralTime,
William
parents:
diff changeset
   125
    *pvar_dset_asynLiInt32, *pvar_dset_asynLiUInt32Digital,
William
parents:
diff changeset
   126
    *pvar_dset_devlonginStream, *pvar_dset_devLoSoft,
William
parents:
diff changeset
   127
    *pvar_dset_devLoSoftCallback, *pvar_dset_asynLoInt32,
William
parents:
diff changeset
   128
    *pvar_dset_asynLoUInt32Digital, *pvar_dset_devlongoutStream,
William
parents:
diff changeset
   129
    *pvar_dset_devLsiSoft, *pvar_dset_devLsoSoft,
William
parents:
diff changeset
   130
    *pvar_dset_devLsoSoftCallback, *pvar_dset_devLsoStdio,
William
parents:
diff changeset
   131
    *pvar_dset_devMbbiSoft, *pvar_dset_devMbbiSoftRaw,
William
parents:
diff changeset
   132
    *pvar_dset_devMbbiSoftCallback, *pvar_dset_asynMbbiInt32,
William
parents:
diff changeset
   133
    *pvar_dset_asynMbbiUInt32Digital, *pvar_dset_devmbbiStream,
William
parents:
diff changeset
   134
    *pvar_dset_devMbbiDirectSoft, *pvar_dset_devMbbiDirectSoftRaw,
William
parents:
diff changeset
   135
    *pvar_dset_devMbbiDirectSoftCallback,
William
parents:
diff changeset
   136
    *pvar_dset_asynMbbiDirectUInt32Digital,
William
parents:
diff changeset
   137
    *pvar_dset_devmbbiDirectStream, *pvar_dset_devMbboSoft,
William
parents:
diff changeset
   138
    *pvar_dset_devMbboSoftRaw, *pvar_dset_devMbboSoftCallback,
William
parents:
diff changeset
   139
    *pvar_dset_asynMbboInt32, *pvar_dset_asynMbboUInt32Digital,
William
parents:
diff changeset
   140
    *pvar_dset_devmbboStream, *pvar_dset_devMbboDirectSoft,
William
parents:
diff changeset
   141
    *pvar_dset_devMbboDirectSoftRaw, *pvar_dset_devMbboDirectSoftCallback,
William
parents:
diff changeset
   142
    *pvar_dset_asynMbboDirectUInt32Digital,
William
parents:
diff changeset
   143
    *pvar_dset_devmbboDirectStream, *pvar_dset_devPrintfSoft,
William
parents:
diff changeset
   144
    *pvar_dset_devPrintfSoftCallback, *pvar_dset_devPrintfStdio,
William
parents:
diff changeset
   145
    *pvar_dset_devsCalcoutSoft, *pvar_dset_devSiSoft,
William
parents:
diff changeset
   146
    *pvar_dset_devSiSoftCallback, *pvar_dset_devTimestampSI,
William
parents:
diff changeset
   147
    *pvar_dset_devSiGeneralTime, *pvar_dset_asynSiOctetCmdResponse,
William
parents:
diff changeset
   148
    *pvar_dset_asynSiOctetWriteRead, *pvar_dset_asynSiOctetRead,
William
parents:
diff changeset
   149
    *pvar_dset_devstringinStream, *pvar_dset_devSoSoft,
William
parents:
diff changeset
   150
    *pvar_dset_devSoSoftCallback, *pvar_dset_devSoStdio,
William
parents:
diff changeset
   151
    *pvar_dset_asynSoOctetWrite, *pvar_dset_devstringoutStream,
William
parents:
diff changeset
   152
    *pvar_dset_devSASoft, *pvar_dset_devSWaitIoEvent,
William
parents:
diff changeset
   153
    *pvar_dset_devWfSoft, *pvar_dset_asynWfOctetCmdResponse,
William
parents:
diff changeset
   154
    *pvar_dset_asynWfOctetWriteRead, *pvar_dset_asynWfOctetRead,
William
parents:
diff changeset
   155
    *pvar_dset_asynWfOctetWrite, *pvar_dset_asynInt8ArrayWfIn,
William
parents:
diff changeset
   156
    *pvar_dset_asynInt8ArrayWfOut, *pvar_dset_asynInt16ArrayWfIn,
William
parents:
diff changeset
   157
    *pvar_dset_asynInt16ArrayWfOut, *pvar_dset_asynInt32ArrayWfIn,
William
parents:
diff changeset
   158
    *pvar_dset_asynInt32ArrayWfOut, *pvar_dset_asynInt32TimeSeries,
William
parents:
diff changeset
   159
    *pvar_dset_asynFloat32ArrayWfIn, *pvar_dset_asynFloat32ArrayWfOut,
William
parents:
diff changeset
   160
    *pvar_dset_asynFloat64ArrayWfIn, *pvar_dset_asynFloat64ArrayWfOut,
William
parents:
diff changeset
   161
    *pvar_dset_asynFloat64TimeSeries, *pvar_dset_devwaveformStream;
William
parents:
diff changeset
   162
William
parents:
diff changeset
   163
static const char * const deviceSupportNames[] = {
William
parents:
diff changeset
   164
    "devAaiSoft", "devaaiStream", "devAaoSoft", "devaaoStream",
William
parents:
diff changeset
   165
    "devaCalcoutSoft", "devAiSoft", "devAiSoftRaw", "devAiSoftCallback",
William
parents:
diff changeset
   166
    "devTimestampAI", "devAiGeneralTime", "asynAiInt32",
William
parents:
diff changeset
   167
    "asynAiInt32Average", "asynAiFloat64", "asynAiFloat64Average",
William
parents:
diff changeset
   168
    "devaiStream", "devAoSoft", "devAoSoftRaw", "devAoSoftCallback",
William
parents:
diff changeset
   169
    "asynAoInt32", "asynAoFloat64", "devaoStream", "asynRecordDevice",
William
parents:
diff changeset
   170
    "devBiSoft", "devBiSoftRaw", "devBiSoftCallback", "devBiDbState",
William
parents:
diff changeset
   171
    "asynBiInt32", "asynBiUInt32Digital", "devbiStream", "devBoSoft",
William
parents:
diff changeset
   172
    "devBoSoftRaw", "devBoSoftCallback", "devBoGeneralTime",
William
parents:
diff changeset
   173
    "devBoDbState", "asynBoInt32", "asynBoUInt32Digital", "devboStream",
William
parents:
diff changeset
   174
    "devCalcoutSoft", "devCalcoutSoftCallback", "devcalcoutStream",
William
parents:
diff changeset
   175
    "devEventSoft", "devHistogramSoft", "devLiSoft", "devLiSoftCallback",
William
parents:
diff changeset
   176
    "devLiGeneralTime", "asynLiInt32", "asynLiUInt32Digital",
William
parents:
diff changeset
   177
    "devlonginStream", "devLoSoft", "devLoSoftCallback", "asynLoInt32",
William
parents:
diff changeset
   178
    "asynLoUInt32Digital", "devlongoutStream", "devLsiSoft", "devLsoSoft",
William
parents:
diff changeset
   179
    "devLsoSoftCallback", "devLsoStdio", "devMbbiSoft", "devMbbiSoftRaw",
William
parents:
diff changeset
   180
    "devMbbiSoftCallback", "asynMbbiInt32", "asynMbbiUInt32Digital",
William
parents:
diff changeset
   181
    "devmbbiStream", "devMbbiDirectSoft", "devMbbiDirectSoftRaw",
William
parents:
diff changeset
   182
    "devMbbiDirectSoftCallback", "asynMbbiDirectUInt32Digital",
William
parents:
diff changeset
   183
    "devmbbiDirectStream", "devMbboSoft", "devMbboSoftRaw",
William
parents:
diff changeset
   184
    "devMbboSoftCallback", "asynMbboInt32", "asynMbboUInt32Digital",
William
parents:
diff changeset
   185
    "devmbboStream", "devMbboDirectSoft", "devMbboDirectSoftRaw",
William
parents:
diff changeset
   186
    "devMbboDirectSoftCallback", "asynMbboDirectUInt32Digital",
William
parents:
diff changeset
   187
    "devmbboDirectStream", "devPrintfSoft", "devPrintfSoftCallback",
William
parents:
diff changeset
   188
    "devPrintfStdio", "devsCalcoutSoft", "devSiSoft", "devSiSoftCallback",
William
parents:
diff changeset
   189
    "devTimestampSI", "devSiGeneralTime", "asynSiOctetCmdResponse",
William
parents:
diff changeset
   190
    "asynSiOctetWriteRead", "asynSiOctetRead", "devstringinStream",
William
parents:
diff changeset
   191
    "devSoSoft", "devSoSoftCallback", "devSoStdio", "asynSoOctetWrite",
William
parents:
diff changeset
   192
    "devstringoutStream", "devSASoft", "devSWaitIoEvent", "devWfSoft",
William
parents:
diff changeset
   193
    "asynWfOctetCmdResponse", "asynWfOctetWriteRead", "asynWfOctetRead",
William
parents:
diff changeset
   194
    "asynWfOctetWrite", "asynInt8ArrayWfIn", "asynInt8ArrayWfOut",
William
parents:
diff changeset
   195
    "asynInt16ArrayWfIn", "asynInt16ArrayWfOut", "asynInt32ArrayWfIn",
William
parents:
diff changeset
   196
    "asynInt32ArrayWfOut", "asynInt32TimeSeries", "asynFloat32ArrayWfIn",
William
parents:
diff changeset
   197
    "asynFloat32ArrayWfOut", "asynFloat64ArrayWfIn",
William
parents:
diff changeset
   198
    "asynFloat64ArrayWfOut", "asynFloat64TimeSeries", "devwaveformStream"
William
parents:
diff changeset
   199
};
William
parents:
diff changeset
   200
William
parents:
diff changeset
   201
static const dset * const devsl[] = {
William
parents:
diff changeset
   202
    pvar_dset_devAaiSoft, pvar_dset_devaaiStream, pvar_dset_devAaoSoft,
William
parents:
diff changeset
   203
    pvar_dset_devaaoStream, pvar_dset_devaCalcoutSoft,
William
parents:
diff changeset
   204
    pvar_dset_devAiSoft, pvar_dset_devAiSoftRaw,
William
parents:
diff changeset
   205
    pvar_dset_devAiSoftCallback, pvar_dset_devTimestampAI,
William
parents:
diff changeset
   206
    pvar_dset_devAiGeneralTime, pvar_dset_asynAiInt32,
William
parents:
diff changeset
   207
    pvar_dset_asynAiInt32Average, pvar_dset_asynAiFloat64,
William
parents:
diff changeset
   208
    pvar_dset_asynAiFloat64Average, pvar_dset_devaiStream,
William
parents:
diff changeset
   209
    pvar_dset_devAoSoft, pvar_dset_devAoSoftRaw,
William
parents:
diff changeset
   210
    pvar_dset_devAoSoftCallback, pvar_dset_asynAoInt32,
William
parents:
diff changeset
   211
    pvar_dset_asynAoFloat64, pvar_dset_devaoStream,
William
parents:
diff changeset
   212
    pvar_dset_asynRecordDevice, pvar_dset_devBiSoft,
William
parents:
diff changeset
   213
    pvar_dset_devBiSoftRaw, pvar_dset_devBiSoftCallback,
William
parents:
diff changeset
   214
    pvar_dset_devBiDbState, pvar_dset_asynBiInt32,
William
parents:
diff changeset
   215
    pvar_dset_asynBiUInt32Digital, pvar_dset_devbiStream,
William
parents:
diff changeset
   216
    pvar_dset_devBoSoft, pvar_dset_devBoSoftRaw,
William
parents:
diff changeset
   217
    pvar_dset_devBoSoftCallback, pvar_dset_devBoGeneralTime,
William
parents:
diff changeset
   218
    pvar_dset_devBoDbState, pvar_dset_asynBoInt32,
William
parents:
diff changeset
   219
    pvar_dset_asynBoUInt32Digital, pvar_dset_devboStream,
William
parents:
diff changeset
   220
    pvar_dset_devCalcoutSoft, pvar_dset_devCalcoutSoftCallback,
William
parents:
diff changeset
   221
    pvar_dset_devcalcoutStream, pvar_dset_devEventSoft,
William
parents:
diff changeset
   222
    pvar_dset_devHistogramSoft, pvar_dset_devLiSoft,
William
parents:
diff changeset
   223
    pvar_dset_devLiSoftCallback, pvar_dset_devLiGeneralTime,
William
parents:
diff changeset
   224
    pvar_dset_asynLiInt32, pvar_dset_asynLiUInt32Digital,
William
parents:
diff changeset
   225
    pvar_dset_devlonginStream, pvar_dset_devLoSoft,
William
parents:
diff changeset
   226
    pvar_dset_devLoSoftCallback, pvar_dset_asynLoInt32,
William
parents:
diff changeset
   227
    pvar_dset_asynLoUInt32Digital, pvar_dset_devlongoutStream,
William
parents:
diff changeset
   228
    pvar_dset_devLsiSoft, pvar_dset_devLsoSoft,
William
parents:
diff changeset
   229
    pvar_dset_devLsoSoftCallback, pvar_dset_devLsoStdio,
William
parents:
diff changeset
   230
    pvar_dset_devMbbiSoft, pvar_dset_devMbbiSoftRaw,
William
parents:
diff changeset
   231
    pvar_dset_devMbbiSoftCallback, pvar_dset_asynMbbiInt32,
William
parents:
diff changeset
   232
    pvar_dset_asynMbbiUInt32Digital, pvar_dset_devmbbiStream,
William
parents:
diff changeset
   233
    pvar_dset_devMbbiDirectSoft, pvar_dset_devMbbiDirectSoftRaw,
William
parents:
diff changeset
   234
    pvar_dset_devMbbiDirectSoftCallback,
William
parents:
diff changeset
   235
    pvar_dset_asynMbbiDirectUInt32Digital, pvar_dset_devmbbiDirectStream,
William
parents:
diff changeset
   236
    pvar_dset_devMbboSoft, pvar_dset_devMbboSoftRaw,
William
parents:
diff changeset
   237
    pvar_dset_devMbboSoftCallback, pvar_dset_asynMbboInt32,
William
parents:
diff changeset
   238
    pvar_dset_asynMbboUInt32Digital, pvar_dset_devmbboStream,
William
parents:
diff changeset
   239
    pvar_dset_devMbboDirectSoft, pvar_dset_devMbboDirectSoftRaw,
William
parents:
diff changeset
   240
    pvar_dset_devMbboDirectSoftCallback,
William
parents:
diff changeset
   241
    pvar_dset_asynMbboDirectUInt32Digital, pvar_dset_devmbboDirectStream,
William
parents:
diff changeset
   242
    pvar_dset_devPrintfSoft, pvar_dset_devPrintfSoftCallback,
William
parents:
diff changeset
   243
    pvar_dset_devPrintfStdio, pvar_dset_devsCalcoutSoft,
William
parents:
diff changeset
   244
    pvar_dset_devSiSoft, pvar_dset_devSiSoftCallback,
William
parents:
diff changeset
   245
    pvar_dset_devTimestampSI, pvar_dset_devSiGeneralTime,
William
parents:
diff changeset
   246
    pvar_dset_asynSiOctetCmdResponse, pvar_dset_asynSiOctetWriteRead,
William
parents:
diff changeset
   247
    pvar_dset_asynSiOctetRead, pvar_dset_devstringinStream,
William
parents:
diff changeset
   248
    pvar_dset_devSoSoft, pvar_dset_devSoSoftCallback,
William
parents:
diff changeset
   249
    pvar_dset_devSoStdio, pvar_dset_asynSoOctetWrite,
William
parents:
diff changeset
   250
    pvar_dset_devstringoutStream, pvar_dset_devSASoft,
William
parents:
diff changeset
   251
    pvar_dset_devSWaitIoEvent, pvar_dset_devWfSoft,
William
parents:
diff changeset
   252
    pvar_dset_asynWfOctetCmdResponse, pvar_dset_asynWfOctetWriteRead,
William
parents:
diff changeset
   253
    pvar_dset_asynWfOctetRead, pvar_dset_asynWfOctetWrite,
William
parents:
diff changeset
   254
    pvar_dset_asynInt8ArrayWfIn, pvar_dset_asynInt8ArrayWfOut,
William
parents:
diff changeset
   255
    pvar_dset_asynInt16ArrayWfIn, pvar_dset_asynInt16ArrayWfOut,
William
parents:
diff changeset
   256
    pvar_dset_asynInt32ArrayWfIn, pvar_dset_asynInt32ArrayWfOut,
William
parents:
diff changeset
   257
    pvar_dset_asynInt32TimeSeries, pvar_dset_asynFloat32ArrayWfIn,
William
parents:
diff changeset
   258
    pvar_dset_asynFloat32ArrayWfOut, pvar_dset_asynFloat64ArrayWfIn,
William
parents:
diff changeset
   259
    pvar_dset_asynFloat64ArrayWfOut, pvar_dset_asynFloat64TimeSeries,
William
parents:
diff changeset
   260
    pvar_dset_devwaveformStream
William
parents:
diff changeset
   261
};
William
parents:
diff changeset
   262
William
parents:
diff changeset
   263
epicsShareExtern drvet *pvar_drvet_drvAsyn, *pvar_drvet_stream;
William
parents:
diff changeset
   264
William
parents:
diff changeset
   265
static const char *driverSupportNames[] = {
William
parents:
diff changeset
   266
    "drvAsyn", "stream"};
William
parents:
diff changeset
   267
William
parents:
diff changeset
   268
static struct drvet *drvsl[] = {
William
parents:
diff changeset
   269
    pvar_drvet_drvAsyn,
William
parents:
diff changeset
   270
    pvar_drvet_stream};
William
parents:
diff changeset
   271
William
parents:
diff changeset
   272
typedef void (*reg_func)(void);
William
parents:
diff changeset
   273
epicsShareExtern reg_func pvar_func_arrInitialize,
William
parents:
diff changeset
   274
    pvar_func_arrayTestRegister, pvar_func_asSub,
William
parents:
diff changeset
   275
    pvar_func_asynInterposeEosRegister,
William
parents:
diff changeset
   276
    pvar_func_asynInterposeFlushRegister, pvar_func_asynRegister,
William
parents:
diff changeset
   277
    pvar_func_dbndInitialize, pvar_func_drvAsynIPPortRegisterCommands,
William
parents:
diff changeset
   278
    pvar_func_drvAsynIPServerPortRegisterCommands,
William
parents:
diff changeset
   279
    pvar_func_editSseqRegistrar, pvar_func_interpRegister,
William
parents:
diff changeset
   280
    pvar_func_streamRegistrar, pvar_func_subAveRegister,
William
parents:
diff changeset
   281
    pvar_func_syncInitialize, pvar_func_tsInitialize,
William
parents:
diff changeset
   282
    pvar_func_register_func_aSubReadDHTInit,
William
parents:
diff changeset
   283
    pvar_func_register_func_aSubReadDHTProcess;
William
parents:
diff changeset
   284
William
parents:
diff changeset
   285
epicsShareExtern int * const pvar_int_aCalcAsyncThreshold;
William
parents:
diff changeset
   286
epicsShareExtern int * const pvar_int_aCalcLoopMax;
William
parents:
diff changeset
   287
epicsShareExtern int * const pvar_int_aCalcPerformDebug;
William
parents:
diff changeset
   288
epicsShareExtern int * const pvar_int_aCalcPostfixDebug;
William
parents:
diff changeset
   289
epicsShareExtern int * const pvar_int_aCalcoutRecordDebug;
William
parents:
diff changeset
   290
epicsShareExtern int * const pvar_int_aSubReadDHTDebug;
William
parents:
diff changeset
   291
epicsShareExtern int * const pvar_int_arrayTestDebug;
William
parents:
diff changeset
   292
epicsShareExtern int * const pvar_int_asCaDebug;
William
parents:
diff changeset
   293
epicsShareExtern int * const pvar_int_atExitDebug;
William
parents:
diff changeset
   294
epicsShareExtern double * const pvar_double_boHIGHlimit;
William
parents:
diff changeset
   295
epicsShareExtern int * const pvar_int_boHIGHprecision;
William
parents:
diff changeset
   296
epicsShareExtern double * const pvar_double_calcoutODLYlimit;
William
parents:
diff changeset
   297
epicsShareExtern int * const pvar_int_calcoutODLYprecision;
William
parents:
diff changeset
   298
epicsShareExtern int * const pvar_int_callbackParallelThreadsDefault;
William
parents:
diff changeset
   299
epicsShareExtern int * const pvar_int_dbBptNotMonotonic;
William
parents:
diff changeset
   300
epicsShareExtern int * const pvar_int_dbRecordsOnceOnly;
William
parents:
diff changeset
   301
epicsShareExtern int * const pvar_int_dbTemplateMaxVars;
William
parents:
diff changeset
   302
epicsShareExtern int * const pvar_int_debugSubAve;
William
parents:
diff changeset
   303
epicsShareExtern int * const pvar_int_devaCalcoutSoftDebug;
William
parents:
diff changeset
   304
epicsShareExtern int * const pvar_int_devsCalcoutSoftDebug;
William
parents:
diff changeset
   305
epicsShareExtern int * const pvar_int_histogramSDELprecision;
William
parents:
diff changeset
   306
epicsShareExtern int * const pvar_int_interpDebug;
William
parents:
diff changeset
   307
epicsShareExtern int * const pvar_int_sCalcLoopMax;
William
parents:
diff changeset
   308
epicsShareExtern int * const pvar_int_sCalcPerformDebug;
William
parents:
diff changeset
   309
epicsShareExtern int * const pvar_int_sCalcPostfixDebug;
William
parents:
diff changeset
   310
epicsShareExtern int * const pvar_int_sCalcStackHW;
William
parents:
diff changeset
   311
epicsShareExtern int * const pvar_int_sCalcStackLW;
William
parents:
diff changeset
   312
epicsShareExtern int * const pvar_int_sCalcoutRecordDebug;
William
parents:
diff changeset
   313
epicsShareExtern double * const pvar_double_seqDLYlimit;
William
parents:
diff changeset
   314
epicsShareExtern int * const pvar_int_seqDLYprecision;
William
parents:
diff changeset
   315
epicsShareExtern int * const pvar_int_sseqRecDebug;
William
parents:
diff changeset
   316
epicsShareExtern int * const pvar_int_streamDebug;
William
parents:
diff changeset
   317
epicsShareExtern int * const pvar_int_swaitRecordDebug;
William
parents:
diff changeset
   318
epicsShareExtern int * const pvar_int_transformRecordDebug;
William
parents:
diff changeset
   319
William
parents:
diff changeset
   320
static struct iocshVarDef vardefs[] = {
William
parents:
diff changeset
   321
    {"aCalcAsyncThreshold", iocshArgInt, pvar_int_aCalcAsyncThreshold},
William
parents:
diff changeset
   322
    {"aCalcLoopMax", iocshArgInt, pvar_int_aCalcLoopMax},
William
parents:
diff changeset
   323
    {"aCalcPerformDebug", iocshArgInt, pvar_int_aCalcPerformDebug},
William
parents:
diff changeset
   324
    {"aCalcPostfixDebug", iocshArgInt, pvar_int_aCalcPostfixDebug},
William
parents:
diff changeset
   325
    {"aCalcoutRecordDebug", iocshArgInt, pvar_int_aCalcoutRecordDebug},
William
parents:
diff changeset
   326
    {"aSubReadDHTDebug", iocshArgInt, pvar_int_aSubReadDHTDebug},
William
parents:
diff changeset
   327
    {"arrayTestDebug", iocshArgInt, pvar_int_arrayTestDebug},
William
parents:
diff changeset
   328
    {"asCaDebug", iocshArgInt, pvar_int_asCaDebug},
William
parents:
diff changeset
   329
    {"atExitDebug", iocshArgInt, pvar_int_atExitDebug},
William
parents:
diff changeset
   330
    {"boHIGHlimit", iocshArgDouble, pvar_double_boHIGHlimit},
William
parents:
diff changeset
   331
    {"boHIGHprecision", iocshArgInt, pvar_int_boHIGHprecision},
William
parents:
diff changeset
   332
    {"calcoutODLYlimit", iocshArgDouble, pvar_double_calcoutODLYlimit},
William
parents:
diff changeset
   333
    {"calcoutODLYprecision", iocshArgInt, pvar_int_calcoutODLYprecision},
William
parents:
diff changeset
   334
    {"callbackParallelThreadsDefault", iocshArgInt, pvar_int_callbackParallelThreadsDefault},
William
parents:
diff changeset
   335
    {"dbBptNotMonotonic", iocshArgInt, pvar_int_dbBptNotMonotonic},
William
parents:
diff changeset
   336
    {"dbRecordsOnceOnly", iocshArgInt, pvar_int_dbRecordsOnceOnly},
William
parents:
diff changeset
   337
    {"dbTemplateMaxVars", iocshArgInt, pvar_int_dbTemplateMaxVars},
William
parents:
diff changeset
   338
    {"debugSubAve", iocshArgInt, pvar_int_debugSubAve},
William
parents:
diff changeset
   339
    {"devaCalcoutSoftDebug", iocshArgInt, pvar_int_devaCalcoutSoftDebug},
William
parents:
diff changeset
   340
    {"devsCalcoutSoftDebug", iocshArgInt, pvar_int_devsCalcoutSoftDebug},
William
parents:
diff changeset
   341
    {"histogramSDELprecision", iocshArgInt, pvar_int_histogramSDELprecision},
William
parents:
diff changeset
   342
    {"interpDebug", iocshArgInt, pvar_int_interpDebug},
William
parents:
diff changeset
   343
    {"sCalcLoopMax", iocshArgInt, pvar_int_sCalcLoopMax},
William
parents:
diff changeset
   344
    {"sCalcPerformDebug", iocshArgInt, pvar_int_sCalcPerformDebug},
William
parents:
diff changeset
   345
    {"sCalcPostfixDebug", iocshArgInt, pvar_int_sCalcPostfixDebug},
William
parents:
diff changeset
   346
    {"sCalcStackHW", iocshArgInt, pvar_int_sCalcStackHW},
William
parents:
diff changeset
   347
    {"sCalcStackLW", iocshArgInt, pvar_int_sCalcStackLW},
William
parents:
diff changeset
   348
    {"sCalcoutRecordDebug", iocshArgInt, pvar_int_sCalcoutRecordDebug},
William
parents:
diff changeset
   349
    {"seqDLYlimit", iocshArgDouble, pvar_double_seqDLYlimit},
William
parents:
diff changeset
   350
    {"seqDLYprecision", iocshArgInt, pvar_int_seqDLYprecision},
William
parents:
diff changeset
   351
    {"sseqRecDebug", iocshArgInt, pvar_int_sseqRecDebug},
William
parents:
diff changeset
   352
    {"streamDebug", iocshArgInt, pvar_int_streamDebug},
William
parents:
diff changeset
   353
    {"swaitRecordDebug", iocshArgInt, pvar_int_swaitRecordDebug},
William
parents:
diff changeset
   354
    {"transformRecordDebug", iocshArgInt, pvar_int_transformRecordDebug},
William
parents:
diff changeset
   355
    {NULL, iocshArgInt, NULL}
William
parents:
diff changeset
   356
};
William
parents:
diff changeset
   357
William
parents:
diff changeset
   358
int kstm_registerRecordDeviceDriver(DBBASE *pbase)
William
parents:
diff changeset
   359
{
William
parents:
diff changeset
   360
    static int executed = 0;
William
parents:
diff changeset
   361
    const char *bldTop = "/home/epics/FHI/zweikstm";
William
parents:
diff changeset
   362
    const char *envTop = getenv("TOP");
William
parents:
diff changeset
   363
William
parents:
diff changeset
   364
    if (envTop && strcmp(envTop, bldTop)) {
William
parents:
diff changeset
   365
        printf("Warning: IOC is booting with TOP = \"%s\"\n"
William
parents:
diff changeset
   366
               "          but was built with TOP = \"%s\"\n",
William
parents:
diff changeset
   367
               envTop, bldTop);
William
parents:
diff changeset
   368
    }
William
parents:
diff changeset
   369
William
parents:
diff changeset
   370
    if (!pbase) {
William
parents:
diff changeset
   371
        printf("pdbbase is NULL; you must load a DBD file first.\n");
William
parents:
diff changeset
   372
        return -1;
William
parents:
diff changeset
   373
    }
William
parents:
diff changeset
   374
William
parents:
diff changeset
   375
    if (executed) {
William
parents:
diff changeset
   376
        printf("Warning: Registration already done.\n");
William
parents:
diff changeset
   377
    }
William
parents:
diff changeset
   378
    executed = 1;
William
parents:
diff changeset
   379
William
parents:
diff changeset
   380
    registerRecordTypes(pbase, NELEMENTS(rtl), recordTypeNames, rtl);
William
parents:
diff changeset
   381
    registerDevices(pbase, NELEMENTS(devsl), deviceSupportNames, devsl);
William
parents:
diff changeset
   382
    registerDrivers(pbase, NELEMENTS(drvsl), driverSupportNames, drvsl);
William
parents:
diff changeset
   383
    pvar_func_arrInitialize();
William
parents:
diff changeset
   384
    pvar_func_arrayTestRegister();
William
parents:
diff changeset
   385
    pvar_func_asSub();
William
parents:
diff changeset
   386
    pvar_func_asynInterposeEosRegister();
William
parents:
diff changeset
   387
    pvar_func_asynInterposeFlushRegister();
William
parents:
diff changeset
   388
    pvar_func_asynRegister();
William
parents:
diff changeset
   389
    pvar_func_dbndInitialize();
William
parents:
diff changeset
   390
    pvar_func_drvAsynIPPortRegisterCommands();
William
parents:
diff changeset
   391
    pvar_func_drvAsynIPServerPortRegisterCommands();
William
parents:
diff changeset
   392
    pvar_func_editSseqRegistrar();
William
parents:
diff changeset
   393
    pvar_func_interpRegister();
William
parents:
diff changeset
   394
    pvar_func_streamRegistrar();
William
parents:
diff changeset
   395
    pvar_func_subAveRegister();
William
parents:
diff changeset
   396
    pvar_func_syncInitialize();
William
parents:
diff changeset
   397
    pvar_func_tsInitialize();
William
parents:
diff changeset
   398
    pvar_func_register_func_aSubReadDHTInit();
William
parents:
diff changeset
   399
    pvar_func_register_func_aSubReadDHTProcess();
William
parents:
diff changeset
   400
    iocshRegisterVariable(vardefs);
William
parents:
diff changeset
   401
    return 0;
William
parents:
diff changeset
   402
}
William
parents:
diff changeset
   403
William
parents:
diff changeset
   404
/* kstm_registerRecordDeviceDriver */
William
parents:
diff changeset
   405
static const iocshArg rrddArg0 = {"pdbbase", iocshArgPdbbase};
William
parents:
diff changeset
   406
static const iocshArg *rrddArgs[] = {&rrddArg0};
William
parents:
diff changeset
   407
static const iocshFuncDef rrddFuncDef =
William
parents:
diff changeset
   408
    {"kstm_registerRecordDeviceDriver", 1, rrddArgs};
William
parents:
diff changeset
   409
static void rrddCallFunc(const iocshArgBuf *)
William
parents:
diff changeset
   410
{
William
parents:
diff changeset
   411
    kstm_registerRecordDeviceDriver(*iocshPpdbbase);
William
parents:
diff changeset
   412
}
William
parents:
diff changeset
   413
William
parents:
diff changeset
   414
} // extern "C"
William
parents:
diff changeset
   415
William
parents:
diff changeset
   416
/*
William
parents:
diff changeset
   417
 * Register commands on application startup
William
parents:
diff changeset
   418
 */
William
parents:
diff changeset
   419
static int Registration() {
William
parents:
diff changeset
   420
    iocshRegisterCommon();
William
parents:
diff changeset
   421
    iocshRegister(&rrddFuncDef, rrddCallFunc);
William
parents:
diff changeset
   422
    return 0;
William
parents:
diff changeset
   423
}
William
parents:
diff changeset
   424
William
parents:
diff changeset
   425
static int done = Registration();