From 96f0eea5bd3f1d06d7cd2504add6d26e21d7ee8e Mon Sep 17 00:00:00 2001 From: William Lupton Date: Wed, 15 Mar 2000 00:13:30 +0000 Subject: [PATCH] supported BSD timeval --- src/libCom/osi/osiTime.cpp | 28 ++++++++++++++++++++++++++++ src/libCom/osi/tsStamp.h | 7 +++++++ 2 files changed, 35 insertions(+) diff --git a/src/libCom/osi/osiTime.cpp b/src/libCom/osi/osiTime.cpp index 2ee1ca96e..1ec1ed3ae 100644 --- a/src/libCom/osi/osiTime.cpp +++ b/src/libCom/osi/osiTime.cpp @@ -765,6 +765,34 @@ extern "C" { catch (...) { return tsStampERROR; } +# endif + return tsStampOK; + } + epicsShareFunc int epicsShareAPI tsStampToTimeval (struct timeval *pDest, const TS_STAMP *pSrc) + { +# ifdef noExceptionsFromCXX + *pDest = osiTime (*pSrc); +# else + try { + *pDest = osiTime (*pSrc); + } + catch (...) { + return tsStampERROR; + } +# endif + return tsStampOK; + } + epicsShareFunc int epicsShareAPI tsStampFromTimeval (TS_STAMP *pDest, const struct timeval *pSrc) + { +# ifdef noExceptionsFromCXX + *pDest = osiTime (*pSrc); +# else + try { + *pDest = osiTime (*pSrc); + } + catch (...) { + return tsStampERROR; + } # endif return tsStampOK; } diff --git a/src/libCom/osi/tsStamp.h b/src/libCom/osi/tsStamp.h index 635e71d04..342712173 100644 --- a/src/libCom/osi/tsStamp.h +++ b/src/libCom/osi/tsStamp.h @@ -24,6 +24,7 @@ extern "C" { #endif /* __cplusplus */ struct timespec; +struct timeval; #define tsStampOK 0 #define tsStampERROR (-1) @@ -63,6 +64,12 @@ epicsShareFunc int epicsShareAPI tsStampFromTM (TS_STAMP *pDest, const struct tm epicsShareFunc int epicsShareAPI tsStampToTimespec (struct timespec *pDest, const TS_STAMP *pSrc); epicsShareFunc int epicsShareAPI tsStampFromTimespec (TS_STAMP *pDest, const struct timespec *pSrc); +/* + * convert to and from BSD's "struct timeval" + */ +epicsShareFunc int epicsShareAPI tsStampToTimeval (struct timeval *pDest, const TS_STAMP *pSrc); +epicsShareFunc int epicsShareAPI tsStampFromTimeval (TS_STAMP *pDest, const struct timeval *pSrc); + /* * arithmetic operations */