00001 00011 /***************************************************************************** 00012 ** Ifdefs 00013 *****************************************************************************/ 00014 00015 #ifndef ECL_TIME_LITE_FUNCTIONS_POS_HPP_ 00016 #define ECL_TIME_LITE_FUNCTIONS_POS_HPP_ 00017 00018 /***************************************************************************** 00019 ** Cross Platform Configuration 00020 *****************************************************************************/ 00021 00022 #include "config.hpp" 00023 00024 #if defined(ECL_HAS_POSIX_TIMERS) 00025 00026 /***************************************************************************** 00027 ** Includes 00028 *****************************************************************************/ 00029 00030 #include <ctime> // time structs, nanosleep 00031 #include <sys/time.h> // gettimeofday 00032 #include <ecl/config/macros.hpp> 00033 #include "errors.hpp" 00034 #include "types_pos.hpp" 00035 00036 /***************************************************************************** 00037 ** Namespaces 00038 *****************************************************************************/ 00039 00040 namespace ecl { 00041 00042 /***************************************************************************** 00043 ** Implementations 00044 *****************************************************************************/ 00063 ECL_PUBLIC TimeError epoch_time(TimeStructure &time); 00064 00082 ECL_PUBLIC TimeError sleep_until(const TimeStructure &time); 00083 00100 ECL_PUBLIC TimeError sleep(const TimeStructure &time); 00101 00102 } // namespace ecl 00103 00104 #endif 00105 #endif /* ECL_TIME_LITE_FUNCTIONS_POS_HPP_ */