Main Page | Class List | Directories | File List | Class Members | File Members

ipmi_msgbits.h

Go to the documentation of this file.
00001 /*
00002  * ipmi_msgbits.h
00003  *
00004  * MontaVista IPMI interface, values used for messages.
00005  *
00006  * Author: MontaVista Software, Inc.
00007  *         Corey Minyard <minyard@mvista.com>
00008  *         source@mvista.com
00009  *
00010  * Copyright 2002,2003,2004,2005 MontaVista Software Inc.
00011  *
00012  * This software is available to you under a choice of one of two
00013  * licenses.  You may choose to be licensed under the terms of the GNU
00014  * Lesser General Public License (GPL) Version 2 or the modified BSD
00015  * license below.  The following disclamer applies to both licenses:
00016  *
00017  *  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
00018  *  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
00019  *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
00020  *  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
00021  *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
00022  *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
00023  *  OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00024  *  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
00025  *  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
00026  *  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00027  *
00028  * GNU Lesser General Public Licence
00029  *
00030  *  This program is free software; you can redistribute it and/or
00031  *  modify it under the terms of the GNU Lesser General Public License
00032  *  as published by the Free Software Foundation; either version 2 of
00033  *  the License, or (at your option) any later version.
00034  *
00035  *  You should have received a copy of the GNU Lesser General Public
00036  *  License along with this program; if not, write to the Free
00037  *  Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00038  *
00039  * Modified BSD Licence
00040  *
00041  * Redistribution and use in source and binary forms, with or without
00042  * modification, are permitted provided that the following conditions
00043  * are met:
00044  *
00045  *   1. Redistributions of source code must retain the above copyright
00046  *      notice, this list of conditions and the following disclaimer.
00047  *   2. Redistributions in binary form must reproduce the above
00048  *      copyright notice, this list of conditions and the following
00049  *      disclaimer in the documentation and/or other materials provided
00050  *      with the distribution.
00051  *   3. The name of the author may not be used to endorse or promote
00052  *      products derived from this software without specific prior
00053  *      written permission.
00054  */
00055 
00056 #ifndef _IPMI_MSGBITS_H
00057 #define _IPMI_MSGBITS_H
00058 
00059 #define MAX_IPMI_DATA_SIZE 36
00060 
00061 /*
00062  * IPMI commands
00063  */
00064 
00065 /* Chassis netfn (0x00) */
00066 #define IPMI_GET_CHASSIS_CAPABILITIES_CMD       0x00
00067 #define IPMI_GET_CHASSIS_STATUS_CMD             0x01
00068 #define IPMI_CHASSIS_CONTROL_CMD                0x02
00069 #define IPMI_CHASSIS_RESET_CMD                  0x03
00070 #define IPMI_CHASSIS_IDENTIFY_CMD               0x04
00071 #define IPMI_SET_CHASSIS_CAPABILITIES_CMD       0x05
00072 #define IPMI_SET_POWER_RESTORE_POLICY_CMD       0x06
00073 #define IPMI_GET_SYSTEM_RESTART_CAUSE_CMD       0x07
00074 #define IPMI_SET_SYSTEM_BOOT_OPTIONS_CMD        0x08
00075 #define IPMI_GET_SYSTEM_BOOT_OPTIONS_CMD        0x09
00076 
00077 #define IPMI_GET_POH_COUNTER_CMD                0x0f
00078 
00079 /* Bridge netfn (0x00) */
00080 #define IPMI_GET_BRIDGE_STATE_CMD               0x00
00081 #define IPMI_SET_BRIDGE_STATE_CMD               0x01
00082 #define IPMI_GET_ICMB_ADDRESS_CMD               0x02
00083 #define IPMI_SET_ICMB_ADDRESS_CMD               0x03
00084 #define IPMI_SET_BRIDGE_PROXY_ADDRESS_CMD       0x04
00085 #define IPMI_GET_BRIDGE_STATISTICS_CMD          0x05
00086 #define IPMI_GET_ICMB_CAPABILITIES_CMD          0x06
00087 
00088 #define IPMI_CLEAR_BRIDGE_STATISTICS_CMD        0x08
00089 #define IPMI_GET_BRIDGE_PROXY_ADDRESS_CMD       0x09
00090 #define IPMI_GET_ICMB_CONNECTOR_INFO_CMD        0x0a
00091 #define IPMI_SET_ICMB_CONNECTOR_INFO_CMD        0x0b
00092 #define IPMI_SEND_ICMB_CONNECTION_ID_CMD        0x0c
00093 
00094 #define IPMI_PREPARE_FOR_DISCOVERY_CMD          0x10
00095 #define IPMI_GET_ADDRESSES_CMD                  0x11
00096 #define IPMI_SET_DISCOVERED_CMD                 0x12
00097 #define IPMI_GET_CHASSIS_DEVICE_ID_CMD          0x13
00098 #define IPMI_SET_CHASSIS_DEVICE_ID_CMD          0x14
00099 
00100 #define IPMI_BRIDGE_REQUEST_CMD                 0x20
00101 #define IPMI_BRIDGE_MESSAGE_CMD                 0x21
00102 
00103 #define IPMI_GET_EVENT_COUNT_CMD                0x30
00104 #define IPMI_SET_EVENT_DESTINATION_CMD          0x31
00105 #define IPMI_SET_EVENT_RECEPTION_STATE_CMD      0x32
00106 #define IPMI_SEND_ICMB_EVENT_MESSAGE_CMD        0x33
00107 #define IPMI_GET_EVENT_DESTIATION_CMD           0x34
00108 #define IPMI_GET_EVENT_RECEPTION_STATE_CMD      0x35
00109 
00110 #define IPMI_ERROR_REPORT_CMD                   0xff
00111 
00112 /* Sensor/Event netfn (0x04) */
00113 #define IPMI_SET_EVENT_RECEIVER_CMD             0x00
00114 #define IPMI_GET_EVENT_RECEIVER_CMD             0x01
00115 #define IPMI_PLATFORM_EVENT_CMD                 0x02
00116 
00117 #define IPMI_GET_PEF_CAPABILITIES_CMD           0x10
00118 #define IPMI_ARM_PEF_POSTPONE_TIMER_CMD         0x11
00119 #define IPMI_SET_PEF_CONFIG_PARMS_CMD           0x12
00120 #define IPMI_GET_PEF_CONFIG_PARMS_CMD           0x13
00121 #define IPMI_SET_LAST_PROCESSED_EVENT_ID_CMD    0x14
00122 #define IPMI_GET_LAST_PROCESSED_EVENT_ID_CMD    0x15
00123 #define IPMI_ALERT_IMMEDIATE_CMD                0x16
00124 #define IPMI_PET_ACKNOWLEDGE_CMD                0x17
00125 
00126 #define IPMI_GET_DEVICE_SDR_INFO_CMD            0x20
00127 #define IPMI_GET_DEVICE_SDR_CMD                 0x21
00128 #define IPMI_RESERVE_DEVICE_SDR_REPOSITORY_CMD  0x22
00129 #define IPMI_GET_SENSOR_READING_FACTORS_CMD     0x23
00130 #define IPMI_SET_SENSOR_HYSTERESIS_CMD          0x24
00131 #define IPMI_GET_SENSOR_HYSTERESIS_CMD          0x25
00132 #define IPMI_SET_SENSOR_THRESHOLD_CMD           0x26
00133 #define IPMI_GET_SENSOR_THRESHOLD_CMD           0x27
00134 #define IPMI_SET_SENSOR_EVENT_ENABLE_CMD        0x28
00135 #define IPMI_GET_SENSOR_EVENT_ENABLE_CMD        0x29
00136 #define IPMI_REARM_SENSOR_EVENTS_CMD            0x2a
00137 #define IPMI_GET_SENSOR_EVENT_STATUS_CMD        0x2b
00138 #define IPMI_GET_SENSOR_READING_CMD             0x2d
00139 #define IPMI_SET_SENSOR_TYPE_CMD                0x2e
00140 #define IPMI_GET_SENSOR_TYPE_CMD                0x2f
00141 
00142 /* App netfn (0x06) */
00143 #define IPMI_GET_DEVICE_ID_CMD                  0x01
00144 #define IPMI_BROADCAST_GET_DEVICE_ID_CMD        0x01
00145 #define IPMI_COLD_RESET_CMD                     0x02
00146 #define IPMI_WARM_RESET_CMD                     0x03
00147 #define IPMI_GET_SELF_TEST_RESULTS_CMD          0x04
00148 #define IPMI_MANUFACTURING_TEST_ON_CMD          0x05
00149 #define IPMI_SET_ACPI_POWER_STATE_CMD           0x06
00150 #define IPMI_GET_ACPI_POWER_STATE_CMD           0x07
00151 #define IPMI_GET_DEVICE_GUID_CMD                0x08
00152 #define IPMI_RESET_WATCHDOG_TIMER_CMD           0x22
00153 #define IPMI_SET_WATCHDOG_TIMER_CMD             0x24
00154 #define IPMI_GET_WATCHDOG_TIMER_CMD             0x25
00155 #define IPMI_SET_BMC_GLOBAL_ENABLES_CMD         0x2e
00156 #define IPMI_GET_BMC_GLOBAL_ENABLES_CMD         0x2f
00157 #define IPMI_CLEAR_MSG_FLAGS_CMD                0x30
00158 #define IPMI_GET_MSG_FLAGS_CMD                  0x31
00159 #define IPMI_ENABLE_MESSAGE_CHANNEL_RCV_CMD     0x32
00160 #define IPMI_GET_MSG_CMD                        0x33
00161 #define IPMI_SEND_MSG_CMD                       0x34
00162 #define IPMI_READ_EVENT_MSG_BUFFER_CMD          0x35
00163 #define IPMI_GET_BT_INTERFACE_CAPABILITIES_CMD  0x36
00164 #define IPMI_GET_SYSTEM_GUID_CMD                0x37
00165 #define IPMI_GET_CHANNEL_AUTH_CAPABILITIES_CMD  0x38
00166 #define IPMI_GET_SESSION_CHALLENGE_CMD          0x39
00167 #define IPMI_ACTIVATE_SESSION_CMD               0x3a
00168 #define IPMI_SET_SESSION_PRIVILEGE_CMD          0x3b
00169 #define IPMI_CLOSE_SESSION_CMD                  0x3c
00170 #define IPMI_GET_SESSION_INFO_CMD               0x3d
00171 
00172 #define IPMI_GET_AUTHCODE_CMD                   0x3f
00173 #define IPMI_SET_CHANNEL_ACCESS_CMD             0x40
00174 #define IPMI_GET_CHANNEL_ACCESS_CMD             0x41
00175 #define IPMI_GET_CHANNEL_INFO_CMD               0x42
00176 #define IPMI_SET_USER_ACCESS_CMD                0x43
00177 #define IPMI_GET_USER_ACCESS_CMD                0x44
00178 #define IPMI_SET_USER_NAME_CMD                  0x45
00179 #define IPMI_GET_USER_NAME_CMD                  0x46
00180 #define IPMI_SET_USER_PASSWORD_CMD              0x47
00181 #define IPMI_ACTIVATE_PAYLOAD_CMD               0x48
00182 #define IPMI_DEACTIVATE_PAYLOAD_CMD             0x49
00183 #define IPMI_GET_PAYLOAD_ACTIVATION_STATUS_CMD  0x4a
00184 #define IPMI_GET_PAYLOAD_INSTANCE_INFO_CMD      0x4b
00185 #define IPMI_SET_USER_PAYLOAD_ACCESS_CMD        0x4c
00186 #define IPMI_GET_USER_PAYLOAD_ACCESS_CMD        0x4d
00187 #define IPMI_GET_CHANNEL_PAYLOAD_SUPPORT_CMD    0x4e
00188 #define IPMI_GET_CHANNEL_PAYLOAD_VERSION_CMD    0x4f
00189 #define IPMI_GET_CHANNEL_OEM_PAYLOAD_INFO_CMD   0x50
00190 
00191 #define IPMI_MASTER_READ_WRITE_CMD              0x52
00192 
00193 #define IPMI_GET_CHANNEL_CIPHER_SUITES_CMD      0x54
00194 #define IPMI_SUSPEND_RESUME_PAYLOAD_ENCRYPTION_CMD 0x55
00195 #define IPMI_SET_CHANNEL_SECURITY_KEY_CMD       0x56
00196 #define IPMI_GET_SYSTEM_INTERFACE_CAPABILITIES_CMD 0x57
00197 
00198 
00199 /* Storage netfn (0x0a) */
00200 #define IPMI_GET_FRU_INVENTORY_AREA_INFO_CMD    0x10
00201 #define IPMI_READ_FRU_DATA_CMD                  0x11
00202 #define IPMI_WRITE_FRU_DATA_CMD                 0x12
00203 
00204 #define IPMI_GET_SDR_REPOSITORY_INFO_CMD        0x20
00205 #define IPMI_GET_SDR_REPOSITORY_ALLOC_INFO_CMD  0x21
00206 #define IPMI_RESERVE_SDR_REPOSITORY_CMD         0x22
00207 #define IPMI_GET_SDR_CMD                        0x23
00208 #define IPMI_ADD_SDR_CMD                        0x24
00209 #define IPMI_PARTIAL_ADD_SDR_CMD                0x25
00210 #define IPMI_DELETE_SDR_CMD                     0x26
00211 #define IPMI_CLEAR_SDR_REPOSITORY_CMD           0x27
00212 #define IPMI_GET_SDR_REPOSITORY_TIME_CMD        0x28
00213 #define IPMI_SET_SDR_REPOSITORY_TIME_CMD        0x29
00214 #define IPMI_ENTER_SDR_REPOSITORY_UPDATE_CMD    0x2a
00215 #define IPMI_EXIT_SDR_REPOSITORY_UPDATE_CMD     0x2b
00216 #define IPMI_RUN_INITIALIZATION_AGENT_CMD       0x2c
00217 
00218 #define IPMI_GET_SEL_INFO_CMD                   0x40
00219 #define IPMI_GET_SEL_ALLOCATION_INFO_CMD        0x41
00220 #define IPMI_RESERVE_SEL_CMD                    0x42
00221 #define IPMI_GET_SEL_ENTRY_CMD                  0x43
00222 #define IPMI_ADD_SEL_ENTRY_CMD                  0x44
00223 #define IPMI_PARTIAL_ADD_SEL_ENTRY_CMD          0x45
00224 #define IPMI_DELETE_SEL_ENTRY_CMD               0x46
00225 #define IPMI_CLEAR_SEL_CMD                      0x47
00226 #define IPMI_GET_SEL_TIME_CMD                   0x48
00227 #define IPMI_SET_SEL_TIME_CMD                   0x49
00228 #define IPMI_GET_AUXILIARY_LOG_STATUS_CMD       0x5a
00229 #define IPMI_SET_AUXILIARY_LOG_STATUS_CMD       0x5b
00230 
00231 /* Transport netfn (0x0c) */
00232 #define IPMI_SET_LAN_CONFIG_PARMS_CMD           0x01
00233 #define IPMI_GET_LAN_CONFIG_PARMS_CMD           0x02
00234 #define IPMI_SUSPEND_BMC_ARPS_CMD               0x03
00235 #define IPMI_GET_IP_UDP_RMCP_STATS_CMD          0x04
00236 
00237 #define IPMI_SET_SERIAL_MODEM_CONFIG_CMD        0x10
00238 #define IPMI_GET_SERIAL_MODEM_CONFIG_CMD        0x11
00239 #define IPMI_SET_SERIAL_MODEM_MUX_CMD           0x12
00240 #define IPMI_GET_TAP_RESPONSE_CODES_CMD         0x13
00241 #define IPMI_SET_PPP_UDP_PROXY_XMIT_DATA_CMD    0x14
00242 #define IPMI_GET_PPP_UDP_PROXY_XMIT_DATA_CMD    0x15
00243 #define IPMI_SEND_PPP_UDP_PROXY_PACKET_CMD      0x16
00244 #define IPMI_GET_PPP_UDP_PROXY_RECV_DATA_CMD    0x17
00245 #define IPMI_SERIAL_MODEM_CONN_ACTIVE_CMD       0x18
00246 #define IPMI_CALLBACK_CMD                       0x19
00247 #define IPMI_SET_USER_CALLBACK_OPTIONS_CMD      0x1a
00248 #define IPMI_GET_USER_CALLBACK_OPTIONS_CMD      0x1b
00249 
00250 #define IPMI_SOL_ACTIVATING_CMD                 0x20
00251 #define IPMI_SET_SOL_CONFIGURATION_PARAMETERS   0x21
00252 #define IPMI_GET_SOL_CONFIGURATION_PARAMETERS   0x22
00253 
00254 /*
00255  * NetFNs
00256  */
00257 #define IPMI_CHASSIS_NETFN              0x00
00258 #define IPMI_BRIDGE_NETFN               0x02
00259 #define IPMI_SENSOR_EVENT_NETFN         0x04
00260 #define IPMI_APP_NETFN                  0x06
00261 #define IPMI_FIRMWARE_NETFN             0x08
00262 #define IPMI_STORAGE_NETFN              0x0a
00263 #define IPMI_TRANSPORT_NETFN            0x0c
00264 #define IPMI_GROUP_EXTENSION_NETFN      0x2c
00265 #define IPMI_OEM_GROUP_NETFN            0x2e
00266 
00267 #ifdef __cplusplus
00268 extern "C" {
00269 #endif
00270 
00271 /* Convert a netfn into a string.  You must pass a buffer in (32
00272    bytes is good) and the buffer length.  The string will be stored in
00273    that buffer and also returned. */
00274 char *ipmi_get_netfn_string(unsigned int netfn,
00275                             char         *buffer,
00276                             unsigned int buf_len);
00277 
00278 /* Convert a netfn/cmd into a string.  You must pass a buffer in (32
00279    bytes is good) and the buffer length.  The string will be stored in
00280    that buffer and also returned. */
00281 char *ipmi_get_command_string(unsigned int netfn,
00282                               unsigned int cmd,
00283                               char         *buffer,
00284                               unsigned int buf_len);
00285 
00286 #ifdef __cplusplus
00287 }
00288 #endif
00289 
00290 #endif /* _IPMI_MSGBITS_H */

© sourcejam.com 2005-2008