This is Unofficial EPICS BASE Doxygen Site
osiClockTime.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CLOCKTIME_NOSYNC   0
 
#define CLOCKTIME_SYNC   1
 

Functions

void ClockTime_Init (int synchronize)
 
void ClockTime_Shutdown (void *dummy)
 
int ClockTime_Report (int level)
 

Macro Definition Documentation

#define CLOCKTIME_NOSYNC   0

Definition at line 11 of file osiClockTime.h.

#define CLOCKTIME_SYNC   1

Definition at line 12 of file osiClockTime.h.

Function Documentation

void ClockTime_Init ( int  synchronize)
int ClockTime_Report ( int  level)

Definition at line 243 of file osiClockTime.c.

244 {
245  char timebuf[32];
246 
247  if (onceId == EPICS_THREAD_ONCE_INIT) {
248  puts("OS Clock driver not " UNINIT_ERROR);
249  }
250  else if (ClockTimePvt.synchronize == CLOCKTIME_SYNC) {
251  int synchronized, syncFromPriority;
253 
254  epicsMutexMustLock(ClockTimePvt.lock);
255  synchronized = ClockTimePvt.synchronized;
256  syncFromPriority = ClockTimePvt.syncFromPriority;
257  startTime = ClockTimePvt.startTime;
258  syncTime = ClockTimePvt.syncTime;
259  epicsMutexUnlock(ClockTimePvt.lock);
260 
261  if (synchronized) {
262  printf("OS Clock driver is synchronized to a priority=%d provider\n",
263  syncFromPriority);
264  if (level) {
265  epicsTimeToStrftime(timebuf, sizeof(timebuf),
266  "%Y-%m-%d %H:%M:%S.%06f", &startTime);
267  printf("Initial sync was at %s\n", timebuf);
268  epicsTimeToStrftime(timebuf, sizeof(timebuf),
269  "%Y-%m-%d %H:%M:%S.%06f", &syncTime);
270  printf("Last successful sync was at %s\n", timebuf);
271  }
272  printf("Syncronization interval = %.0f seconds\n",
273  ClockTimePvt.ClockTimeSyncInterval);
274  }
275  else
276  printf("OS Clock driver is *not* synchronized\n");
277  }
278  else {
279  epicsTimeToStrftime(timebuf, sizeof(timebuf),
280  "%Y-%m-%d %H:%M:%S.%06f", &ClockTimePvt.startTime);
281  printf("Program started at %s\n", timebuf);
282  printf("OS Clock synchronization thread not running.\n");
283  }
284  return 0;
285 }
epicsTimeStamp syncTime
Definition: osiClockTime.c:34
#define printf
Definition: epicsStdio.h:41
epicsTimeStamp startTime
Definition: osiClockTime.c:33
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
Definition: epicsMutex.cpp:140
#define UNINIT_ERROR
Definition: osiClockTime.c:234
int syncFromPriority
Definition: osiClockTime.c:36
LIBCOM_API size_t epicsStdCall epicsTimeToStrftime(char *pBuff, size_t bufLength, const char *pFormat, const epicsTimeStamp *pTS)
Convert epicsTimeStamp to string. See epicsTime::strftime()
Definition: epicsTime.cpp:1120
#define EPICS_THREAD_ONCE_INIT
Definition: epicsThread.h:109
#define puts
Definition: epicsStdio.h:46
#define CLOCKTIME_SYNC
Definition: osiClockTime.h:12
EPICS time stamp, for use from C code.
Definition: epicsTime.h:33
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
Definition: epicsMutex.h:214
void ClockTime_Shutdown ( void *  dummy)