23 #ifndef GLOBUS_UTP_PRIVATE_INCLUDE
24 #define GLOBUS_UTP_PRIVATE_INCLUDE
26 #include "globus_utp.h"
50 #if !defined(UNIX) && !defined(RS6000) && !defined(SOLHR) && \
51 !defined(SPARCSUNOS41) && !defined(PARAGON)
52 #error "No machine type was defined."
61 #if defined(UNIX) || defined(SPARCSUNOS41)
66 #ifdef BSDGETTIMEOFDAY
68 BSDgettimeofday(
struct timeval *tvp,
struct timezone *tzp);
71 gettimeofday(
struct timeval *tvp,
struct timezone *tzp);
75 typedef struct timeval globus_utp_TimeValue_t;
88 typedef struct timestruc_t globus_utp_TimeValue_t;
97 typedef hrtime_t globus_utp_TimeValue_t;
106 typedef double globus_utp_TimeValue_t;
120 typedef enum _globus_utp_TimerState {
121 GLOBUS_UTP_TIMER_STOPPED,
122 GLOBUS_UTP_TIMER_RUNNING,
123 GLOBUS_UTP_TIMER_DISABLED
124 } globus_utp_TimerState;
131 typedef struct _globus_utp_Timer_t {
132 globus_utp_TimerState state;
133 globus_utp_TimeValue_t startTime;
135 globus_utp_TimeValue_t accumulatedTime;
136 unsigned long numEvents;
139 } globus_utp_Timer_t;
146 struct _globus_utp_Attribute_t;
148 typedef struct _globus_utp_Attribute_t {
151 struct _globus_utp_Attribute_t *next;
152 } globus_utp_Attribute_t;
159 #define GLOBUS_UTP_MODE_SHARING_FIELD 0x1
172 globus_utp_readTime(globus_utp_TimeValue_t *tv);
180 globus_utp_timeDifference(globus_utp_TimeValue_t *diff,
const globus_utp_TimeValue_t *start,
181 const globus_utp_TimeValue_t *end);
188 globus_utp_timeAdd(globus_utp_TimeValue_t *oldElapsed,
189 const globus_utp_TimeValue_t *newElapsed);
196 globus_utp_timeZero(globus_utp_TimeValue_t *tv);
206 globus_utp_timeToDouble(
double *time,
int *precision,
const globus_utp_TimeValue_t *tv);
215 globus_utp_timeToString(
char timeString[],
const globus_utp_TimeValue_t *tv);
225 globus_utp_warn(
const char *messageStr, ...);
233 extern char *globus_utp_outFilename;
234 extern unsigned globus_utp_numTimers;
235 extern globus_utp_Timer_t *globus_utp_timers;
236 extern globus_utp_Attribute_t *globus_utp_attributes;