/usr/include/freeipmi/record-format/ipmi-fru-information-record-format.h is in libfreeipmi-dev 0.8.12-3ubuntu1.
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 136 137 138 139 140 | /*
Copyright (C) 2003-2010 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 2, 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, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*****************************************************************************\
* Copyright (C) 2007-2010 Lawrence Livermore National Security, LLC.
* Copyright (C) 2007 The Regents of the University of California.
* Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER).
* Written by Albert Chu <chu11@llnl.gov>
* UCRL-CODE-232183
*
* This file is part of Ipmi-fru, a tool used for retrieving
* motherboard field replaceable unit (FRU) information. For details,
* see http://www.llnl.gov/linux/.
*
* Ipmi-fru 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 2 of the License, or (at your
* option) any later version.
*
* Ipmi-fru 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 Ipmi-fru; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
\*****************************************************************************/
#ifndef _IPMI_FRU_INFORMATION_RECORD_FORMAT_H
#define _IPMI_FRU_INFORMATION_RECORD_FORMAT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <freeipmi/fiid/fiid.h>
/*
* achu:
*
* Not in IPMI spec. In "Platform Management FRU Information Storage
* Definition" document.
*/
#define IPMI_FRU_COMMON_HEADER_FORMAT_VERSION 0x01
#define IPMI_FRU_CHASSIS_INFO_AREA_FORMAT_VERSION 0x01
#define IPMI_FRU_BOARD_INFO_AREA_FORMAT_VERSION 0x01
#define IPMI_FRU_PRODUCT_INFO_AREA_FORMAT_VERSION 0x01
#define IPMI_FRU_MULTIRECORD_AREA_FORMAT_VERSION 0x02
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_POWER_SUPPLY_INFORMATION 0x00
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_DC_OUTPUT 0x01
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_DC_LOAD 0x02
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_MANAGEMENT_ACCESS_RECORD 0x03
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_BASE_COMPATIBILITY_RECORD 0x04
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_EXTENDED_COMPATIBILITY_RECORD 0x05
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_OEM_MIN 0xC0
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_OEM_MAX 0xFF
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_VALID(__multirecord_area_type) \
(((__multirecord_area_type) >= IPMI_FRU_MULTIRECORD_AREA_TYPE_POWER_SUPPLY_INFORMATION \
&& (__multirecord_area_type) <= IPMI_FRU_MULTIRECORD_AREA_TYPE_EXTENDED_COMPATIBILITY_RECORD) ? 1 : 0)
#define IPMI_FRU_MULTIRECORD_AREA_TYPE_IS_OEM(__multirecord_area_type) \
(((__multirecord_area_type) >= IPMI_FRU_MULTIRECORD_AREA_TYPE_OEM_MIN \
&& (__multirecord_area_type) <= IPMI_FRU_MULTIRECORD_AREA_TYPE_OEM_MAX) ? 1 : 0)
#define IPMI_FRU_ONE_PULSE_PER_ROTATION 0x0
#define IPMI_FRU_TWO_PULSES_PER_ROTATION 0x1
#define IPMI_FRU_VOLTAGE_12V 0x0
#define IPMI_FRU_VOLTAGE_MINUS12V 0x1
#define IPMI_FRU_VOLTAGE_5V 0x2
#define IPMI_FRU_VOLTAGE_3_3V 0x3
#define IPMI_FRU_PREDICTIVE_FAIL_PIN_IS_PASS_FAIL 0x0
#define IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_MANAGEMENT_URL 0x01
#define IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_NAME 0x02
#define IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_PING_ADDRESS 0x03
#define IPMI_FRU_SUB_RECORD_TYPE_COMPONENT_MANAGEMENT_URL 0x04
#define IPMI_FRU_SUB_RECORD_TYPE_COMPONENT_NAME 0x05
#define IPMI_FRU_SUB_RECORD_TYPE_COMPONENT_PING_ADDRESS 0x06
#define IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_UNIQUE_ID 0x07
#define IPMI_FRU_SUB_RECORD_TYPE_VALID(__sub_record_type) \
(((__sub_record_type) >= IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_MANAGEMENT_URL \
&& (__sub_record_type) <= IPMI_FRU_SUB_RECORD_TYPE_SYSTEM_UNIQUE_ID) ? 1 : 0)
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_BINARY 0x00
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_BCD 0x01
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_SIXBIT_ASCII 0x02
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_LANGUAGE_CODE 0x03
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_MASK 0xC0
#define IPMI_FRU_TYPE_LENGTH_TYPE_CODE_SHIFT 0x06
#define IPMI_FRU_TYPE_LENGTH_NUMBER_OF_DATA_BYTES_MASK 0x3F
#define IPMI_FRU_BCD_DIGIT_MIN 0x0
#define IPMI_FRU_BCD_DIGIT_MAX 0x9
#define IPMI_FRU_BCD_SPACE 0xA
#define IPMI_FRU_BCD_DASH 0xB
#define IPMI_FRU_BCD_PERIOD 0xC
#define IPMI_FRU_SENTINEL_VALUE 0xC1
/*
* see freeipmi/templates/ for template definitions
*/
extern fiid_template_t tmpl_fru_common_header;
extern fiid_template_t tmpl_fru_info_area_header;
extern fiid_template_t tmpl_fru_multirecord_area_header;
extern fiid_template_t tmpl_fru_power_supply_information;
extern fiid_template_t tmpl_fru_dc_output;
extern fiid_template_t tmpl_fru_dc_load;
extern fiid_template_t tmpl_fru_management_access_record;
extern fiid_template_t tmpl_fru_base_compatibility_record;
extern fiid_template_t tmpl_fru_extended_compatibility_record;
extern fiid_template_t tmpl_fru_oem_record;
#ifdef __cplusplus
}
#endif
#endif /* _IPMI_FRU_INFORMATION_RECORD_FORMAT_H */
|