1#include <string.h> 2#include <time.h> 3#include <sys/time.h> 4#include "xpl_Time.h" 5 6#ifdef __cplusplus 7extern "C" { 8#endif 9 10XPL_CLK_CLOCK_T XPL_CLK_GetClock() 11{ 12 return (XPL_CLK_CLOCK_T)time(NULL); 13} 14 15XPL_CLK_LONG_CLOCK_T XPL_CLK_GetClockMs() 16{ 17 struct timeval tv1; 18 gettimeofday( &tv1, NULL ); 19 return (XPL_CLK_LONG_CLOCK_T)(tv1.tv_usec + (tv1.tv_sec * 1000000 )); 20} 21 22 23XPL_CLK_RET_STATUS_T XPL_CLK_GetTime(XPL_CLK_TM_T *parsed_time) 24{ 25 return XPL_CLK_RET_SUCCESS; 26} 27 28XPL_CLK_RET_STATUS_T XPL_CLK_UnpackTime(XPL_CLK_CLOCK_T clock, XPL_CLK_TM_T *parsed_clock) 29{ 30 struct tm t; 31 time_t tt = clock; 32 if ( gmtime_r(&tt, &t) != NULL ) 33 { 34 parsed_clock->tm_sec = t.tm_sec; 35 parsed_clock->tm_min = t.tm_min; 36 parsed_clock->tm_hour = t.tm_hour; 37 parsed_clock->tm_mday = t.tm_mday; 38 parsed_clock->tm_mon = t.tm_mon; 39 parsed_clock->tm_year = t.tm_year; 40 parsed_clock->tm_wday = t.tm_wday; 41 parsed_clock->tm_yday = t.tm_yday; 42 parsed_clock->tm_isdst = t.tm_isdst; 43 return XPL_CLK_RET_SUCCESS; 44 } 45 return XPL_CLK_RET_FAIL; 46 47} 48 49XPL_CLK_CLOCK_T XPL_CLK_PackTime(XPL_CLK_TM_T *parsed_clock) 50{ 51 52 struct tm t; 53 memset(&t, 0, sizeof(struct tm)); 54 t.tm_sec = parsed_clock->tm_sec; 55 t.tm_min = parsed_clock->tm_min; 56 t.tm_hour = parsed_clock->tm_hour; 57 t.tm_mday = parsed_clock->tm_mday; 58 t.tm_mon = parsed_clock->tm_mon; 59 t.tm_year = parsed_clock->tm_year; 60 t.tm_wday = parsed_clock->tm_wday; 61 t.tm_yday = parsed_clock->tm_yday; 62 t.tm_isdst = parsed_clock->tm_isdst; 63 64 return (XPL_CLK_CLOCK_T)mktime(&t); 65} 66 67INT32 XPL_CLK_GetTimeZone(void) 68{ 69 //tzset(); 70 //return (INT32)timezone; 71 return 0; 72} 73 74 75/* Starts timer */ 76XPL_TIMER_HANDLE_T XPL_CLK_StartTimer(XPL_PORT_T port, UINT32 interval, XPL_CLK_TIMER_CBACK reply_timer) 77{ 78 return XPL_CLK_HANDLE_INVALID; 79} 80 81/* Stops timer */ 82XPL_CLK_RET_STATUS_T XPL_CLK_StopTimer(XPL_TIMER_HANDLE_T handle) 83{ 84 return XPL_CLK_RET_SUCCESS; 85} 86 87#ifdef __cplusplus 88} 89#endif 90 91