]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/IndustryStandard/IpmiNetFnStorage.h
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / IpmiNetFnStorage.h
index fe5ed38179a9fa59e7d75e4c497d4b02591ee8e0..655fd23d15e91f76ff5a5796d7646f2f903dc174 100644 (file)
   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
@@ -121,20 +115,27 @@ typedef struct {
 //\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
@@ -167,125 +168,179 @@ typedef struct {
 //\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