timer.h
来自「红外接口串口仿真」· C头文件 代码 · 共 67 行
H
67 行
#ifndef _LINUX_TIMER_H
#define _LINUX_TIMER_H
#include <ntddk.h>
#include <ndis.h>
#include <linux/types.h>
#define HZ 1000
#define jiffies getTicks()
struct timer_list {
unsigned long data;
void (*function)(unsigned long);
// Windows kernel specific
NDIS_TIMER ndisTimer;
};
extern VOID TimerWrapper(PVOID dummy1, PVOID context, PVOID dummy2, PVOID dummy3);
__inline unsigned long getTicks()
{
LARGE_INTEGER time;
KeQuerySystemTime(&time);
return (unsigned long)(time.QuadPart/10000);
}
__inline void init_timer(struct timer_list* timer)
{
NdisInitializeTimer(&timer->ndisTimer, TimerWrapper, (PVOID)timer);
}
__inline int mod_timer(struct timer_list* timer, unsigned long expires)
{
NdisSetTimer(&timer->ndisTimer, expires);
return 0;
}
__inline int del_timer(struct timer_list* timer)
{
BOOLEAN canceled;
NdisCancelTimer(&timer->ndisTimer, &canceled);
return 0;
}
__inline int timer_pending (const struct timer_list* timer)
{
return TRUE;
}
__inline unsigned long msecs_to_jiffies(const unsigned int m)
{
#if HZ <= 1000 && !(1000 % HZ)
return (m + (1000 / HZ) - 1) / (1000 / HZ);
#elif HZ > 1000 && !(HZ % 1000)
return m * (HZ / 1000);
#else
return (m * HZ + 999) / 1000;
#endif
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?