16#if defined(__windows__)
26 ft.QuadPart = -(10*usec);
28 timer = CreateWaitableTimer(NULL, TRUE, NULL);
29 SetWaitableTimer(timer, &ft, 0, NULL, NULL, 0);
30 WaitForSingleObject(timer, INFINITE);
54 printf(
"Press a enter to continue..." );
57 int n = scanf(
"%c", k );
65 n_log(
LOG_ERR ,
"error %s when waiting for a key !" , strerror( error ) );
87#if defined( __windows__ )
88 if( QueryPerformanceFrequency( ( LARGE_INTEGER * ) & timer -> freq ) == 0 )
90 if( QueryPerformanceCounter( &timer -> startTime ) == 0 )
93 if( gettimeofday( &timer -> startTime, 0 ) != 0 )
110 QueryPerformanceCounter( ( LARGE_INTEGER * ) & timer -> currentTime );
111 timer -> delta = 1000000 * ( timer -> currentTime . QuadPart - timer -> startTime . QuadPart ) / timer -> freq . QuadPart ;
112 timer -> startTime = timer -> currentTime ;
114 gettimeofday( &timer -> currentTime, 0 );
115 timer -> delta = ( timer -> currentTime . tv_sec - timer -> startTime . tv_sec ) * 1000000 + ( timer -> currentTime . tv_usec - timer -> startTime . tv_usec );
116 timer -> startTime . tv_sec = timer -> currentTime . tv_sec ;
117 timer -> startTime . tv_usec = timer -> currentTime . tv_usec ;
120 return timer -> delta;
133 QueryPerformanceCounter( ( LARGE_INTEGER * ) & timer -> currentTime );
134 timer -> delta = 1000 * ( timer -> currentTime . QuadPart - timer -> startTime . QuadPart ) / timer -> freq . QuadPart ;
135 timer -> startTime = timer -> currentTime ;
137 gettimeofday( &timer -> currentTime, 0 );
138 timer -> delta = ( timer -> currentTime . tv_sec - timer -> startTime . tv_sec ) * 1000 + ( timer -> currentTime . tv_usec - timer -> startTime . tv_usec ) / 1000 ;
139 timer -> startTime . tv_sec = timer -> currentTime . tv_sec ;
140 timer -> startTime . tv_usec = timer -> currentTime . tv_usec ;
143 return timer -> delta;
156 QueryPerformanceCounter( ( LARGE_INTEGER * ) & timer -> currentTime );
157 timer -> delta = ( timer -> currentTime . QuadPart - timer -> startTime . QuadPart ) / timer -> freq . QuadPart ;
158 timer -> startTime = timer -> currentTime ;
160 gettimeofday( &timer -> currentTime, 0 );
161 timer -> delta = ( timer -> currentTime . tv_sec - timer -> startTime . tv_sec ) + ( timer -> currentTime . tv_usec - timer -> startTime . tv_usec ) / 1000000 ;
162 timer -> startTime . tv_sec = timer -> currentTime . tv_sec ;
163 timer -> startTime . tv_usec = timer -> currentTime . tv_usec ;
165 return timer -> delta;
#define n_log(__LEVEL__,...)
Logging function wrapper to get line and func.
#define LOG_DEBUG
debug-level messages
#define LOG_ERR
error conditions
void u_sleep(unsigned int usec)
wrapper around usleep for API consistency
int start_HiTimer(N_TIME *timer)
Initialize or restart from zero any N_TIME HiTimer.
time_t get_usec(N_TIME *timer)
Poll any N_TIME HiTimer, returning usec, and moving currentTime to startTime.
time_t get_msec(N_TIME *timer)
Poll any N_TIME HiTimer, returning msec, and moving currentTime to startTime.
time_t get_sec(N_TIME *timer)
Poll any N_TIME HiTimer, returning sec, and moving currentTime to startTime.
void PAUSE(void)
make a pause in a terminal