19 #include "libComAPI.h"
33 enum restart_t { noRestart, restart };
37 LIBCOM_API expireStatus ( restart_t,
const double & expireDelaySec );
38 LIBCOM_API
bool restart ()
const;
39 LIBCOM_API
double expirationDelay ()
const;
47 virtual void show (
unsigned int level )
const;
53 virtual void destroy () = 0;
60 virtual void cancel () = 0;
67 double getExpireDelay ();
68 virtual void show (
unsigned int level )
const = 0;
76 virtual void show (
unsigned int level )
const = 0;
85 bool okToShare,
unsigned threadPriority = epicsThreadPriorityMin + 10 );
86 virtual void release () = 0;
95 virtual void reschedule () = 0;
98 virtual double quantum () = 0;
108 virtual double process (
const epicsTime & currentTime ) = 0;
111 inline epicsTimer::expireInfo::expireInfo (
bool activeIn,
113 active ( activeIn ), expireTime ( expireTimeIn )
117 inline double epicsTimer::getExpireDelay ()
133 typedef struct epicsTimerForC * epicsTimerId;
134 typedef void ( *epicsTimerCallback ) (
void *pPrivate );
137 typedef struct epicsTimerQueueActiveForC * epicsTimerQueueId;
138 LIBCOM_API epicsTimerQueueId epicsStdCall
139 epicsTimerQueueAllocate (
int okToShare,
unsigned int threadPriority );
140 LIBCOM_API
void epicsStdCall
141 epicsTimerQueueRelease ( epicsTimerQueueId );
142 LIBCOM_API epicsTimerId epicsStdCall
143 epicsTimerQueueCreateTimer ( epicsTimerQueueId queueid,
144 epicsTimerCallback callback,
void *arg );
145 LIBCOM_API
void epicsStdCall
146 epicsTimerQueueDestroyTimer ( epicsTimerQueueId queueid, epicsTimerId
id );
147 LIBCOM_API
void epicsStdCall
148 epicsTimerQueueShow ( epicsTimerQueueId
id,
unsigned int level );
151 typedef struct epicsTimerQueuePassiveForC * epicsTimerQueuePassiveId;
152 typedef void ( * epicsTimerQueueNotifyReschedule ) (
void * pPrivate );
153 typedef double ( * epicsTimerQueueNotifyQuantum ) (
void * pPrivate );
154 LIBCOM_API epicsTimerQueuePassiveId epicsStdCall
155 epicsTimerQueuePassiveCreate ( epicsTimerQueueNotifyReschedule,
156 epicsTimerQueueNotifyQuantum,
void *pPrivate );
157 LIBCOM_API
void epicsStdCall
158 epicsTimerQueuePassiveDestroy ( epicsTimerQueuePassiveId );
159 LIBCOM_API epicsTimerId epicsStdCall
160 epicsTimerQueuePassiveCreateTimer (
161 epicsTimerQueuePassiveId queueid, epicsTimerCallback pCallback,
void *pArg );
162 LIBCOM_API
void epicsStdCall
163 epicsTimerQueuePassiveDestroyTimer ( epicsTimerQueuePassiveId queueid, epicsTimerId
id );
164 LIBCOM_API
double epicsStdCall
165 epicsTimerQueuePassiveProcess ( epicsTimerQueuePassiveId );
166 LIBCOM_API
void epicsStdCall
167 epicsTimerQueuePassiveShow ( epicsTimerQueuePassiveId
id,
unsigned int level );
170 LIBCOM_API
void epicsStdCall
171 epicsTimerStartTime ( epicsTimerId
id,
const epicsTimeStamp *pTime );
172 LIBCOM_API
void epicsStdCall
173 epicsTimerStartDelay ( epicsTimerId
id,
double delaySeconds );
174 LIBCOM_API
void epicsStdCall
175 epicsTimerCancel ( epicsTimerId
id );
176 LIBCOM_API
double epicsStdCall
177 epicsTimerGetExpireDelay ( epicsTimerId
id );
178 LIBCOM_API
void epicsStdCall
179 epicsTimerShow ( epicsTimerId
id,
unsigned int level );
C++ and C descriptions for a thread.
EPICS time stamp, for use from C code.
EPICS time-stamps (epicsTimeStamp), epicsTime C++ class and C functions for handling wall-clock times...
static epicsTime getCurrent()
Get current clock time.