ham_entity_condition_state()

Used by an entity to notify the HAM of a state transition

Synopsis:

#include <ha/ham.h>

int ham_entity_condition_state(
                         ham_entity_t *ehdl,
                         unsigned tostate,
                         unsigned flags );

Library:

libham

Description:

This function enables an entity to report a transition to the HAM; the value tostate indicates the transitional state. The HAM in turn triggers a condition state event for this entity, and will search for matching subscribers for this event and execute all associated actions. For more details of the matching mechanisms refer to the API documentation for ham_condition_state().

Returns:

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

Errors:

EBADF
Couldn't connect to the HAM.
EINVAL
The handle specified in ehdl is invalid.

The connection to the HAM is invalid. This happens when the process that opened the connection (using ham_connect()) and the process that's calling this function are not the same.

ENOENT
There's no entity by the given handle (ehdl).

In addition to the above errors, the HAM returns any error it encounters while servicing this request.

Classification:

QNX Neutrino

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

See also:

ham_condition(), ham_condition_raise(), ham_condition_state(), ham_attach() ham_attach_self() ham_entity() ham_entity_control() ham_entity_handle() ham_entity_handle_free() ham_entity_node()