From 7893445a2ed92a1350e4fb40ac77e5f8e39b1557 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Sat, 16 Nov 2019 22:19:38 -0600 Subject: [PATCH] Modify lsodset, set USE_TYPED_DSET --- modules/database/src/std/dev/Makefile | 2 ++ modules/database/src/std/dev/devLsoSoft.c | 2 +- modules/database/src/std/dev/devLsoSoftCallback.c | 2 +- modules/database/src/std/dev/devStdio.c | 2 +- modules/database/src/std/rec/Makefile | 1 + modules/database/src/std/rec/lsoRecord.c | 6 +++--- modules/database/src/std/rec/lsoRecord.dbd | 9 +++------ 7 files changed, 12 insertions(+), 12 deletions(-) diff --git a/modules/database/src/std/dev/Makefile b/modules/database/src/std/dev/Makefile index a72bfa342..bcfc51870 100644 --- a/modules/database/src/std/dev/Makefile +++ b/modules/database/src/std/dev/Makefile @@ -34,6 +34,7 @@ dbRecStd_SRCS += devLiSoft.c dbRecStd_SRCS += devLoSoft.c devLsiSoft_CFLAGS += -DUSE_TYPED_DSET dbRecStd_SRCS += devLsiSoft.c +devLsoSoft_CFLAGS += -DUSE_TYPED_DSET dbRecStd_SRCS += devLsoSoft.c dbRecStd_SRCS += devMbbiDirectSoft.c dbRecStd_SRCS += devMbbiDirectSoftRaw.c @@ -64,6 +65,7 @@ dbRecStd_SRCS += devBoSoftCallback.c dbRecStd_SRCS += devCalcoutSoftCallback.c dbRecStd_SRCS += devI64outSoftCallback.c dbRecStd_SRCS += devLoSoftCallback.c +devLsoSoftCallback_CFLAGS += -DUSE_TYPED_DSET dbRecStd_SRCS += devLsoSoftCallback.c dbRecStd_SRCS += devMbboSoftCallback.c dbRecStd_SRCS += devMbboDirectSoftCallback.c diff --git a/modules/database/src/std/dev/devLsoSoft.c b/modules/database/src/std/dev/devLsoSoft.c index 02079a053..2f6f6abda 100644 --- a/modules/database/src/std/dev/devLsoSoft.c +++ b/modules/database/src/std/dev/devLsoSoft.c @@ -21,6 +21,6 @@ static long write_string(lsoRecord *prec) } lsodset devLsoSoft = { - 5, NULL, NULL, NULL, NULL, write_string + { 5, NULL, NULL, NULL, NULL }, write_string }; epicsExportAddress(dset, devLsoSoft); diff --git a/modules/database/src/std/dev/devLsoSoftCallback.c b/modules/database/src/std/dev/devLsoSoftCallback.c index 59579d558..08fca77c2 100644 --- a/modules/database/src/std/dev/devLsoSoftCallback.c +++ b/modules/database/src/std/dev/devLsoSoftCallback.c @@ -40,7 +40,7 @@ static long write_string(lsoRecord *prec) } lsodset devLsoSoftCallback = { - 5, NULL, NULL, NULL, NULL, write_string + { 5, NULL, NULL, NULL, NULL }, write_string }; epicsExportAddress(dset, devLsoSoftCallback); diff --git a/modules/database/src/std/dev/devStdio.c b/modules/database/src/std/dev/devStdio.c index 0bed72a57..928c8a420 100644 --- a/modules/database/src/std/dev/devStdio.c +++ b/modules/database/src/std/dev/devStdio.c @@ -103,7 +103,7 @@ static long write_lso(lsoRecord *prec) } lsodset devLsoStdio = { - 5, NULL, init_lso, NULL, NULL, write_lso + { 5, NULL, init_lso, NULL, NULL }, write_lso }; epicsExportAddress(dset, devLsoStdio); diff --git a/modules/database/src/std/rec/Makefile b/modules/database/src/std/rec/Makefile index 4d3687794..3f46ae33a 100644 --- a/modules/database/src/std/rec/Makefile +++ b/modules/database/src/std/rec/Makefile @@ -31,6 +31,7 @@ stdRecords += longinRecord stdRecords += longoutRecord lsiRecord_CFLAGS += -DUSE_TYPED_DSET stdRecords += lsiRecord +lsoRecord_CFLAGS += -DUSE_TYPED_DSET stdRecords += lsoRecord stdRecords += mbbiRecord stdRecords += mbbiDirectRecord diff --git a/modules/database/src/std/rec/lsoRecord.c b/modules/database/src/std/rec/lsoRecord.c index 9485e3810..4fa6bb725 100644 --- a/modules/database/src/std/rec/lsoRecord.c +++ b/modules/database/src/std/rec/lsoRecord.c @@ -70,15 +70,15 @@ static long init_record(struct dbCommon *pcommon, int pass) } /* must have a write_string function defined */ - if (pdset->number < 5 || !pdset->write_string) { + if (pdset->common.number < 5 || !pdset->write_string) { recGblRecordError(S_dev_missingSup, prec, "lso: init_record"); return S_dev_missingSup; } dbLoadLinkLS(&prec->dol, prec->val, prec->sizv, &prec->len); - if (pdset->init_record) { - long status = pdset->init_record(prec); + if (pdset->common.init_record) { + long status = pdset->common.init_record(pcommon); if (status) return status; diff --git a/modules/database/src/std/rec/lsoRecord.dbd b/modules/database/src/std/rec/lsoRecord.dbd index 880139a3c..50cc6f29c 100644 --- a/modules/database/src/std/rec/lsoRecord.dbd +++ b/modules/database/src/std/rec/lsoRecord.dbd @@ -10,13 +10,10 @@ recordtype(lso) { %#include "devSup.h" % %/* Declare Device Support Entry Table */ + %struct lsoRecord; %typedef struct lsodset { - % long number; - % DEVSUPFUN report; - % DEVSUPFUN init; - % DEVSUPFUN init_record; - % DEVSUPFUN get_ioint_info; - % DEVSUPFUN write_string; + % dset common; + % long (*write_string)(struct lsoRecord *prec); %} lsodset; % field(VAL,DBF_NOACCESS) {