add clock_cpu_settimeout function

This commit is contained in:
zhkag 2023-02-06 14:00:32 +08:00 committed by guo
parent f4e9ec82bb
commit 7c1d6ffd3c
2 changed files with 20 additions and 0 deletions

View File

@ -43,6 +43,24 @@ uint64_t clock_cpu_gettime(void)
return 0; return 0;
} }
/**
* The clock_cpu_settimeout() fucntion set timeout time and timeout callback function
* The timeout callback function will be called when the timeout time is reached
*
* @param tick the Timeout tick
* @param timeout the Timeout function
* @param parameter the Parameters of timeout function
*
*/
void clock_cpu_settimeout(uint64_t tick, void (*timeout)(void *param), void *param)
{
if (_cputime_ops)
return _cputime_ops->cputime_settimeout(tick, timeout, param);
rt_set_errno(ENOSYS);
return 0;
}
/** /**
* The clock_cpu_microsecond() fucntion shall return the microsecond according to * The clock_cpu_microsecond() fucntion shall return the microsecond according to
* cpu_tick parameter. * cpu_tick parameter.

View File

@ -17,10 +17,12 @@ struct rt_clock_cputime_ops
{ {
double (*cputime_getres)(void); double (*cputime_getres)(void);
uint64_t (*cputime_gettime)(void); uint64_t (*cputime_gettime)(void);
void (*cputime_settimeout)(uint64_t tick, void (*timeout)(void *param), void *param);
}; };
double clock_cpu_getres(void); double clock_cpu_getres(void);
uint64_t clock_cpu_gettime(void); uint64_t clock_cpu_gettime(void);
void clock_cpu_settimeout(uint64_t tick, void (*timeout)(void *param), void *param);
uint64_t clock_cpu_microsecond(uint64_t cpu_tick); uint64_t clock_cpu_microsecond(uint64_t cpu_tick);
uint64_t clock_cpu_millisecond(uint64_t cpu_tick); uint64_t clock_cpu_millisecond(uint64_t cpu_tick);