Caution: This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs.

ham_detach_self()

Detach a self-attached entity from the HAM

Synopsis:

#include <ha/ham.h>

int ham_detach_self( ham_entity_t *ehdl
                     unsigned flags );

Library:

libham

Description:

This function detaches a self-attached entity from the HAM. The entity being detached must be a self-attached entity.

The handle passed into this function (ehdl) is either returned by a previous ham_attach_self() call or obtained from ham_entity_handle().

There are no flags defined at this time.

This function automatically calls ham_connect() and ham_disconnect() for the client.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EBADF
Error connecting to the HAM.
EINVAL
The handle passed as an argument is invalid.
ENOENT
There is no entity corresponding to the handle supplied.

In addition to the above errors, the HAM returns any error it encounters while servicing the request to remove the entity from its context.

Classification:

QNX Neutrino

Safety:
Cancellation point No
Interrupt handler No
Signal handler No
Thread Yes

See also:

ham_attach(), ham_attach_self(), ham_connect(), ham_detach(), ham_detach_name(), ham_disconnect()