Class GetDeviceIdResponseData
java.lang.Object
org.metricshub.ipmi.core.coding.commands.app.GetDeviceIdResponseData
- All Implemented Interfaces:
ResponseData
Wrapper for the Get Device ID response (IPMI 2.0 table 20-2): the device ID and revision, the firmware revision,
the IPMI version, the functions the device provides, the manufacturer and product IDs and the optional auxiliary
firmware revision.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe length of the response data with the auxiliary firmware revision.static final intThe length of the response data without the auxiliary firmware revision. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbytebyte[]intintintintintintbooleanboolean
-
Field Details
-
MINIMUM_LENGTH
public static final int MINIMUM_LENGTHThe length of the response data without the auxiliary firmware revision.- See Also:
-
LENGTH_WITH_AUXILIARY_REVISION
public static final int LENGTH_WITH_AUXILIARY_REVISIONThe length of the response data with the auxiliary firmware revision.- See Also:
-
-
Constructor Details
-
GetDeviceIdResponseData
public GetDeviceIdResponseData(byte[] responseData) Decodes the response data.- Parameters:
responseData- the response data bytes, after the completion code- Throws:
IllegalArgumentException- when they are shorter thanMINIMUM_LENGTH
-
-
Method Details
-
getDeviceId
public int getDeviceId()- Returns:
- the device ID (byte 1), 00h when unspecified
-
getDeviceRevision
public int getDeviceRevision()- Returns:
- the device revision (byte 2, bits 3:0)
-
providesDeviceSdrs
public boolean providesDeviceSdrs()- Returns:
- true when the device provides Device SDRs (byte 2, bit 7)
-
isDeviceAvailable
public boolean isDeviceAvailable()- Returns:
- true when the device is in normal operation, false when a firmware or SDR repository update is in progress (byte 3, bit 7)
-
getMajorFirmwareRevision
public int getMajorFirmwareRevision()- Returns:
- the major firmware revision (byte 3, bits 6:0, binary)
-
getMinorFirmwareRevision
public int getMinorFirmwareRevision()- Returns:
- the minor firmware revision byte (byte 4), BCD encoded by the specification:
44hfor .44
-
getFirmwareRevision
- Returns:
- the firmware revision as
ipmitoolprints it: the major revision, a dot and the two BCD digits of the minor revision (1.44,2.05)
-
getIpmiVersion
- Returns:
- the IPMI version the device implements, from the BCD byte 5 (
2.0,1.5)
-
getAdditionalDeviceSupport
public byte getAdditionalDeviceSupport()- Returns:
- the additional device support byte (byte 6): bit 0 sensor device, 1 SDR repository device, 2 SEL device, 3 FRU inventory device, 4 IPMB event receiver, 5 IPMB event generator, 6 bridge, 7 chassis device
-
getManufacturerId
public int getManufacturerId()- Returns:
- the manufacturer ID (bytes 7 to 9, 20 bits), the IANA enterprise number of the manufacturer; 0 when
unspecified,
0FFFFFhwhen reserved
-
getProductId
public int getProductId()- Returns:
- the product ID (bytes 10 and 11), as the manufacturer numbers its products
-
getAuxiliaryFirmwareRevision
public byte[] getAuxiliaryFirmwareRevision()- Returns:
- the auxiliary firmware revision information (bytes 12 to 15), whose meaning the manufacturer defines; empty when the device does not send it
-