linux ns机制,Linux内核API ns_to_timespec

ns_to_timespec函数功能描述:函数ns_to_timespec( )将参数表示的时间转换成用结构体timespec变量表示的时间,参数的时间单位是纳秒。

ns_to_timespec文件包含

ns_to_timespec函数定义

在内核源码中的位置:linux-3.19.3/kernel/time/time.c

函数定义格式:

ns_to_timespec输入参数说明

此函数的输入参数是一个64位有符号整数,表示的是时间,单位是纳秒。

ns_to_timespec返回参数说明

函数的返回值是struct timespec类型的结构体变量,定义见文件linux-3.19.3/include/uapi/linux/time.h,其声明如下:

此结构体用于内核记录时间,其中字段tv_sec的单位是秒(s),表示整秒数,字段tv_nsec的单位是纳秒(ns),表示不足一秒的部分,在此其取值范围是0~999999999。

ns_to_timespec实例解析

编写测试文件:ns_to_timespec.c

头文件引用:

模块加载函数定义:

模块退出函数定义:

模块加载、退出函数调用:

实例运行结果及分析:

执行命令insmod ns_to_timespec.ko插入模块,然后输入命令dmesg -c,出现如图A所示结果。

6ab033b517daf999c7a49bc848db3d39.png

如果将参数改为-1001000000,重新编译插入运行,出现如图B所示结果。

86c8012d61fd0dfd61df3a41edb823e4.png

结果分析:

从图A和图B可以看出,两次函数调用都能将64位有符号整数表示的时间转变成结构体timespec变量所表示的时间,不论传入的参数是正数还是负数,都能正确转换,当然一般时间为负数是没有意义的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值