fixed warinings and added epicsShareAPI

This commit is contained in:
Jeff Hill
1996-09-16 21:18:12 +00:00
parent 142b7515e3
commit 4aa19f07d7
3 changed files with 47 additions and 34 deletions

View File

@@ -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 */

View File

@@ -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

View File

@@ -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 */