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 <ecl/time_lite/config.hpp> 00023 #include "macros.hpp" 00024 00025 #if defined(ECL_HAS_POSIX_TIMERS) 00026 00027 /***************************************************************************** 00028 ** Includes 00029 *****************************************************************************/ 00030 00031 #include <ctime> // time structs, nanosleep 00032 #include <sys/time.h> // gettimeofday 00033 #include <ecl/config/macros.hpp> 00034 #include "errors.hpp" 00035 #include "types_pos.hpp" 00036 00037 /***************************************************************************** 00038 ** Namespaces 00039 *****************************************************************************/ 00040 00041 namespace ecl { 00042 00043 /***************************************************************************** 00044 ** Implementations 00045 *****************************************************************************/ 00064 ecl_time_lite_PUBLIC TimeError epoch_time(TimeStructure &time); 00065 00083 ecl_time_lite_PUBLIC TimeError sleep_until(const TimeStructure &time); 00084 00101 ecl_time_lite_PUBLIC TimeError sleep(const TimeStructure &time); 00102 00103 } // namespace ecl 00104 00105 #endif 00106 #endif /* ECL_TIME_LITE_FUNCTIONS_POS_HPP_ */