一些内核定时API (1)

本文介绍了Linux内核中的一些定时API,包括创建和管理软件定时器、获取系统时间、设置系统时间等。通过示例代码展示了如何使用init_timer、add_timer、del_timer等函数操作定时器,并解释了相关结构体如struct timer_list的功能。此外,还提供了获取和设置时间的函数如get_seconds、mktime等。
摘要由CSDN通过智能技术生成
//创建一个软件定时器
static struct timer_list my_timer;//定义一个软件定时器
   struct timer_list {  
struct list_head entry;          //定时器链表的入口  
unsigned long expires;           //定时器超时时的节拍数  
void (*function)(unsigned long); //【重要】定时器处理函数  
unsigned long data;              //传给定时器处理函数的长整型参数  
struct tvec_t_base_s *base;      //定时器内部值,用户不使用  
#ifdef CONFIG_TIMER_STATS  
void *start_site;  
char start_comm[16];  
int start_pid;  
#endif  
};  
           
   void my_timer_function(...);//定义自己的软件定时器函数
           
   init_timer(&my_timer);
           my_timer.function=my_timer_function;


   add_timer(my_timer);


//获得当前系统内核的时间,该时间是距离1970年1月1日0时0分0秒的时间,用秒和纳秒表示
//timespec里面是秒和纳秒
struct timespec current_kernel_time(void)
{
struct timekeeper *tk = &tk_core.timekeeper;
struct timespec64 now;
unsigned long seq;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值