something like this.
static void(*pUserTimerCB)(int x);
static void timer_func( int x )
{
signal(SIGALRM, timer_func);
if( pUserTimerCB ) {
pUserTimerCB( x );
}
}
/**
* SetupTimerCallback -
*
* @param iUs - Number of microseconds to run the callback
* @timeFunc - Pointer to a void function( int x ) to call every µs/microseconds
*
*/
int SetupTimerCallback( unsigned long iUs , void (*timeFunc)(int x))
{
struct itimerval timer;
pUserTimerCB = timeFunc;
signal(SIGALRM, timer_func);
timer.it_value.tv_sec = timer.it_interval.tv_sec = 0;
timer.it_value.tv_usec = timer.it_interval.tv_usec = (__suseconds_t)( iUs );
return setitimer( ITIMER_REAL, &timer, NULL);
}
> I'm unsure which timer is being used by the Linux OS and how to set up
> a timer in my c application. TIA.
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|