📄 timer.h
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -