+/*! @struct IOPMSystemCapabilityChangeParameters
+ @abstract A structure describing a system capability change.
+ @discussion A system capability change is a system level transition from a set
+ of system capabilities to a new set of system capabilities. Power management
+ sends a <code>kIOMessageSystemCapabilityChange</code> message and provides
+ this structure as the message data (by reference) to
+ <code>gIOPriorityPowerStateInterest</code> clients when system capability
+ changes.
+ @field notifyRef An identifier for this message notification. Clients with pending
+ I/O can signal completion by calling <code>allowPowerChange()</code> with this
+ value as the argument. Clients that are able to process the notification
+ synchronously should ignore this field.
+ @field maxWaitForReply A return value to the caller indicating the maximum time in
+ microseconds to wait for the <code>allowPowerChange()</code> call. The default
+ value is zero, which indicates the client processing has finished, and power
+ management should not wait for an <code>allowPowerChange()</code> call.
+ @field changeFlags Flags will be set to indicate whether the notification precedes
+ the capability change (<code>kIOPMSystemCapabilityWillChange</code>), or after
+ the capability change has occurred (<code>kIOPMSystemCapabilityDidChange</code>).
+ @field __reserved1 Set to zero.
+ @field fromCapabilities The system capabilities at the start of the transition.
+ @field toCapabilities The system capabilities at the end of the transition.
+ @field __reserved2 Set to zero.
+ */
+struct IOPMSystemCapabilityChangeParameters {
+ uint32_t notifyRef;
+ uint32_t maxWaitForReply;
+ uint32_t changeFlags;
+ uint32_t __reserved1;
+ uint32_t fromCapabilities;
+ uint32_t toCapabilities;
+ uint32_t __reserved2[4];
+};