and Appendix H, Sub-function Assignments.\r
\r
Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>\r
- This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
-\r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
**/\r
\r
#ifndef _IPMI_NET_FN_STORAGE_H_\r
//\r
// Constants and Structure definitions for "Get SDR Repository Info" command to follow here\r
//\r
+typedef union {\r
+ struct {\r
+ UINT8 SdrRepAllocInfoCmd : 1;\r
+ UINT8 SdrRepReserveCmd : 1;\r
+ UINT8 PartialAddSdrCmd : 1;\r
+ UINT8 DeleteSdrRepCmd : 1;\r
+ UINT8 Reserved : 1;\r
+ UINT8 SdrRepUpdateOp : 2;\r
+ UINT8 Overflow : 1;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_OPERATION_SUPPORT;\r
+\r
typedef struct {\r
- UINT8 CompletionCode;\r
- UINT8 Version;\r
- UINT16 RecordCount;\r
- UINT16 FreeSpace;\r
- UINT32 RecentAdditionTimeStamp;\r
- UINT32 RecentEraseTimeStamp;\r
- UINT8 SdrRepAllocInfoCmd : 1;\r
- UINT8 SdrRepReserveCmd : 1;\r
- UINT8 PartialAddSdrCmd : 1;\r
- UINT8 DeleteSdrRepCmd : 1;\r
- UINT8 Reserved : 1;\r
- UINT8 SdrRepUpdateOp : 2;\r
- UINT8 Overflow : 1;\r
+ UINT8 CompletionCode;\r
+ UINT8 Version;\r
+ UINT16 RecordCount;\r
+ UINT16 FreeSpace;\r
+ UINT32 RecentAdditionTimeStamp;\r
+ UINT32 RecentEraseTimeStamp;\r
+ IPMI_SDR_OPERATION_SUPPORT OperationSupport;\r
} IPMI_GET_SDR_REPOSITORY_INFO_RESPONSE;\r
\r
//\r
//\r
// Constants and Structure definitions for "Get SDR" command to follow here\r
//\r
+typedef union {\r
+ struct {\r
+ UINT8 EventScanningEnabled : 1;\r
+ UINT8 EventScanningDisabled : 1;\r
+ UINT8 InitSensorType : 1;\r
+ UINT8 InitHysteresis : 1;\r
+ UINT8 InitThresholds : 1;\r
+ UINT8 InitEvent : 1;\r
+ UINT8 InitScanning : 1;\r
+ UINT8 SettableSensor : 1;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_SENSOR_INIT;\r
\r
-typedef struct {\r
- UINT16 RecordId; // 1\r
- UINT8 Version; // 3\r
- UINT8 RecordType; // 4\r
- UINT8 RecordLength; // 5\r
- UINT8 OwnerId; // 6\r
- UINT8 OwnerLun; // 7\r
- UINT8 SensorNumber; // 8\r
- UINT8 EntityId; // 9\r
- UINT8 EntityInstance; // 10\r
- UINT8 EventScanningEnabled : 1; // 11\r
- UINT8 EventScanningDisabled : 1; // 11\r
- UINT8 InitSensorType : 1; // 11\r
- UINT8 InitHysteresis : 1; // 11\r
- UINT8 InitThresholds : 1; // 11\r
- UINT8 InitEvent : 1; // 11\r
- UINT8 InitScanning : 1; // 11\r
- UINT8 Reserved : 1; // 11\r
- UINT8 EventMessageControl : 2; // 12\r
- UINT8 ThresholdAccessSupport : 2; // 12\r
- UINT8 HysteresisSupport : 2; // 12\r
- UINT8 ReArmSupport : 1; // 12\r
- UINT8 IgnoreSensor : 1; // 12\r
- UINT8 SensorType; // 13\r
- UINT8 EventType; // 14\r
- UINT8 Reserved1[7]; // 15\r
- UINT8 UnitType; // 22\r
- UINT8 Reserved2; // 23\r
- UINT8 Linearization : 7; // 24\r
- UINT8 Reserved3 : 1; // 24\r
- UINT8 MLo; // 25\r
- UINT8 Toleremce : 6; // 26\r
- UINT8 MHi : 2; // 26\r
- UINT8 BLo; // 27\r
- UINT8 AccuracyLow : 6; // 28\r
- UINT8 BHi : 2; // 28\r
- UINT8 Reserved4 : 2; // 29\r
- UINT8 AccuracyExp : 2; // 29\r
- UINT8 AccuracyHi : 4; // 29\r
- UINT8 BExp : 4; // 30\r
- UINT8 RExp : 4; // 30\r
- UINT8 NominalReadingSpscified : 1; // 31\r
- UINT8 NominalMaxSpscified : 1; // 31\r
- UINT8 NominalMinSpscified : 1; // 31\r
- UINT8 Reserved5 : 5; // 31\r
- UINT8 NominalReading; // 32\r
- UINT8 Reserved6[4]; // 33\r
- UINT8 UpperNonRecoverThreshold; // 37\r
- UINT8 UpperCriticalThreshold; // 38\r
- UINT8 UpperNonCriticalThreshold; // 39\r
- UINT8 LowerNonRecoverThreshold; // 40\r
- UINT8 LowerCriticalThreshold; // 41\r
- UINT8 LowerNonCriticalThreshold; // 42\r
- UINT8 Reserved7[5]; // 43\r
- UINT8 IdStringLength; // 48\r
- UINT8 AsciiIdString[16]; // 49 - 64\r
+typedef union {\r
+ struct {\r
+ UINT8 EventMessageControl : 2;\r
+ UINT8 ThresholdAccessSupport : 2;\r
+ UINT8 HysteresisSupport : 2;\r
+ UINT8 ReArmSupport : 1;\r
+ UINT8 IgnoreSensor : 1;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_SENSOR_CAP;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 Linearization : 7;\r
+ UINT8 Reserved : 1;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_LINEARIZATION;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 Toleremce : 6;\r
+ UINT8 MHi : 2;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_M_TOLERANCE;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 AccuracyLow : 6;\r
+ UINT8 BHi : 2;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_B_ACCURACY;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 Reserved : 2;\r
+ UINT8 AccuracyExp : 2;\r
+ UINT8 AccuracyHi : 4;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_ACCURACY_SENSOR_DIR;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 BExp : 4;\r
+ UINT8 RExp : 4;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_R_EXP_B_EXP;\r
+\r
+typedef union {\r
+ struct {\r
+ UINT8 NominalReadingSpscified : 1;\r
+ UINT8 NominalMaxSpscified : 1;\r
+ UINT8 NominalMinSpscified : 1;\r
+ UINT8 Reserved : 5;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_ANALOG_FLAGS;\r
+\r
+typedef struct {\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ UINT8 OwnerId; // 6\r
+ UINT8 OwnerLun; // 7\r
+ UINT8 SensorNumber; // 8\r
+ UINT8 EntityId; // 9\r
+ UINT8 EntityInstance; // 10\r
+ IPMI_SDR_RECORD_SENSOR_INIT SensorInitialization; // 11\r
+ IPMI_SDR_RECORD_SENSOR_CAP SensorCapabilities; // 12\r
+ UINT8 SensorType; // 13\r
+ UINT8 EventType; // 14\r
+ UINT8 Reserved1[7]; // 15\r
+ UINT8 UnitType; // 22\r
+ UINT8 Reserved2; // 23\r
+ IPMI_SDR_RECORD_LINEARIZATION Linearization; // 24\r
+ UINT8 MLo; // 25\r
+ IPMI_SDR_RECORD_M_TOLERANCE MHiTolerance; // 26\r
+ UINT8 BLo; // 27\r
+ IPMI_SDR_RECORD_B_ACCURACY BHiAccuracyLo; // 28\r
+ IPMI_SDR_RECORD_ACCURACY_SENSOR_DIR AccuracySensorDirection; // 29\r
+ IPMI_SDR_RECORD_R_EXP_B_EXP RExpBExp; // 30\r
+ IPMI_SDR_RECORD_ANALOG_FLAGS AnalogFlags; // 31\r
+ UINT8 NominalReading; // 32\r
+ UINT8 Reserved3[4]; // 33\r
+ UINT8 UpperNonRecoverThreshold; // 37\r
+ UINT8 UpperCriticalThreshold; // 38\r
+ UINT8 UpperNonCriticalThreshold; // 39\r
+ UINT8 LowerNonRecoverThreshold; // 40\r
+ UINT8 LowerCriticalThreshold; // 41\r
+ UINT8 LowerNonCriticalThreshold; // 42\r
+ UINT8 Reserved4[5]; // 43\r
+ UINT8 IdStringLength; // 48\r
+ UINT8 AsciiIdString[16]; // 49 - 64\r
} IPMI_SDR_RECORD_STRUCT_1;\r
\r
typedef struct {\r
- UINT16 RecordId; // 1\r
- UINT8 Version; // 3\r
- UINT8 RecordType; // 4\r
- UINT8 RecordLength; // 5\r
- UINT8 OwnerId; // 6\r
- UINT8 OwnerLun; // 7\r
- UINT8 SensorNumber; // 8\r
- UINT8 EntityId; // 9\r
- UINT8 EntityInstance; // 10\r
- UINT8 SensorScanning : 1; // 11\r
- UINT8 EventScanning : 1; // 11\r
- UINT8 InitSensorType : 1; // 11\r
- UINT8 InitHysteresis : 1; // 11\r
- UINT8 InitThresholds : 1; // 11\r
- UINT8 InitEvent : 1; // 11\r
- UINT8 InitScanning : 1; // 11\r
- UINT8 Reserved : 1; // 11\r
- UINT8 EventMessageControl : 2; // 12\r
- UINT8 ThresholdAccessSupport : 2; // 12\r
- UINT8 HysteresisSupport : 2; // 12\r
- UINT8 ReArmSupport : 1; // 12\r
- UINT8 IgnoreSensor : 1; // 12\r
- UINT8 SensorType; // 13\r
- UINT8 EventType; // 14\r
- UINT8 Reserved1[7]; // 15\r
- UINT8 UnitType; // 22\r
- UINT8 Reserved2[9]; // 23\r
- UINT8 IdStringLength; // 32\r
- UINT8 AsciiIdString[16]; // 33 - 48\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ UINT8 OwnerId; // 6\r
+ UINT8 OwnerLun; // 7\r
+ UINT8 SensorNumber; // 8\r
+ UINT8 EntityId; // 9\r
+ UINT8 EntityInstance; // 10\r
+ IPMI_SDR_RECORD_SENSOR_INIT SensorInitialization; // 11\r
+ IPMI_SDR_RECORD_SENSOR_CAP SensorCapabilities; // 12\r
+ UINT8 SensorType; // 13\r
+ UINT8 EventType; // 14\r
+ UINT8 Reserved1[7]; // 15\r
+ UINT8 UnitType; // 22\r
+ UINT8 Reserved2[9]; // 23\r
+ UINT8 IdStringLength; // 32\r
+ UINT8 AsciiIdString[16]; // 33 - 48\r
} IPMI_SDR_RECORD_STRUCT_2;\r
\r
-typedef struct {\r
- UINT8 Reserved1 : 1;\r
- UINT8 ControllerSlaveAddress : 7;\r
- UINT8 FruDeviceId;\r
- UINT8 BusId : 3;\r
- UINT8 Lun : 2;\r
- UINT8 Reserved : 2;\r
- UINT8 LogicalFruDevice : 1;\r
- UINT8 Reserved3 : 4;\r
- UINT8 ChannelNumber : 4;\r
+typedef union {\r
+ struct {\r
+ UINT8 Reserved1 : 1;\r
+ UINT8 ControllerSlaveAddress : 7;\r
+ UINT8 FruDeviceId;\r
+ UINT8 BusId : 3;\r
+ UINT8 Lun : 2;\r
+ UINT8 Reserved2 : 2;\r
+ UINT8 LogicalFruDevice : 1;\r
+ UINT8 Reserved3 : 4;\r
+ UINT8 ChannelNumber : 4;\r
+ } Bits;\r
+ UINT32 Uint32;\r
} IPMI_FRU_DATA_INFO;\r
\r
-typedef struct {\r
- UINT16 RecordId; // 1\r
- UINT8 Version; // 3\r
- UINT8 RecordType; // 4\r
- UINT8 RecordLength; // 5\r
- IPMI_FRU_DATA_INFO FruDeviceData; // 6\r
- UINT8 Reserved1; // 10\r
- UINT8 DeviceType; // 11\r
- UINT8 DeviceTypeModifier; // 12\r
- UINT8 FruEntityId; // 13\r
- UINT8 FruEntityInstance; // 14\r
- UINT8 OemReserved; // 15\r
- UINT8 Length : 4; // 16\r
- UINT8 Reserved2 : 1; // 16\r
- UINT8 StringType : 3; // 16\r
- UINT8 String[16]; // 17\r
+typedef union {\r
+ struct {\r
+ UINT8 Length : 4;\r
+ UINT8 Reserved : 1;\r
+ UINT8 StringType : 3;\r
+ } Bits;\r
+ UINT8 Uint8;\r
+} IPMI_SDR_RECORD_DEV_ID_STR_TYPE_LENGTH;\r
+\r
+typedef struct {\r
+ UINT16 RecordId; // 1\r
+ UINT8 Version; // 3\r
+ UINT8 RecordType; // 4\r
+ UINT8 RecordLength; // 5\r
+ IPMI_FRU_DATA_INFO FruDeviceData; // 6\r
+ UINT8 Reserved; // 10\r
+ UINT8 DeviceType; // 11\r
+ UINT8 DeviceTypeModifier; // 12\r
+ UINT8 FruEntityId; // 13\r
+ UINT8 FruEntityInstance; // 14\r
+ UINT8 OemReserved; // 15\r
+ IPMI_SDR_RECORD_DEV_ID_STR_TYPE_LENGTH StringTypeLength; // 16\r
+ UINT8 String[16]; // 17\r
} IPMI_SDR_RECORD_STRUCT_11;\r
\r
typedef struct {\r