// usbctypes.h
typedef union _USBC_PD_REQUEST_DATA_OBJECT {
UINT32 U;
struct {
UINT32 Reserved1 : 28;
UINT32 ObjectPosition : 3;
UINT32 Reserved2 : 1;
} Common;
struct {
UINT32 MaximumOperatingCurrentIn10mA : 10;
UINT32 OperatingCurrentIn10mA : 10;
UINT32 Reserved1 : 6;
UINT32 CapabilityMismatch : 1;
UINT32 GiveBackFlag : 1;
UINT32 ObjectPosition : 3;
UINT32 Reserved2 : 1;
} FixedAndVariableRdo;
struct {
UINT32 MaximumOperatingPowerIn250mW : 10;
UINT32 OperatingPowerIn250mW : 10;
UINT32 Reserved1 : 6;
UINT32 CapabilityMismatch : 1;
UINT32 GiveBackFlag : 1;
UINT32 ObjectPosition : 3;
UINT32 Reserved2 : 1;
} BatteryRdo;
struct {
UINT32 OperatingCurrentIn50mA : 7;
UINT32 Reserved1 : 2;
UINT32 OutputVoltageIn20mV : 11;
UINT32 Reserved2 : 3;
UINT32 UnchunkedExtendedMessagesSupported : 1;
UINT32 Reserved3 : 2;
UINT32 CapabilityMismatch : 1;
UINT32 Reserved4 : 1;
UINT32 ObjectPosition : 3;
UINT32 Reserved5 : 1;
} ProgrammableRdo;
} USBC_PD_REQUEST_DATA_OBJECT, *PUSBC_PD_REQUEST_DATA_OBJECT;
View the official Windows Driver Kit DDI referenceNo description available.
Describes a request data object (RDO). For information about these members, see the Power Delivery specification.
USize of the structure.
CommonCommon.Reserved1Reserved, do not use.
Common.ObjectPositionObject position.
Common.Reserved2Reserved, do not use.
FixedAndVariableRdoContains bit fields describing a request data object.
FixedAndVariableRdo.MaximumOperatingCurrentIn10mAMaximum current in 10 mA units.
FixedAndVariableRdo.OperatingCurrentIn10mAOperating current in 10 mA units.
FixedAndVariableRdo.Reserved1Reserved, do not use.
FixedAndVariableRdo.CapabilityMismatchCapability mismatch
FixedAndVariableRdo.GiveBackFlagGiveback flag.
FixedAndVariableRdo.ObjectPositionObject position.
FixedAndVariableRdo.Reserved2Reserved, do not use.
BatteryRdoContains bit fields describing a request data object.
BatteryRdo.MaximumOperatingPowerIn250mWMaximum operating power in 250 mW units.
BatteryRdo.OperatingPowerIn250mWOperating power in 250 mW units.
BatteryRdo.Reserved1Reserved, do not use.
BatteryRdo.CapabilityMismatchCapability mismatch.
BatteryRdo.GiveBackFlagGiveback flag.
BatteryRdo.ObjectPositionObject position.
BatteryRdo.Reserved2Reserved, do not use.
ProgrammableRdoDescribes a programmable request data object.
ProgrammableRdo.OperatingCurrentIn50mAOperating current in 50 mA units.
ProgrammableRdo.Reserved1Reserved, do not use.
ProgrammableRdo.OutputVoltageIn20mVOutput voltage in 20 mV units.
ProgrammableRdo.Reserved2Reserved, do not use.
ProgrammableRdo.UnchunkedExtendedMessagesSupportedSupports unchunked extended messages.
ProgrammableRdo.Reserved3Reserved, do not use.
ProgrammableRdo.CapabilityMismatchCapability mismatch.
ProgrammableRdo.Reserved4Reserved, do not use.
ProgrammableRdo.ObjectPositionObject position.
ProgrammableRdo.Reserved5Reserved, do not use.