📄 wdt.h
字号:
/////////////////////////////////////////////////////////////////////////
//Module Name:
//
// WDT.h
//
//Abstract: WDT interface.
//
//Environment:
//
// Windows NT/2000/XP
//
//Author: mz.yang 2008.9
//
/////////////////////////////////////////////////////////////////////////
#ifndef _WDT_H_
#define _WDT_H_
#include <windows.h>
#define WDT_MODE_RESET 1
#define WDT_MODE_INTERRUPT 2
#define WDT_COUNTER_UNIT_SECOND 1
#define WDT_COUNTER_UNIT_MINUTE 2
#define IRQ_SEARCH_AUTO -1
#define OVERFLOW_EVENT_SHUTDOWN 1
#define OVERFLOW_EVENT_REBOOT 2
#define OVERFLOW_EVENT_SET_EVENT 3
#define OVERFLOW_EVENT_SEND_MESSAGE 4
#define OVERFLOW_EVENT_CALL_FUNC 5
// WDT overflow message name
#define WDT_OVERFLOW_MESSAGE_NAME "WDTOverflowMessage"
// WDT overflow message ID
UINT WM_WDT_OVERFLOW_MESSAGE;
// User call back function point type.
#ifndef WDTCallBack
typedef void (_stdcall * WDTCallBack)(void *pContext);
#endif
//*****************************************************************************
//
// EVOCIO Driver init routine. 2007.7
//
//*****************************************************************************
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Install EVOCIO driver dynamic, and open device.
//
//Parameters:
// none.
//
//Return Value:
// true : init succeed.
// false : init failed.
//
//////////////////////////////////////////////////////////////////////////
bool _stdcall InitEVOCIO();
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Close device, and remove EVOCIO driver.
//
//Parameters:
// none.
//
//Return Value:
// void.
//
//////////////////////////////////////////////////////////////////////////
void _stdcall ShutdownEVOCIO();
//*****************************************************************************
//
// Super IO WDT interface routine. 2008.9
//
//*****************************************************************************
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Create WDT.
//
//Parameters:
// Mode - WDT working mode:
// 1 : case system reset when WDT time out.
// 2 : case an INT when WDT time out.
// Irq - Command code:
// -1 : Search system free IRQ automatic.
// 3,4,5,7,9,12,14,15 : WDT work in interrupt mode.this value
// is WDT IRQ resource,when WDT time out,it will cause a
// interrupt,call WDTRegisterTimeOutEvent() to register
// WDT time out operation mode.
//
//Return Value:
// Reset mode:
// 0 : Create WDT successful.
// -1 : Invalid parameters.
// -2 : WDT already setuped,user need call "WDTDestroy" before setup it again.
// Interrupt mode:
// Serch IRQ number automatic:
// 0 ~ 15 : Create WDT successful and the return value is the WDT
// actual used IRQ number(isa IRQ : 3,4,5,6,7,9,10,11,14,15).
// -1 : Invalid parameters.
// -2 : WDT already created,user need call "WDTDestroy" before setup
// it again.
// -3 : No interrupt resource can use in the system.
// User set IRQ:
// 0 : Create WDT successful.
// -1 : Invalide parameters.
// -2 : WDT already created,user need call "WDTDestroy" before setup
// it again.
// -3 : The IRQ number is conflict with others device.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTCreate(int Mode,int Irq);
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Delete WDT.
//
//Parameters:
// None.
//
//Return Value:
// 0 - Destroy WDT successful.
// -1 - WDT never create.
// -2 - Destroy WDT failed.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTDestroy();
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Enable WDT.
//
//Parameters:
// Unit - WDT counter unit:
// 0 : second.
// 1 : minute.
// Time - Time value.
//
//Return Value:
// 0 - Enable WDT successful.
// -1 - Invalid parameters.
// -2 - WDT never create.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTEnable(int Unit,int Time);
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Disable WDT.
//
//Parameters:
// none.
//
//Return Value:
// 0 - Enable WDT successful.
// -1 - WDT never create.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTDisable();
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Get WDT counter current value.
//
//Parameters:
// Operation - the way to deal with WDT time out.
// 0 : shutdown system.
// 1 : reboot system.
// 2 : set event point by "Event" parameter.
// 3 : send message named "WDT".
// 4 : call callback function point by "CallBackFunc".
// EventHandle - Event handle of user created.
// CallBackFunc - User callback function pointer.
// pContext - User callback function parameter.
//
//Return Value:
// 0 - Register WDT Overflow event successful.
// -1 - Register WDT Overflow event failed.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTRegisterOverflowEvent(int Operation,HANDLE EventHandle,WDTCallBack CallBackFunc,void *pContext);
/////////////////////////////////////////////////////////////////////////
//Function Description:
// Get WDT counter current value.
//
//Parameters:
// none.
//
//Return Value:
// 0 ~ 255 - WDT counter current value.
// -1 - Read WDT counter current value failed.
// -2 - Hardware not support.
//
//////////////////////////////////////////////////////////////////////////
int _stdcall WDTReadCounterVal();
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -