.TH "globus_time.h" 3 "Version 18.14" "globus_common" \" -*- nroff -*- .ad l .nh .SH NAME globus_time.h \- Time Types and Macros\&. .SH SYNOPSIS .br .PP \fC#include 'globus_types\&.h'\fP .br \fC#include \fP .br .SS "Macros" .in +1c .ti -1c .RI "#define \fBGlobusTimeAbstimeSet\fP(Abstime, Sec, USec)" .br .ti -1c .RI "#define \fBGlobusTimeAbstimeGet\fP(Abstime, Sec, USec)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeSet\fP(Reltime, Sec, USec)" .br .ti -1c .RI "#define \fBGlobusTimeAbstimeDiff\fP(Reltime, T1, T2)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeToUSec\fP(SlpInt, Reltime)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeToMilliSec\fP(Milliseconds, Reltime)" .br .ti -1c .RI "#define \fBGlobusTimeAbstimeInc\fP(Abstime, Reltime)" .br .ti -1c .RI "#define \fBGlobusTimeAbstimeGetCurrent\fP(Abstime)" .br .ti -1c .RI "#define \fBGlobusTimeAbstimeCopy\fP(Dest, Src)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeCopy\fP(Dest, Src)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeMultiply\fP(Reltime, Factor)" .br .ti -1c .RI "#define \fBGlobusTimeReltimeDivide\fP(Reltime, Factor)" .br .in -1c .SS "Functions" .in +1c .ti -1c .RI "\fBglobus_bool_t\fP \fBglobus_time_has_expired\fP (const globus_abstime_t *abstime)" .br .ti -1c .RI "\fBglobus_bool_t\fP \fBglobus_time_abstime_is_infinity\fP (const globus_abstime_t *abstime)" .br .ti -1c .RI "\fBglobus_bool_t\fP \fBglobus_time_reltime_is_infinity\fP (const globus_reltime_t *reltime)" .br .ti -1c .RI "int \fBglobus_abstime_cmp\fP (const globus_abstime_t *abstime_1, const globus_abstime_t *abstime_2)" .br .ti -1c .RI "int \fBglobus_reltime_cmp\fP (const globus_reltime_t *reltime_1, const globus_reltime_t *reltime_2)" .br .in -1c .SH "Detailed Description" .PP Time Types and Macros\&. .SH "Macro Definition Documentation" .PP .SS "#define GlobusTimeAbstimeCopy(Dest, Src)" \fBValue:\fP.PP .nf { \\ (Dest)\&.tv_sec = (Src)\&.tv_sec; \\ (Dest)\&.tv_nsec = (Src)\&.tv_nsec; \\ } .fi Copy the absolute time .SS "#define GlobusTimeAbstimeDiff(Reltime, T1, T2)" \fBValue:\fP.PP .nf { \\ int __res = globus_abstime_cmp(&(T1), &(T2)); \\ if(__res < 0) \\ { \\ (Reltime)\&.tv_sec = (T2)\&.tv_sec \- (T1)\&.tv_sec; \\ (Reltime)\&.tv_usec = \\ (((T2)\&.tv_nsec \- (T1)\&.tv_nsec) / 1000); \\ if((Reltime)\&.tv_usec < 0) \\ { \\ (Reltime)\&.tv_sec\-\-; \\ (Reltime)\&.tv_usec += 1000000; \\ } \\ } \\ else if(__res > 0) \\ { \\ (Reltime)\&.tv_sec = (T1)\&.tv_sec \- (T2)\&.tv_sec; \\ (Reltime)\&.tv_usec = \\ (((T1)\&.tv_nsec \- (T2)\&.tv_nsec) / 1000); \\ if((Reltime)\&.tv_usec < 0) \\ { \\ (Reltime)\&.tv_sec\-\-; \\ (Reltime)\&.tv_usec += 1000000; \\ } \\ } \\ else \\ { \\ (Reltime)\&.tv_sec = 0; \\ (Reltime)\&.tv_usec = 0; \\ } \\ } .fi Find the difference between the 2 absolute times\&. .SS "#define GlobusTimeAbstimeGet(Abstime, Sec, USec)" \fBValue:\fP.PP .nf { \\ Sec = (Abstime)\&.tv_sec; \\ USec = ((Abstime)\&.tv_nsec / 1000); \\ } .fi Separates abstime structure into its components, sec and usec\&. .SS "#define GlobusTimeAbstimeGetCurrent(Abstime)" \fBValue:\fP.PP .nf { \\ struct timeval __time; \\ \\ gettimeofday(&__time, GLOBUS_NULL); \\ (Abstime)\&.tv_sec = __time\&.tv_sec; \\ (Abstime)\&.tv_nsec = (__time\&.tv_usec * 1000); \\ } .fi Get the current time .SS "#define GlobusTimeAbstimeInc(Abstime, Reltime)" \fBValue:\fP.PP .nf { \\ (Abstime)\&.tv_nsec += ((Reltime)\&.tv_usec * 1000); \\ if((Abstime)\&.tv_nsec >= 1000000000) \\ { \\ (Abstime)\&.tv_sec++; \\ (Abstime)\&.tv_nsec \-= 1000000000; \\ } \\ (Abstime)\&.tv_sec += (Reltime)\&.tv_sec; \\ } .fi Add reltime to abstime .SS "#define GlobusTimeAbstimeSet(Abstime, Sec, USec)" \fBValue:\fP.PP .nf { \\ GlobusTimeAbstimeGetCurrent(Abstime); \\ (Abstime)\&.tv_nsec += (USec * 1000); \\ if((Abstime)\&.tv_nsec >= 1000000000) \\ { \\ (Abstime)\&.tv_sec += ((Abstime)\&.tv_nsec / 1000000000);\\ (Abstime)\&.tv_nsec = (Abstime)\&.tv_nsec % 1000000000; \\ } \\ (Abstime)\&.tv_sec += Sec; \\ } .fi Set the abstime structure to the sec and usec parameter values\&. .SS "#define GlobusTimeReltimeCopy(Dest, Src)" \fBValue:\fP.PP .nf { \\ (Dest)\&.tv_sec = (Src)\&.tv_sec; \\ (Dest)\&.tv_usec = (Src)\&.tv_usec; \\ } .fi Copy the relative time .SS "#define GlobusTimeReltimeDivide(Reltime, Factor)" \fBValue:\fP.PP .nf { \\ (Reltime)\&.tv_usec /= Factor; \\ (Reltime)\&.tv_sec /= Factor; \\ } .fi divide the reltime by factor .SS "#define GlobusTimeReltimeMultiply(Reltime, Factor)" \fBValue:\fP.PP .nf { \\ (Reltime)\&.tv_usec *= Factor; \\ (Reltime)\&.tv_sec *= Factor; \\ \\ if((Reltime)\&.tv_usec >= 1000000) \\ { \\ (Reltime)\&.tv_sec += ((Reltime)\&.tv_usec / 1000000);\\ (Reltime)\&.tv_usec = (Reltime)\&.tv_usec % 1000000; \\ } \\ } .fi Multiple the reltime by factor .SS "#define GlobusTimeReltimeSet(Reltime, Sec, USec)" \fBValue:\fP.PP .nf { \\ (Reltime)\&.tv_usec = (USec); \\ (Reltime)\&.tv_sec = Sec; \\ if((Reltime)\&.tv_usec >= 1000000) \\ { \\ (Reltime)\&.tv_sec += ((Reltime)\&.tv_usec / 1000000);\\ (Reltime)\&.tv_usec = (Reltime)\&.tv_usec % 1000000; \\ } \\ } .fi Set the reltime structure to the sec and usec parameter values\&. .SS "#define GlobusTimeReltimeToMilliSec(Milliseconds, Reltime)" \fBValue:\fP.PP .nf { \\ Milliseconds = ((Reltime)\&.tv_sec * 1000) + \\ ((Reltime)\&.tv_usec)/ 1000; \\ } .fi Convert a relative time into a long in millisec units .SS "#define GlobusTimeReltimeToUSec(SlpInt, Reltime)" \fBValue:\fP.PP .nf { \\ SlpInt = ((Reltime)\&.tv_sec * 1000000) + \\ ((Reltime)\&.tv_usec); \\ } .fi Convert a relitive time into a long in usec units .SH "Function Documentation" .PP .SS "int globus_abstime_cmp (const globus_abstime_t * abstime_1, const globus_abstime_t * abstime_2)" Compare two absolute times\&. .PP This function returns an integer that reflects the comparison of two abstimes in the following way\&. .PP 0 : values are the same\&. -1 : the first value is less than the second\&. 1 : the first value is greater than the second\&. .SS "int globus_reltime_cmp (const globus_reltime_t * reltime_1, const globus_reltime_t * reltime_2)" Compare two absolute times\&. .PP This function returns an integer that reflects the comparison of two reltimes in the following way\&. .PP 0 : values are the same\&. -1 : the first value is less than the second\&. 1 : the first value is greater than the second\&. .SS "\fBglobus_bool_t\fP globus_time_abstime_is_infinity (const globus_abstime_t * abstime)" Returns a boolean that reflects whether or not abstime is infinity\&. .SS "\fBglobus_bool_t\fP globus_time_has_expired (const globus_abstime_t * abstime)" Has abstime expired .PP Returns a boolean that reflects whether or not abstime is less than the current time\&. .SS "\fBglobus_bool_t\fP globus_time_reltime_is_infinity (const globus_reltime_t * reltime)" Returns a boolean that reflects whether or not reltime is infinity\&. .SH "Author" .PP Generated automatically by Doxygen for globus_common from the source code\&.