⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smctimer.h

📁 使用标准C开发的同时支持CMPP3.0 和 CMPP2.0 的SP短信网关程序
💻 H
字号:
#ifndef VSCPTIMER_H
#define VSCPTIMER_H

#define MAX_SMC_MSGLEN 1000
#define MAX_SMC_TIMERLEN 1000

typedef void (*TimerExpireFun)(void * para,void * para1);

typedef struct TIMER_STR
{
	int		Value;
	unsigned int		TimeType;
	int		TimerTime;
	struct	TIMER_STR *		pre;
	struct	TIMER_STR *		suc;
	void *	para;
}TIMER_T, * PTIMER_T;

typedef struct TIMER_QUEUE_STR
{
	TIMER_T	head;
	unsigned int	count;
	TimerExpireFun *expirefun;
	unsigned char	funcount;
	unsigned char	scancount;
	CriticalSection cs;
}TIMER_QUEUE_T;

typedef enum
{
	TIMER_UNDEFINED,
	TIMER_QUEUE_SYS = 0,
	TIMER_QUEUE_LOG
}TIMER_QUEUE_E;

extern int TimerQueueInit(TIMER_QUEUE_E q);
extern int TimerQueueSetMember(TIMER_QUEUE_E q, TIMER_T *timer);
extern int TimerQueueReleaseMember(TIMER_QUEUE_E q, TIMER_T *timer);
extern void TimerQueueCheck(TIMER_QUEUE_E q);
extern char CheckTimerQueueStatus(TIMER_QUEUE_E q);
extern int TimerQueueLen(TIMER_QUEUE_E q);
extern int TimerQueueIsNull(TIMER_QUEUE_E q);

#define SmcTimerInit()		TimerQueueInit(TIMER_QUEUE_SYS)
#define SmcSetTimer(x)		TimerQueueSetMember(TIMER_QUEUE_SYS,(x))
#define SmcReleaseTimer(x)	TimerQueueReleaseMember(TIMER_QUEUE_SYS,(x))
#define SmcCheckTimer()		TimerQueueCheck(TIMER_QUEUE_SYS)
#define SmcCheckStatus()	CheckTimerQueueStatus(TIMER_QUEUE_SYS)
#define SmcTimerLen()		TimerQueueLen(TIMER_QUEUE_SYS)
#define SmcTimerNull()		TimerQueueIsNull(TIMER_QUEUE_SYS)

#define LogTimerInit()		TimerQueueInit(TIMER_QUEUE_LOG)
#define LogSetTimer(x)		TimerQueueSetMember(TIMER_QUEUE_LOG, (x))
#define LogReleaseTimer(x)	TimerQueueReleaseMember(TIMER_QUEUE_LOG, (x))
#define LogCheckTimer()		TimerQueueCheck(TIMER_QUEUE_LOG)


extern void * CheckLogTimerThread(void *papa);

TIMER_T			SysTestTv;
TIMER_T			SysTestResTv;

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -