NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO
#include <ddm/ddm.h>KnError svDdmOpen(DdmDevHandler handler);
The function or functions documented here may not be used safely in all application contexts with all APIs provided in the ChorusOS 5.0 product.
See API(5FEA) for details.
DDM
The svDdmOpen() call enables a client to open a connection to the device driver manager and obtain access to the management of the current device driver instances.
The handler parameter specifies a function provided by the client that will be called each time an event occurs on one of the manageable devices. The prototype of this function is the following:
void handler(DevNode node, DevDdmEvent event);
where:
Is a pointer to a manageable device node. The client should manage its own list of available nodes. This node pointer is used by other DDM related calls.
Describes the event that occurred on the device. This may be any one of the following:
The node has been removed from the DDM device trees and should therefore no longer be referenced.
The node has been set to offline which means that a diagnostic driver is running and ready to run diagnostics.
The node has been set to online which means that the normal default driver is running.
There is no driver initially running for this node. This event is only reported at connection time (when the DDM calls this function) for already existing, but inactive nodes. This means that if at a later date you shut down a device by calling svDdmShutdown() you will not be notified of an inactive event. This is due to the asynchorous nature of the shutdown operation. An active driver only shuts down when all its clients close their connection which could happen at any time (if at all). There is no way of knowing when this finally happens so the DDM client must poll the status of the device by calling svDdmGetState() as described in the svDdmShutdown(2K) man page.
The handler is called immediately, before svDdmOpen() returns, for each currently available manageable device.
Upon successful completion K_OK is returned. Otherwise, a negative error code is returned.
A connection to the DDM is already open.
The system is out of resources. This indicates a severe system error.
One of the manageable devices could not be opened properly.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
---|---|
Interface Stability | Evolving |
svDdmClose(2K), svDdmGetState(2K), svDdmEnable(2K), svDdmDisable(2K), svDdmShutdown(2K), svDdmOffline(2K), svDdmOnline(2K), svDdmGetStats(2K), svDdmAudit(2K), svDdmDiag(2K), svDdmGetInfo(2K), DDM(5FEA)
NAME | SYNOPSIS | API RESTRICTIONS | FEATURES | DESCRIPTION | RETURN VALUES | ERRORS | ATTRIBUTES | SEE ALSO