curtime 内核服务
用途
将当前时间读取到时间结构中。
语法
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/time.h> void curtime ( timestruct)
struct timestruc_t *timestruct;
struct timestruc_t *timestruct;
参数
| 项 | 描述 |
|---|---|
| 时间卡车 | 指向 /usr/include/sys/time.h 文件中定义的 timestruc_t 时间结构。 库尔时间 内核服务使用当前时间来更新此结构中的字段。 |
描述
curtime 内核服务将当前时间读入 /usr/include/sys/time.h 文件中定义的时间结构。 此服务将更新tv_sec和tv_nsec时间结构中的字段 (由 时间卡车 参数指向) ,来自硬件实时时钟。 内核还会维护并更新内存映射时间 陶德 结构。 此结构随每个时钟刻度一起更新。
内核还会维护另外两个内存中的时间值: 螺栓 和 时间 值。 内核保留的三个内存中时间值 ( 陶德, 螺栓和 时间 值) 可供内核扩展使用。 螺栓 内存中的时间值是自系统引导以来发生的计时器刻度标记数。 对于每个计时器刻度标记,此值将更新一次。 时间 内存中时间值是自 Epoch 以来经过的秒数。 该内核每秒更新一次该值。
注: POSIX 1003.1 将 "自戳记以来的秒数" 定义为 "解释为指定时间与戳记之间的秒数的值"。 它还指定 " 以秒 (tm_sec) ,分钟 (tm_min) ,小时 (tm_hour) 和自一年的一月 1 (tm_yday) 和日历年减去 1900 (tm_year) 以来的天数为单位指定的全球标准时间名称与表示为秒的时间相关,根据以下表达式: tm_sec + tm_min * 60 tm_hour* 3600 + tm_yday * 86400 + (tm_year -70) * 31536000 ((tm_year -69)/4) * 86400 (如果年份大于或等于 1970 ,否则未定义。"
如果使用固定堆栈和输入时间结构,那么 库尔时间 内核服务不会发生缺页故障。 此外,访问 螺栓, 时间和 陶德 内存中的时间值不会导致缺页故障,因为这些值位于固定内存中。
执行环境
陶德, 时间和 螺栓 内存映射的时间值也可以从进程或中断处理程序环境中读取。 在中断处理程序环境中调用 库尔时间 服务时,必须将 时间卡车 参数和堆栈置顶。
返回值
库尔时间 内核服务没有任何返回值。