udi_devmgmt_ack(3udi)


Acknowledge a device management request

SYNOPSIS

#include <udi.h>

void udi_devmgmt_ack {

	udi_mgmt_cb_t *cb,

	udi_ubit8_t flags,

	udi_status_t status }
 
/* Values for flags */
 
#define  UDI_DMGMT_NONTRANSPARENT				(1U<<0)
 
/* Meta-Specific Status Codes */
 
#define UDI_DMGMT_STAT_ROUTING_CHANGE (UDI_STAT_META_SPECIFIC|1)

ARGUMENTS cb is a pointer to a miscellaneous Management Metalanguage control block.

status indicates the success or failure of the operation.

TARGET CHANNEL The parent driver's primary region management channel.

DESCRIPTION The udi_devmgmt_ack channel operation is used in response to a udi_devmgmt_req channel operation and provides information about a device management function requested of an instance.

The flags argument may include:

UDI_DMGMT_NONTRANSPARENT - Indicates that the requested UDI_DMGMT_PREPARE_TO_SUSPEND or UDI_DMGMT_SUSPEND operation has been complied with. The instance is also indicating that it does not support transparent resume.

STATUS VALUES UDI_OK - Indicates that the device management operation was handled successfully by the driver and that no exceptions are indicated.

UDI_STAT_NOT_SUPPORTED - Indicates that the instance has failed the UDI_DMGMT_PREPARE_TO_SUSPEND, UDI_DMGMT_SUSPEND, or UDI_DMGMT_SHUTDOWN request, because it does not maintain sufficient state to be able to suspend.

UDI_STAT_INVALID_STATE - Indicates that the instance has failed the UDI_DMGMT_PREPARE_TO_SUSPEND, UDI_DMGMT_SUSPEND, or UDI_DMGMT_SHUTDOWN request because its hardware, configuration state, coding level, etc, do not allow it to be suspended at this time.

UDI_DMGMT_STAT_ROUTING_CHANGE - Indicates that the instance has failed the UDI_DMGMT_SUSPEND or UDI_DMGMT_SHUTDOWN request. The instance is indicating that the set of children related to the indicated parent has changed since it was last enumerated. The MA is to re-enumerate and resume the operation. Drivers that do not support multiple parents need not check for this condition and must not use this status code.

warnings The control block must be the same control block as passed to the driver in the corresponding udi_devmgmt_req operation.

REFERENCES udi_devmgmt_req, udi_devmgmt_cb_t


UDI Core Specification Contents