diff --git a/modules/database/src/ioc/db/dbChannelIO.cpp b/modules/database/src/ioc/db/dbChannelIO.cpp index 449717e730..b383abbfa5 100644 --- a/modules/database/src/ioc/db/dbChannelIO.cpp +++ b/modules/database/src/ioc/db/dbChannelIO.cpp @@ -14,6 +14,8 @@ * 505 665 1831 */ +#define USE_TYPED_DBEVENT + #include #include diff --git a/modules/database/src/ioc/db/dbContext.cpp b/modules/database/src/ioc/db/dbContext.cpp index dc30876025..c38ca663c6 100644 --- a/modules/database/src/ioc/db/dbContext.cpp +++ b/modules/database/src/ioc/db/dbContext.cpp @@ -13,6 +13,8 @@ * 505 665 1831 */ +#define USE_TYPED_DBEVENT + #include #include "epicsMutex.h" diff --git a/modules/database/src/ioc/db/dbContextReadNotifyCache.cpp b/modules/database/src/ioc/db/dbContextReadNotifyCache.cpp index 1c5e0d0f9b..c11ca3ab43 100644 --- a/modules/database/src/ioc/db/dbContextReadNotifyCache.cpp +++ b/modules/database/src/ioc/db/dbContextReadNotifyCache.cpp @@ -12,6 +12,8 @@ * Author Jeff Hill */ +#define USE_TYPED_DBEVENT + #include #include "epicsMutex.h" diff --git a/modules/database/src/ioc/db/dbEvent.c b/modules/database/src/ioc/db/dbEvent.c index e7d0427fc5..3430c35531 100644 --- a/modules/database/src/ioc/db/dbEvent.c +++ b/modules/database/src/ioc/db/dbEvent.c @@ -19,6 +19,8 @@ */ #define EPICS_PRIVATE_API +#define USE_TYPED_DBEVENT + #include #include #include diff --git a/modules/database/src/ioc/db/dbEvent.h b/modules/database/src/ioc/db/dbEvent.h index 277d6c07ec..32e54265b3 100644 --- a/modules/database/src/ioc/db/dbEvent.h +++ b/modules/database/src/ioc/db/dbEvent.h @@ -32,6 +32,15 @@ struct dbChannel; struct db_field_log; struct evSubscrip; +#ifdef USE_TYPED_DBEVENT +struct dbEventContext; // use dbEventCtx +typedef struct evSubscrip* dbEventSubscription; +typedef struct dbEventContext* dbEventCtx; +#else +typedef void * dbEventSubscription; +typedef void * dbEventCtx; +#endif + DBCORE_API int db_event_list ( const char *name, unsigned level); DBCORE_API int dbel ( @@ -39,8 +48,6 @@ DBCORE_API int dbel ( DBCORE_API int db_post_events ( void *pRecord, void *pField, unsigned caEventMask ); -typedef void * dbEventCtx; - typedef void EXTRALABORFUNC (void *extralabor_arg); DBCORE_API dbEventCtx db_init_events (void); DBCORE_API int db_start_events ( @@ -63,7 +70,6 @@ DBCORE_API void db_init_event_freelists (void); typedef void EVENTFUNC (void *user_arg, struct dbChannel *chan, int eventsRemaining, struct db_field_log *pfl); -typedef void * dbEventSubscription; DBCORE_API dbEventSubscription db_add_event ( dbEventCtx ctx, struct dbChannel *chan, EVENTFUNC *user_sub, void *user_arg, unsigned select); diff --git a/modules/database/src/ioc/db/dbPutNotifyBlocker.cpp b/modules/database/src/ioc/db/dbPutNotifyBlocker.cpp index fe42d094c0..62fc44612d 100644 --- a/modules/database/src/ioc/db/dbPutNotifyBlocker.cpp +++ b/modules/database/src/ioc/db/dbPutNotifyBlocker.cpp @@ -15,6 +15,8 @@ * 505 665 1831 */ +#define USE_TYPED_DBEVENT + #include #include diff --git a/modules/database/src/ioc/db/dbSubscriptionIO.cpp b/modules/database/src/ioc/db/dbSubscriptionIO.cpp index 674ee1dc62..1d19266f83 100644 --- a/modules/database/src/ioc/db/dbSubscriptionIO.cpp +++ b/modules/database/src/ioc/db/dbSubscriptionIO.cpp @@ -14,6 +14,8 @@ * 505 665 1831 */ +#define USE_TYPED_DBEVENT + #include #include diff --git a/modules/database/src/ioc/db/dbUnitTest.c b/modules/database/src/ioc/db/dbUnitTest.c index bf4ec205b7..5ac710f487 100644 --- a/modules/database/src/ioc/db/dbUnitTest.c +++ b/modules/database/src/ioc/db/dbUnitTest.c @@ -14,6 +14,7 @@ #include #define EPICS_PRIVATE_API +#define USE_TYPED_DBEVENT #include "dbmf.h" #include "epicsUnitTest.h"