Specifications
INTELLIGENT PLATFORM MANAGEMENT INTERFACE 
7-16  PP 41x/03x 
7.6.2  Using the Watchdog Timer 
The IPMI provides a standardized watchdog facility which is fully described in the IPMI 
specification. The following C program fragment sets and resets the watchdog facility: 
/* network function codes */ 
#define NFC_APP_REQUEST 0x06 
#define NFC_APP_RESPONSE 0x07 
/* watchdog commands */ 
#define CMD_WATCHDOG_RESET 0x22 /* Reset Watchdog Timer */ 
#define CMD_WATCHDOG_SET 0x24 /* Set Watchdog Timer */ 
#define CMD_WATCHDOG_GET 0x25 /* Get Watchdog Timer */ 
/* definition of watchdog operational constants */ 
#define USAGE_BIOS_FRB2 1 
#define USAGE_BIOS_POST 2 
#define USAGE_OS_LOAD 3 
#define USAGE_SMS_OS 4 
#define USAGE_OEM 5 
#define FLAG_BIOS_FRB2 (1 << (USAGE_BIOS_FRB2)) 
#define FLAG_BIOS_POST (1 << (USAGE_BIOS_POST)) 
#define FLAG_OS_LOAD (1 << (USAGE_OS_LOAD)) 
#define FLAG_SMS_OS (1 << (USAGE_SMS_OS)) 
#define FLAG_OEM (1 << (USAGE_OEM)) 
#define PRE_TO_INT_NONE 0 
#define PRE_TO_INT_SMI 1 
#define PRE_TO_INT_NMI 2 
#define PRE_TO_INT_MESSAGE 3 
#define TO_ACTION_NONE 0 
#define TO_ACTION_RESET 1 
#define TO_ACTION_POWER_DOWN 2 
#define TO_ACTION_POWER_CYCLE 3 
/* Completion codes */ 
#define COMPLETION_OK 0 /* Completion code OK */ 
/* error codes */ 
#define E_OK 0 /* OK */ 
#define E_COMPLETION 0x400 /* wrong completion code */ 
/* forward declarations */ 
void vBmcSmicSmsMessageWrite (const unsigned char *pbMessage, 
 unsigned char bLength); 
void vBmcSmicSmsMessageRead (unsigned char *pbMessage, 
 unsigned char *bMessageLength); 










