The basic mechanism to talk to HAM is to use its API. This API is implemented as a library that you can link against. The library is thread-safe as well as cancellation-safe.
To control exactly what/how you're monitoring, the HAM API provides a collection of functions, including:
Function | Description |
---|---|
ham_action_control() | Perform control operations on an action object. |
ham_action_execute() | Add an execute action to a condition. |
ham_action_fail_execute() | Add to an action an execute action that will be executed if the corresponding action fails. |
ham_action_fail_log() | Insert a log message into the activity log. |
ham_action_fail_notify_pulse() | Add to an action a notify pulse action that will be executed if the corresponding action fails. |
ham_action_fail_notify_pulse_node() | Add to an action a node-specific notify pulse action that will be executed if the corresponding action fails. |
ham_action_fail_notify_signal() | Add to an action a notify signal action that will be executed if the corresponding action fails. |
ham_action_fail_notify_signal_node() | Add to an action a node-specific notify signal action that will be executed if the corresponding action fails. |
ham_action_fail_waitfor() | Add to an action a waitfor action that will be executed if the corresponding action fails. |
ham_action_handle() | Get a handle to an action in a condition in an entity. |
ham_action_handle_node() | Get a handle to an action in a condition in an entity, using a nodename. |
ham_action_handle_free() | Free a previously obtained handle to an action in a condition in an entity. |
ham_action_heartbeat_healthy() | Reset a heartbeat's state to healthy. |
ham_action_log() | Insert a log message into the activity log. |
ham_action_notify_pulse() | Add a notify-pulse action to a condition. |
ham_action_notify_pulse_node() | Add a notify-pulse action to a condition, using a nodename. |
ham_action_notify_signal() | Add a notify-signal action to a condition. |
ham_action_notify_signal_node() | Add a notify-signal action to a condition, using a nodename. |
ham_action_remove() | Remove an action from a condition. |
ham_action_restart() | Add a restart action to a condition. |
ham_action_waitfor() | Add a waitfor action to a condition. |
ham_attach() | Attach an entity. |
ham_attach_node() | Attach an entity, using a nodename. |
ham_attach_self() | Attach an application as a self-attached entity. |
ham_condition() | Set up a condition to be triggered when a certain event occurs. |
ham_condition_control() | Perform control operations on a condition object. |
ham_condition_handle() | Get a handle to a condition in an entity. |
ham_condition_handle_node() | Get a handle to a condition in an entity, using a nodename. |
ham_condition_handle_free() | Free a previously obtained handle to a condition in an entity. |
ham_condition_raise() | Attach a condition associated with a condition raise condition that's triggered by an entity raising a condition. |
ham_condition_remove() | Remove a condition from an entity. |
ham_condition_state() | Attach a condition associated with a state transition condition that's triggered by an entity reporting a state change. |
ham_connect() | Connect to a HAM. |
ham_connect_nd() | Connect to a remote HAM. |
ham_connect_node() | Connect to a remote HAM, using a nodename. |
ham_detach() | Detach an entity from a HAM. |
ham_detach_name() | Detach an entity from a HAM, using an entity name. |
ham_detach_name_node() | Detach an entity from a HAM, using an entity name and a nodename. |
ham_detach_self() | Detach a self-attached entity from a HAM. |
ham_disconnect() | Disconnect from a HAM. |
ham_disconnect_nd() | Disconnect from a remote HAM. |
ham_disconnect_node() | Disconnect from a remote HAM, using a nodename. |
ham_entity() | Create entity placeholder objects in a HAM. |
ham_entity_condition_raise() | Raise a condition. |
ham_entity_condition_state() | Notify the HAM of a state transition. |
ham_entity_control() | Perform control operations on an entity object in a HAM. |
ham_entity_handle() | Get a handle to an entity. |
ham_entity_handle_node() | Get a handle to an entity, using a nodename. |
ham_entity_handle_free() | Free a previously obtained handle to an entity. |
ham_entity_node() | Create entity placeholder objects in a HAM, using a nodename. |
ham_heartbeat() | Send a heartbeat to a HAM. |
ham_stop() | Stop a HAM. |
ham_stop_nd() | Stop a remote HAM. |
ham_stop_node() | Stop a remote HAM, using a nodename. |
ham_verbose() | Modify the verbosity of a HAM. |