NAME irLBolt, irNap - Unix clock routines SYNOPSIS #include <irapi.h> int irLBolt ( ); int irNap (int interval); DESCRIPTION Function irLBolt returns the lbolt time for the system. The lbolt time is defined as the amount of time which has passed since the UNIX system was last booted. However, after approximately 248 days this value will overflow to a large negative number. The unit of time is hundredths of seconds. Function irNap sleeps for interval hundredths of seconds. This is a blocking sleep, therefore, unlike most other IRAPI functions, it will not return immediately. Also, there will be no event indicating the completion of irNap. EVENTS No event results from the call to either of these functions. RETURN VALUE irLBolt, on success, returns the elapsed time since the last UNIX system reboot measured in hundredths of seconds. A return value of -1 is a possibly valid return value, but is can also indicate that an error occurred in getting the sys- tem lbolt value. irNap returns IRR_FAIL on error, otherwise the number of ''unslept'' hundredths of seconds are returned; 0 indicating ''sleep'' to completion, a positive value indicating interr- uption due to a signal. ERROR irError is set as follows on error. IRER_SYSERROR on system call failure (see irSysError for additional information). CAVEAT Since irNap is a blocking function, it should not be used in typical IRAPI applications. These functions report values based on the inherent clock granularity of the currently supported hardware platform. This granularity is not guaranteed with future hardware platforms. WARNING Applications should never assume that lbolt will always be positive (0, -1, and any other negative value are possible lbolt values). Applications should never assume that there is a maximum or minimum value for lbolt. Extra caution should be taken whenever using lbolt values due to the pos- sibility of it going negative after a long period of time. For example direct comparison of values returned by irLBolt(3IRAPI) will result in errors when irLBolt(3IRAPI) wraps around to a large negative value after approximately 248 days. The correct way to compare values returned by irLBolt(3IRAPI) is to subtract the values first, e.g.: time_start = irLBolt(3IRAPI); ... some time consuming work ... time_now = irLBolt(3IRAPI); if ( (time_now - time_start) > MAXTICKS ) { statement1; } else { statement2; } Done this way, even if irLBolt(3IRAPI) wraps around to a large negative value, even between when the time samples are taken, the subtraction will correctly determine the number of clock ticks between the start time and the current time. The only time this will fail is when the time difference exceeds approximately 248 days. SEE ALSO irTimer(3IRAPI), irTTTimer(3IRAPI), irRecogTimer(3IRAPI), IrPARAMETERS(4IRAPI). VERSION This is version 11/25/02 of this man page.