22 #if !defined(GLOBUS_TIME_H)    32 #define GLOBUS_I_TIME_INFINITY_SEC   INT_MAX    33 #define GLOBUS_I_TIME_INFINITY_NSEC  INT_MAX    34 #define GLOBUS_I_TIME_INFINITY_USEC  INT_MAX    36 #if defined(_WIN32) && !defined(_POSIX)    37 typedef struct globus_abstime_s
    43 typedef struct timespec      globus_abstime_t;
    46 typedef struct timeval  globus_reltime_t;
    51 #define  GlobusTimeAbstimeSet(Abstime, Sec, USec)         \    53     GlobusTimeAbstimeGetCurrent(Abstime);                 \    54     (Abstime).tv_nsec += (USec * 1000);                   \    55     if((Abstime).tv_nsec >= 1000000000)                    \    57         (Abstime).tv_sec += ((Abstime).tv_nsec / 1000000000);\    58         (Abstime).tv_nsec = (Abstime).tv_nsec  % 1000000000; \    60     (Abstime).tv_sec += Sec;                              \    65 #define  GlobusTimeAbstimeGet(Abstime, Sec, USec)         \    67     Sec = (Abstime).tv_sec;                               \    68     USec = ((Abstime).tv_nsec / 1000);                    \    74 #define  GlobusTimeReltimeSet(Reltime, Sec, USec)         \    76     (Reltime).tv_usec = (USec);                           \    77     (Reltime).tv_sec = Sec;                               \    78     if((Reltime).tv_usec >= 1000000)                      \    80         (Reltime).tv_sec += ((Reltime).tv_usec / 1000000);\    81         (Reltime).tv_usec = (Reltime).tv_usec  % 1000000; \    85 #define  GlobusTimeReltimeGet(Reltime, Sec, USec)         \    87     (USec) = (Reltime).tv_usec;                           \    88     (Sec) = (Reltime).tv_sec;                             \    91 #define  GlobusTimeAbstimePrintf(Abstime)                 \    93     printf("sec  -->%lu\n", (unsigned long) (Abstime).tv_sec);            \    94     printf("nsec -->%lu\n", (unsigned long) (Abstime).tv_nsec);           \    97 #define  GlobusTimeReltimePrintf(Reltime)                 \    99     printf("sec  -->%lu\n", (unsigned long) (Reltime).tv_sec);            \   100     printf("usec -->%lu\n", (unsigned long) (Reltime).tv_usec);           \   106 #define  GlobusTimeAbstimeDiff(Reltime, T1, T2)           \   108     int __res = globus_abstime_cmp(&(T1), &(T2));         \   111         (Reltime).tv_sec = (T2).tv_sec - (T1).tv_sec;     \   112         (Reltime).tv_usec =                               \   113                 (((T2).tv_nsec - (T1).tv_nsec) / 1000);   \   114         if((Reltime).tv_usec < 0)                         \   116             (Reltime).tv_sec--;                           \   117             (Reltime).tv_usec += 1000000;                 \   122         (Reltime).tv_sec = (T1).tv_sec - (T2).tv_sec;     \   123         (Reltime).tv_usec =                               \   124                 (((T1).tv_nsec - (T2).tv_nsec) / 1000);   \   125         if((Reltime).tv_usec < 0)                         \   127             (Reltime).tv_sec--;                           \   128             (Reltime).tv_usec += 1000000;                 \   133         (Reltime).tv_sec = 0;                             \   134         (Reltime).tv_usec = 0;                            \   138 #define  GlobusTimeReltimeDiff(Reltime, T1, T2)           \   140     int __res = globus_reltime_cmp(&(T1), &(T2));         \   143         (Reltime).tv_sec = (T2).tv_sec - (T1).tv_sec;     \   144         (Reltime).tv_usec =                               \   145                 ((T2).tv_usec - (T1).tv_usec);            \   146         if((Reltime).tv_usec < 0)                         \   148             (Reltime).tv_sec--;                           \   149             (Reltime).tv_usec += 1000000;                 \   154         (Reltime).tv_sec = (T1).tv_sec - (T2).tv_sec;     \   155         (Reltime).tv_usec =                               \   156                 ((T1).tv_usec - (T2).tv_usec);            \   157         if((Reltime).tv_usec < 0)                         \   159             (Reltime).tv_sec--;                           \   160             (Reltime).tv_usec += 1000000;                 \   165         (Reltime).tv_sec = 0;                             \   166         (Reltime).tv_usec = 0;                            \   173 #define  GlobusTimeReltimeToUSec(SlpInt, Reltime)         \   175     SlpInt = ((Reltime).tv_sec * 1000000) +               \   176                                      ((Reltime).tv_usec); \   182 #define  GlobusTimeReltimeToMilliSec( Milliseconds, Reltime)  \   184     Milliseconds = ((Reltime).tv_sec * 1000) +            \   185                               ((Reltime).tv_usec)/ 1000;   \   191 #define  GlobusTimeAbstimeInc(Abstime, Reltime)           \   193     (Abstime).tv_nsec += ((Reltime).tv_usec * 1000);      \   194     if((Abstime).tv_nsec >= 1000000000)                    \   196         (Abstime).tv_sec++;                               \   197         (Abstime).tv_nsec -= 1000000000;                  \   199     (Abstime).tv_sec += (Reltime).tv_sec;                 \   202 #define  GlobusTimeAbstimeDec(Abstime, Reltime)           \   204     (Abstime).tv_nsec -= ((Reltime).tv_usec * 1000);      \   205     if((Abstime).tv_nsec < 0)                             \   207         (Abstime).tv_sec--;                               \   208         (Abstime).tv_nsec += 1000000000;                  \   210     (Abstime).tv_sec -= (Reltime).tv_sec;                 \   218 #   define GlobusTimeAbstimeGetCurrent(Abstime)           \   220         struct _timeb timebuffer;                      \   222         _ftime(&timebuffer);                            \   223         (Abstime).tv_sec = timebuffer.time;               \   224         (Abstime).tv_nsec = (timebuffer.millitm * 1000000);  \   227 #   define  GlobusTimeAbstimeGetCurrent(Abstime)          \   229         struct timeval __time;                            \   231         gettimeofday(&__time, GLOBUS_NULL);               \   232         (Abstime).tv_sec = __time.tv_sec;                 \   233         (Abstime).tv_nsec = (__time.tv_usec * 1000);      \   240 #define  GlobusTimeAbstimeCopy(Dest, Src)                 \   242    (Dest).tv_sec = (Src).tv_sec;                          \   243    (Dest).tv_nsec = (Src).tv_nsec;                        \   249 #define  GlobusTimeReltimeCopy(Dest, Src)                 \   251    (Dest).tv_sec = (Src).tv_sec;                          \   252    (Dest).tv_usec = (Src).tv_usec;                        \   258 #define  GlobusTimeReltimeMultiply(Reltime, Factor)       \   260    (Reltime).tv_usec *= Factor;                           \   261    (Reltime).tv_sec *= Factor;                            \   263     if((Reltime).tv_usec >= 1000000)                      \   265         (Reltime).tv_sec += ((Reltime).tv_usec / 1000000);\   266         (Reltime).tv_usec = (Reltime).tv_usec  % 1000000; \   273 #define  GlobusTimeReltimeDivide(Reltime, Factor)         \   275    (Reltime).tv_usec /= Factor;                           \   276    (Reltime).tv_sec /= Factor;                            \   279 extern const globus_abstime_t         globus_i_abstime_infinity;
   280 extern const globus_abstime_t         globus_i_abstime_zero;
   281 extern const globus_reltime_t         globus_i_reltime_infinity;
   282 extern const globus_reltime_t         globus_i_reltime_zero;
   292     const globus_abstime_t *                     abstime);
   299     const globus_abstime_t *                     abstime);
   306     const globus_reltime_t *                     reltime);
   320     const globus_abstime_t *                     abstime_1,
   321     const globus_abstime_t *                     abstime_2);
   335     const globus_reltime_t *                     reltime_1,
   336     const globus_reltime_t *                     reltime_2);
 
int globus_reltime_cmp(const globus_reltime_t *reltime_1, const globus_reltime_t *reltime_2)
Definition: globus_time.c:131
 
globus_bool_t globus_time_has_expired(const globus_abstime_t *abstime)
Definition: globus_time.c:46
 
int globus_bool_t
Boolean type. 
Definition: globus_types.h:93
 
globus_bool_t globus_time_reltime_is_infinity(const globus_reltime_t *reltime)
Definition: globus_time.c:75
 
int globus_abstime_cmp(const globus_abstime_t *abstime_1, const globus_abstime_t *abstime_2)
Definition: globus_time.c:88
 
globus_bool_t globus_time_abstime_is_infinity(const globus_abstime_t *abstime)
Definition: globus_time.c:62