/usr/include/freeipmi/cmds/ipmi-bmc-watchdog-timer-cmds.h is in libfreeipmi-dev 1.4.11-1.1ubuntu4.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | /*
* Copyright (C) 2003-2014 FreeIPMI Core Team
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef IPMI_BMC_WATCHDOG_TIMER_CMDS_H
#define IPMI_BMC_WATCHDOG_TIMER_CMDS_H
#ifdef __cplusplus
extern "C" {
#endif
#include <stdint.h>
#include <freeipmi/fiid/fiid.h>
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_BIOS_FRB2 0x1
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_BIOS_POST 0x2
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_OS_LOAD 0x3
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_SMS_OS 0x4
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_OEM 0x5
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_BIOS_FRB2 \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_BIOS_POST \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_OS_LOAD \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_SMS_OS \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_OEM) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_STOP_TIMER_ENABLE 0x0
#define IPMI_BMC_WATCHDOG_TIMER_STOP_TIMER_DISABLE 0x1
#define IPMI_BMC_WATCHDOG_TIMER_STOP_TIMER_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_STOP_TIMER_ENABLE \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_STOP_TIMER_DISABLE) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_LOG_ENABLE 0x0
#define IPMI_BMC_WATCHDOG_TIMER_LOG_DISABLE 0x1
#define IPMI_BMC_WATCHDOG_TIMER_LOG_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_LOG_ENABLE \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_LOG_DISABLE) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_NO_ACTION 0x0
#define IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_HARD_RESET 0x1
#define IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_POWER_DOWN 0x2
#define IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_POWER_CYCLE 0x3
#define IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_NO_ACTION \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_HARD_RESET \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_POWER_DOWN \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMEOUT_ACTION_POWER_CYCLE) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_NONE 0x0
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_SMI 0x1
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_NMI 0x2
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_MESSAGING_INTERRUPT 0x3
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_NONE \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_SMI \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_NMI \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERRUPT_MESSAGING_INTERRUPT) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_EXPIRATION_CLEAR_TIMER_EXPIRATION_BIT 0x1
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_EXPIRATION_LEAVE_ALONE 0x0
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_EXPIRATION_VALID(__x) \
(((__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_EXPIRATION_CLEAR_TIMER_EXPIRATION_BIT \
|| (__x) == IPMI_BMC_WATCHDOG_TIMER_TIMER_USE_EXPIRATION_LEAVE_ALONE) ? 1 : 0)
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_STATE_RUNNING 0x1
#define IPMI_BMC_WATCHDOG_TIMER_TIMER_STATE_STOPPED 0x0
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERVAL_MIN 0x00
#define IPMI_BMC_WATCHDOG_TIMER_PRE_TIMEOUT_INTERVAL_MAX 0xFF
#define IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MIN 0x0000
#define IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MAX 0xFFFF
#define IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MIN_SECONDS IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MIN
#define IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MAX_SECONDS (IPMI_BMC_WATCHDOG_TIMER_INITIAL_COUNTDOWN_MAX/10)
/*
* fill* functions return 0 on success, -1 on error.
*
* obj_cmd_rq must be for the fill function's respective fiid
* template request.
*
* see freeipmi/templates/ for template definitions
*/
extern fiid_template_t tmpl_cmd_reset_watchdog_timer_rq;
extern fiid_template_t tmpl_cmd_reset_watchdog_timer_rs;
extern fiid_template_t tmpl_cmd_set_watchdog_timer_rq;
extern fiid_template_t tmpl_cmd_set_watchdog_timer_rs;
extern fiid_template_t tmpl_cmd_get_watchdog_timer_rq;
extern fiid_template_t tmpl_cmd_get_watchdog_timer_rs;
int fill_cmd_reset_watchdog_timer (fiid_obj_t obj_cmd_rq);
int fill_cmd_set_watchdog_timer (uint8_t timer_use,
uint8_t stop_timer,
uint8_t log,
uint8_t timeout_action,
uint8_t pre_timeout_interrupt,
uint8_t pre_timeout_interval,
uint8_t timer_use_expiration_flag_bios_frb2,
uint8_t timer_use_expiration_flag_bios_post,
uint8_t timer_use_expiration_flag_os_load,
uint8_t timer_use_expiration_flag_sms_os,
uint8_t timer_use_expiration_flag_oem,
uint16_t initial_countdown_value,
fiid_obj_t obj_cmd_rq);
int fill_cmd_get_watchdog_timer (fiid_obj_t obj_cmd_rq);
#ifdef __cplusplus
}
#endif
#endif /* IPMI_BMC_WATCHDOG_TIMER_CMDS_H */
|