diff --git a/src/ioc/registry/registryRecordType.h b/src/ioc/registry/registryRecordType.h index 1d4c80cdd..29ba714e8 100644 --- a/src/ioc/registry/registryRecordType.h +++ b/src/ioc/registry/registryRecordType.h @@ -18,13 +18,12 @@ extern "C" { #endif struct dbRecordType; -struct rset; struct dbBase; typedef int (*computeSizeOffset)(struct dbRecordType *pdbRecordType); typedef struct recordTypeLocation { - struct rset *prset; + struct typed_rset *prset; computeSizeOffset sizeOffset; }recordTypeLocation; diff --git a/src/tools/registerRecordDeviceDriver.pl b/src/tools/registerRecordDeviceDriver.pl index 34f1b59cb..5d56ecb3e 100644 --- a/src/tools/registerRecordDeviceDriver.pl +++ b/src/tools/registerRecordDeviceDriver.pl @@ -69,6 +69,7 @@ print $out (<< "END"); #include "iocsh.h" #include "iocshRegisterCommon.h" #include "registryCommon.h" +#include "recSup.h" END @@ -94,7 +95,7 @@ if (%rectypes) { if (@rtypnames) { # Declare the record support entry tables - print $out wrap('epicsShareExtern rset ', ' ', + print $out wrap('epicsShareExtern typed_rset ', ' ', join(', ', map {"*pvar_rset_${_}RSET"} @rtypnames)), ";\n\n"; # Declare the RecordSizeOffset functions @@ -110,7 +111,7 @@ if (%rectypes) { # List of pointers to each RSET and RecordSizeOffset function print $out "static const recordTypeLocation rtl[] = {\n"; print $out join(",\n", map { - " {pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}" + " {(struct typed_rset *)pvar_rset_${_}RSET, pvar_func_${_}RecordSizeOffset}" } @rtypnames); print $out "\n};\n\n"; }