fixed warinings and added epicsShareAPI
This commit is contained in:
@@ -141,6 +141,8 @@
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
#include <epicsAssert.h>
|
||||
#include <tsDefs.h>
|
||||
|
||||
|
||||
/*-----------------------------------------------------------------------------
|
||||
* the preamble skips over leading white space, stopping either at
|
||||
@@ -198,7 +200,7 @@ char *pDelim; /* O pointer to return field's delimiter */
|
||||
NEXT_POSTAMBLE
|
||||
return count;
|
||||
}
|
||||
int
|
||||
int epicsShareAPI
|
||||
nextAlph1UCField(ppText, ppField, pDelim)
|
||||
char **ppText; /* I/O pointer to pointer to text to scan */
|
||||
char **ppField; /* O pointer to pointer to field */
|
||||
@@ -284,7 +286,7 @@ char *pDelim; /* O pointer to return field's delimiter */
|
||||
NEXT_POSTAMBLE
|
||||
return count;
|
||||
}
|
||||
int
|
||||
int epicsShareAPI
|
||||
nextIntFieldAsInt(ppText, pIntVal, pDelim)
|
||||
char **ppText; /* I/O pointer to pointer to text to scan */
|
||||
int *pIntVal; /* O pointer to return field's value */
|
||||
@@ -303,7 +305,7 @@ char *pDelim; /* O pointer to return field's delimiter */
|
||||
|
||||
return count;
|
||||
}
|
||||
int
|
||||
int epicsShareAPI
|
||||
nextIntFieldAsLong(ppText, pLongVal, pDelim)
|
||||
char **ppText; /* I/O pointer to pointer to text to scan */
|
||||
long *pLongVal; /* O pointer to return field's value */
|
||||
|
||||
@@ -288,59 +288,59 @@ void TsAddDouble(TS_STAMP *pSum, TS_STAMP *pS1, double dbl);
|
||||
|
||||
#if defined(__STDC__) || defined(__cplusplus)
|
||||
|
||||
int nextIntFieldAsInt(
|
||||
int epicsShareAPI nextIntFieldAsInt(
|
||||
char **ppText, /* I/O pointer to pointer to text to scan */
|
||||
int *pIntVal, /* O pointer to return field's value */
|
||||
char *pDelim /* O pointer to return field's delimiter */
|
||||
);
|
||||
|
||||
int nextAlph1UCField(
|
||||
int epicsShareAPI nextAlph1UCField(
|
||||
char **ppText, /* I/O pointer to pointer to text to scan */
|
||||
char **ppField, /* O pointer to pointer to field */
|
||||
char *pDelim /* O pointer to return field's delimiter */
|
||||
);
|
||||
|
||||
int nextIntFieldAsLong(
|
||||
int epicsShareAPI nextIntFieldAsLong(
|
||||
char **ppText, /* I/O pointer to pointer to text to scan */
|
||||
long *pLongVal, /* O pointer to return field's value */
|
||||
char *pDelim /* O pointer to return field's delimiter */
|
||||
);
|
||||
|
||||
long tsLocalTime (TS_STAMP *pStamp);
|
||||
long epicsShareAPI tsLocalTime (TS_STAMP *pStamp);
|
||||
|
||||
void tsAddDouble(
|
||||
void epicsShareAPI tsAddDouble(
|
||||
TS_STAMP *pSum, /* O sum time stamp */
|
||||
TS_STAMP *pStamp, /* I addend time stamp */
|
||||
double dbl /* I number of seconds to add */
|
||||
);
|
||||
|
||||
int tsCmpStamps(
|
||||
int epicsShareAPI tsCmpStamps(
|
||||
TS_STAMP *pStamp1, /* pointer to first stamp */
|
||||
TS_STAMP *pStamp2 /* pointer to second stamp */
|
||||
);
|
||||
|
||||
long tsRoundDownLocal(
|
||||
long epicsShareAPI tsRoundDownLocal(
|
||||
TS_STAMP *pStamp, /* IO pointer to time stamp buffer */
|
||||
unsigned long interval /* I rounding interval, in seconds */
|
||||
);
|
||||
|
||||
long tsRoundUpLocal(
|
||||
long epicsShareAPI tsRoundUpLocal(
|
||||
TS_STAMP *pStamp, /* IO pointer to time stamp buffer */
|
||||
unsigned long interval /* I rounding interval, in seconds */
|
||||
);
|
||||
|
||||
char * tsStampToText(
|
||||
char * epicsShareAPI tsStampToText(
|
||||
TS_STAMP *pStamp, /* I pointer to time stamp */
|
||||
enum tsTextType textType,/* I type of conversion desired; one of TS_TEXT_xxx */
|
||||
char *textBuffer /* O buffer to receive text */
|
||||
);
|
||||
|
||||
long tsTextToStamp(
|
||||
long epicsShareAPI tsTextToStamp(
|
||||
TS_STAMP *pStamp, /* O time stamp corresponding to text */
|
||||
char **pText /* IO ptr to ptr to string containing time and date */
|
||||
);
|
||||
|
||||
long tsTimeTextToStamp(
|
||||
long epicsShareAPI tsTimeTextToStamp(
|
||||
TS_STAMP *pStamp, /* O time stamp corresponding to text */
|
||||
char **pText /* IO ptr to ptr to string containing time and date */
|
||||
);
|
||||
@@ -350,14 +350,14 @@ char **pText /* IO ptr to ptr to string containing time and date */
|
||||
int nextIntFieldAsInt();
|
||||
int nextAlph1UCField();
|
||||
int nextIntFieldAsLong();
|
||||
long tsLocalTime ();
|
||||
void tsAddDouble();
|
||||
int tsCmpStamps();
|
||||
long tsRoundDownLocal();
|
||||
long tsRoundUpLocal();
|
||||
char *tsStampToText();
|
||||
long tsTextToStamp();
|
||||
long tsTimeTextToStamp();
|
||||
long epicsShareAPI tsLocalTime ();
|
||||
void epicsShareAPI tsAddDouble();
|
||||
int epicsShareAPI tsCmpStamps();
|
||||
long epicsShareAPI tsRoundDownLocal();
|
||||
long epicsShareAPI tsRoundUpLocal();
|
||||
char epicsShareAPI *tsStampToText();
|
||||
long epicsShareAPI tsTextToStamp();
|
||||
long epicsShareAPI tsTimeTextToStamp();
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -130,6 +130,7 @@
|
||||
#elif defined(WIN32)
|
||||
# include <windows.h>
|
||||
# include <time.h>
|
||||
# include <mmsystem.h>
|
||||
#else
|
||||
# include <sys/time.h>
|
||||
#endif
|
||||
@@ -455,7 +456,7 @@ int dayOfWeek; /* I day of week for dayYear */
|
||||
* TsAddDouble(&later, &now, twoHours);
|
||||
*
|
||||
*-*/
|
||||
void
|
||||
void epicsShareAPI
|
||||
tsAddDouble(pSum, pStamp, dbl)
|
||||
TS_STAMP *pSum; /* O sum time stamp */
|
||||
TS_STAMP *pStamp; /* I addend time stamp */
|
||||
@@ -521,7 +522,7 @@ double dbl; /* I number of seconds to add */
|
||||
* printf("first stamp is later\n");
|
||||
*
|
||||
*-*/
|
||||
int
|
||||
int epicsShareAPI
|
||||
tsCmpStamps(pStamp1, pStamp2)
|
||||
TS_STAMP *pStamp1; /* pointer to first stamp */
|
||||
TS_STAMP *pStamp2; /* pointer to second stamp */
|
||||
@@ -595,7 +596,7 @@ TS_STAMP *pStamp2; /* pointer to second stamp */
|
||||
* tsLocalTime(&now);
|
||||
*
|
||||
*-*/
|
||||
long
|
||||
long epicsShareAPI
|
||||
tsLocalTime(pStamp)
|
||||
TS_STAMP *pStamp; /* O pointer to time stamp buffer */
|
||||
{
|
||||
@@ -613,11 +614,21 @@ TS_STAMP *pStamp; /* O pointer to time stamp buffer */
|
||||
return S_ts_sysTimeError;
|
||||
}
|
||||
# elif defined(WIN32)
|
||||
SYSTEMTIME st; /* utc */
|
||||
DWORD win_sys_time_ms; /* time (ms) since windows started */
|
||||
static DWORD prev_time_ms; /* time (ms) of previous call */
|
||||
static long start_time_s=0; /* time (sec) from 1990 when windows started */
|
||||
|
||||
pStamp->secPastEpoch = time(NULL) - TS_EPOCH_SEC_PAST_1970;
|
||||
GetSystemTime(&st);
|
||||
pStamp->nsec = st.wMilliseconds * 1000000;
|
||||
if (start_time_s == 0) {
|
||||
prev_time_ms = timeGetTime();
|
||||
start_time_s = time(NULL) - TS_EPOCH_SEC_PAST_1970 - (long)prev_time_ms/1000;
|
||||
}
|
||||
win_sys_time_ms = timeGetTime();
|
||||
if (prev_time_ms > win_sys_time_ms) { /* must have been a timer roll-over */
|
||||
start_time_s += 4294967; /* add number of seconds in 49.7 days */
|
||||
}
|
||||
pStamp->secPastEpoch = (long)win_sys_time_ms/1000 + start_time_s; /* time (sec) since 1990 */
|
||||
pStamp->nsec = (long)((win_sys_time_ms % 1000) * 1000000);
|
||||
prev_time_ms = win_sys_time_ms;
|
||||
# else
|
||||
struct timeval curtime;
|
||||
|
||||
@@ -655,7 +666,7 @@ TS_STAMP *pStamp; /* O pointer to time stamp buffer */
|
||||
* tsRoundDownLocal(&now, 86400);
|
||||
*
|
||||
*-*/
|
||||
long
|
||||
long epicsShareAPI
|
||||
tsRoundDownLocal(pStamp, interval)
|
||||
TS_STAMP *pStamp; /* IO pointer to time stamp buffer */
|
||||
unsigned long interval; /* I rounding interval, in seconds */
|
||||
@@ -700,7 +711,7 @@ unsigned long interval; /* I rounding interval, in seconds */
|
||||
* tsRoundUpLocal(&now, 86400);
|
||||
*
|
||||
*-*/
|
||||
long
|
||||
long epicsShareAPI
|
||||
tsRoundUpLocal(pStamp, interval)
|
||||
TS_STAMP *pStamp; /* IO pointer to time stamp buffer */
|
||||
unsigned long interval; /* I rounding interval, in seconds */
|
||||
@@ -1033,7 +1044,7 @@ struct tsDetail *pT; /* pointer to time structure for conversion */
|
||||
* printf("time is %s\n", tsStampToText(&now, TS_TEXT_MMDDYY, nowText));
|
||||
*
|
||||
*-*/
|
||||
char *
|
||||
char * epicsShareAPI
|
||||
tsStampToText(pStamp, textType, textBuffer)
|
||||
TS_STAMP *pStamp; /* I pointer to time stamp */
|
||||
enum tsTextType textType;/* I type of conversion desired; one of TS_TEXT_xxx */
|
||||
@@ -1154,7 +1165,7 @@ char *textBuffer; /* O buffer to receive text */
|
||||
* tsTextToStamp(&equiv, &text);
|
||||
*
|
||||
*-*/
|
||||
long
|
||||
long epicsShareAPI
|
||||
tsTextToStamp(pStamp, pText)
|
||||
TS_STAMP *pStamp; /* O time stamp corresponding to text */
|
||||
char **pText; /* IO ptr to ptr to string containing time and date */
|
||||
@@ -1399,7 +1410,7 @@ char **pText; /* IO ptr to ptr to string containing time and date */
|
||||
* tsTimeTextToStamp(&equiv, &text);
|
||||
*
|
||||
*-*/
|
||||
long
|
||||
long epicsShareAPI
|
||||
tsTimeTextToStamp(pStamp, pText)
|
||||
TS_STAMP *pStamp; /* O time stamp corresponding to text */
|
||||
char **pText; /* IO ptr to ptr to string containing time and date */
|
||||
|
||||
Reference in New Issue
Block a user