Merge branch '3.15' into 7.0
* 3.15: (28 commits) update RELEASE_NOTES add option EPICS_NO_CALLBACK replace CALLBACK -> epicsCallback Update dbTest.c Remove links to wiki-ext Add POD annotations from Wiki to subArrayRecord and menuAlarmStat Rename subArrayRecord.dbd and menuAlarmStat.dbd to .pod Add POD annotations to longoutRecord from Wiki Rename longoutRecord.dbd longoutRecord.dbd.pod Add POD annotations to longinRecord from Wiki Rename longinRecord.dbd longinRecord.dbd.pod Add POD annotations to subRecord from Wiki Rename subRecord.dbd subRecord.dbd.pod Add POD annotations to selRecord from Wiki Rename selRecord.dbd selRecord.dbd.pod Add POD annotations to seqRecord from Wiki Rename seqRecord.dbd seqRecord.dbd.pod Fix menu declaration test too Add redefinition guard to menu-generated typedefs Updates to existing .dbd.pod texts, add event and fanout from wiki ... # Conflicts: # documentation/README.1st # documentation/README.html # modules/database/src/ioc/db/callback.h # modules/database/src/ioc/db/dbNotify.c # modules/database/src/ioc/db/menuAlarmStat.dbd # modules/database/src/ioc/db/menuFtype.dbd # modules/database/src/std/rec/compressRecord.dbd.pod # modules/database/src/std/rec/eventRecord.dbd # modules/database/src/std/rec/fanoutRecord.dbd # modules/database/src/std/rec/longinRecord.dbd # modules/database/src/std/rec/longoutRecord.dbd # modules/database/src/std/rec/selRecord.dbd # modules/database/src/std/rec/seqRecord.dbd # modules/database/src/std/rec/subArrayRecord.dbd # modules/database/src/std/rec/subRecord.dbd # modules/libcom/src/iocsh/menuAlarmStat.dbd.pod # modules/libcom/src/iocsh/menuFtype.dbd.pod # src/ioc/db/menuAlarmStat.dbd # src/ioc/db/menuFtype.dbd Manually fix some move+rename Make additional CALLBACK -> epicsCallback preserve INT64 in menuFtype preserve OLDSIM et al
This commit is contained in:
@@ -16,7 +16,7 @@
|
||||
#include "shareLib.h"
|
||||
|
||||
typedef struct {
|
||||
CALLBACK callback;
|
||||
epicsCallback callback;
|
||||
long status;
|
||||
} ASDBCALLBACK;
|
||||
|
||||
|
||||
@@ -216,7 +216,7 @@ static void callbackTask(void *arg)
|
||||
epicsEventMustWait(mySet->semWakeUp);
|
||||
|
||||
while ((ptr = epicsRingPointerPop(mySet->queue))) {
|
||||
CALLBACK *pcallback = (CALLBACK *)ptr;
|
||||
epicsCallback *pcallback = (epicsCallback *)ptr;
|
||||
if(!epicsRingPointerIsEmpty(mySet->queue))
|
||||
epicsEventMustTrigger(mySet->semWakeUp);
|
||||
mySet->queueOverflow = FALSE;
|
||||
@@ -317,7 +317,7 @@ void callbackInit(void)
|
||||
}
|
||||
|
||||
/* This routine can be called from interrupt context */
|
||||
int callbackRequest(CALLBACK *pcallback)
|
||||
int callbackRequest(epicsCallback *pcallback)
|
||||
{
|
||||
int priority;
|
||||
int pushOK;
|
||||
@@ -347,7 +347,7 @@ int callbackRequest(CALLBACK *pcallback)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ProcessCallback(CALLBACK *pcallback)
|
||||
static void ProcessCallback(epicsCallback *pcallback)
|
||||
{
|
||||
dbCommon *pRec;
|
||||
|
||||
@@ -358,14 +358,14 @@ static void ProcessCallback(CALLBACK *pcallback)
|
||||
dbScanUnlock(pRec);
|
||||
}
|
||||
|
||||
void callbackSetProcess(CALLBACK *pcallback, int Priority, void *pRec)
|
||||
void callbackSetProcess(epicsCallback *pcallback, int Priority, void *pRec)
|
||||
{
|
||||
callbackSetCallback(ProcessCallback, pcallback);
|
||||
callbackSetPriority(Priority, pcallback);
|
||||
callbackSetUser(pRec, pcallback);
|
||||
}
|
||||
|
||||
int callbackRequestProcessCallback(CALLBACK *pcallback,
|
||||
int callbackRequestProcessCallback(epicsCallback *pcallback,
|
||||
int Priority, void *pRec)
|
||||
{
|
||||
callbackSetProcess(pcallback, Priority, pRec);
|
||||
@@ -374,11 +374,11 @@ int callbackRequestProcessCallback(CALLBACK *pcallback,
|
||||
|
||||
static void notify(void *pPrivate)
|
||||
{
|
||||
CALLBACK *pcallback = (CALLBACK *)pPrivate;
|
||||
epicsCallback *pcallback = (epicsCallback *)pPrivate;
|
||||
callbackRequest(pcallback);
|
||||
}
|
||||
|
||||
void callbackRequestDelayed(CALLBACK *pcallback, double seconds)
|
||||
void callbackRequestDelayed(epicsCallback *pcallback, double seconds)
|
||||
{
|
||||
epicsTimerId timer = (epicsTimerId)pcallback->timer;
|
||||
|
||||
@@ -389,7 +389,7 @@ void callbackRequestDelayed(CALLBACK *pcallback, double seconds)
|
||||
epicsTimerStartDelay(timer, seconds);
|
||||
}
|
||||
|
||||
void callbackCancelDelayed(CALLBACK *pcallback)
|
||||
void callbackCancelDelayed(epicsCallback *pcallback)
|
||||
{
|
||||
epicsTimerId timer = (epicsTimerId)pcallback->timer;
|
||||
|
||||
@@ -398,7 +398,7 @@ void callbackCancelDelayed(CALLBACK *pcallback)
|
||||
}
|
||||
}
|
||||
|
||||
void callbackRequestProcessCallbackDelayed(CALLBACK *pcallback,
|
||||
void callbackRequestProcessCallbackDelayed(epicsCallback *pcallback,
|
||||
int Priority, void *pRec, double seconds)
|
||||
{
|
||||
callbackSetProcess(pcallback, Priority, pRec);
|
||||
|
||||
@@ -26,7 +26,7 @@ extern "C" {
|
||||
/*
|
||||
* WINDOWS also has a "CALLBACK" type def
|
||||
*/
|
||||
#ifdef _WIN32
|
||||
#if defined(_WIN32) && !defined(EPICS_NO_CALLBACK)
|
||||
# ifdef CALLBACK
|
||||
# undef CALLBACK
|
||||
# endif /*CALLBACK*/
|
||||
@@ -44,7 +44,9 @@ typedef struct callbackPvt {
|
||||
void *timer; /*for use by callback itself*/
|
||||
}epicsCallback;
|
||||
|
||||
#if !defined(EPICS_NO_CALLBACK)
|
||||
typedef epicsCallback CALLBACK;
|
||||
#endif
|
||||
|
||||
typedef void (*CALLBACKFUNC)(struct callbackPvt*);
|
||||
|
||||
@@ -69,16 +71,16 @@ typedef struct callbackQueueStats {
|
||||
epicsShareFunc void callbackInit(void);
|
||||
epicsShareFunc void callbackStop(void);
|
||||
epicsShareFunc void callbackCleanup(void);
|
||||
epicsShareFunc int callbackRequest(CALLBACK *pCallback);
|
||||
epicsShareFunc int callbackRequest(epicsCallback *pCallback);
|
||||
epicsShareFunc void callbackSetProcess(
|
||||
CALLBACK *pcallback, int Priority, void *pRec);
|
||||
epicsCallback *pcallback, int Priority, void *pRec);
|
||||
epicsShareFunc int callbackRequestProcessCallback(
|
||||
CALLBACK *pCallback,int Priority, void *pRec);
|
||||
epicsCallback *pCallback,int Priority, void *pRec);
|
||||
epicsShareFunc void callbackRequestDelayed(
|
||||
CALLBACK *pCallback,double seconds);
|
||||
epicsShareFunc void callbackCancelDelayed(CALLBACK *pcallback);
|
||||
epicsCallback *pCallback,double seconds);
|
||||
epicsShareFunc void callbackCancelDelayed(epicsCallback *pcallback);
|
||||
epicsShareFunc void callbackRequestProcessCallbackDelayed(
|
||||
CALLBACK *pCallback, int Priority, void *pRec, double seconds);
|
||||
epicsCallback *pCallback, int Priority, void *pRec, double seconds);
|
||||
epicsShareFunc int callbackSetQueueSize(int size);
|
||||
epicsShareFunc int callbackQueueStatus(const int reset, callbackQueueStats *result);
|
||||
epicsShareFunc void callbackQueueShow(const int reset);
|
||||
|
||||
@@ -69,7 +69,7 @@ typedef struct notifyPvt {
|
||||
ELLNODE node; /*For free list*/
|
||||
long magic;
|
||||
short state;
|
||||
CALLBACK callback;
|
||||
epicsCallback callback;
|
||||
ELLLIST waitList; /*list of records for current processNotify*/
|
||||
short cancelWait;
|
||||
short userCallbackWait;
|
||||
@@ -86,7 +86,7 @@ typedef struct notifyGlobal {
|
||||
|
||||
static notifyGlobal *pnotifyGlobal = 0;
|
||||
|
||||
static void notifyCallback(CALLBACK *pcallback);
|
||||
static void notifyCallback(epicsCallback *pcallback);
|
||||
|
||||
#define ellSafeAdd(list,listnode) \
|
||||
{ \
|
||||
@@ -270,7 +270,7 @@ static void processNotifyCommon(processNotify *ppn, dbCommon *precord, int first
|
||||
callDone(precord, ppn);
|
||||
}
|
||||
|
||||
static void notifyCallback(CALLBACK *pcallback)
|
||||
static void notifyCallback(epicsCallback *pcallback)
|
||||
{
|
||||
processNotify *ppn = NULL;
|
||||
dbCommon *precord;
|
||||
|
||||
@@ -109,7 +109,7 @@ static char *priorityName[NUM_CALLBACK_PRIORITIES] = {
|
||||
/* EVENT */
|
||||
|
||||
typedef struct event_list {
|
||||
CALLBACK callback[NUM_CALLBACK_PRIORITIES];
|
||||
epicsCallback callback[NUM_CALLBACK_PRIORITIES];
|
||||
scan_list scan_list[NUM_CALLBACK_PRIORITIES];
|
||||
struct event_list *next;
|
||||
char eventname[1]; /* actually arbitrary size */
|
||||
@@ -120,7 +120,7 @@ static epicsMutexId event_lock;
|
||||
/* IO_EVENT*/
|
||||
|
||||
typedef struct io_scan_list {
|
||||
CALLBACK callback;
|
||||
epicsCallback callback;
|
||||
scan_list scan_list;
|
||||
} io_scan_list;
|
||||
|
||||
@@ -141,9 +141,9 @@ static void periodicTask(void *arg);
|
||||
static void initPeriodic(void);
|
||||
static void deletePeriodic(void);
|
||||
static void spawnPeriodic(int ind);
|
||||
static void eventCallback(CALLBACK *pcallback);
|
||||
static void eventCallback(epicsCallback *pcallback);
|
||||
static void ioscanInit(void);
|
||||
static void ioscanCallback(CALLBACK *pcallback);
|
||||
static void ioscanCallback(epicsCallback *pcallback);
|
||||
static void ioscanDestroy(void);
|
||||
static void printList(scan_list *psl, char *message);
|
||||
static void scanList(scan_list *psl);
|
||||
@@ -448,7 +448,7 @@ int scanpiol(void) /* print pioscan_list */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void eventCallback(CALLBACK *pcallback)
|
||||
static void eventCallback(epicsCallback *pcallback)
|
||||
{
|
||||
scan_list *psl;
|
||||
|
||||
@@ -944,7 +944,7 @@ static void spawnPeriodic(int ind)
|
||||
epicsEventWait(startStopEvent);
|
||||
}
|
||||
|
||||
static void ioscanCallback(CALLBACK *pcallback)
|
||||
static void ioscanCallback(epicsCallback *pcallback)
|
||||
{
|
||||
ioscan_head *piosh;
|
||||
int prio;
|
||||
|
||||
@@ -56,7 +56,7 @@ typedef struct msgBuff TAB_BUFFER;
|
||||
# define MIN(x,y) (((x) < (y)) ? (x) : (y))
|
||||
#endif
|
||||
#ifndef MAX
|
||||
# define MAX(x,y) (((x) < (y)) ? (x) : (y))
|
||||
# define MAX(x,y) (((x) > (y)) ? (x) : (y))
|
||||
#endif
|
||||
|
||||
/* Local Routines */
|
||||
|
||||
@@ -7,6 +7,17 @@
|
||||
# and higher are distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
=head1 Menu menuAlarmStat
|
||||
|
||||
This menu defines the possible alarm statuses that EPICS records can exhibit
|
||||
which is used for C<STAT> and C<NSTA> fields of all record types.
|
||||
See L<Alarm Status> for more information.
|
||||
|
||||
=menu menuAlarmStat
|
||||
|
||||
=cut
|
||||
|
||||
menu(menuAlarmStat) {
|
||||
choice(menuAlarmStatNO_ALARM,"NO_ALARM")
|
||||
choice(menuAlarmStatREAD,"READ")
|
||||
@@ -6,6 +6,15 @@
|
||||
# EPICS BASE is distributed subject to a Software License Agreement found
|
||||
# in file LICENSE that is included with this distribution.
|
||||
#*************************************************************************
|
||||
|
||||
=head1 Menu menuFtype
|
||||
|
||||
This menu is used for the C<FTVL> and similar fields of many record types.
|
||||
|
||||
=menu menuFtype
|
||||
|
||||
=cut
|
||||
|
||||
menu(menuFtype) {
|
||||
choice(menuFtypeSTRING,"STRING")
|
||||
choice(menuFtypeCHAR,"CHAR")
|
||||
Reference in New Issue
Block a user