/* Get/Free handles */ ham_entity_t *ham_entity_handle(int nd, const char *ename, unsigned flags); ham_condition_t *ham_condition_handle(int nd, const char *ename, const char *cname, unsigned flags); ham_action_t *ham_action_handle(int nd, const char *ename, const char *cname, const char *aname, unsigned flags); ham_entity_t *ham_entity_handle_node(const char *nodename, const char *ename, unsigned flags); ham_condition_t *ham_condition_handle_node(const char * nodename, const char *ename, const char *cname, unsigned flags); ham_action_t *ham_action_handle_node(const char * nodename, const char *ename, const char *cname, const char *aname, unsigned flags); int ham_entity_handle_free(ham_entity_t *ehdl); int ham_condition_handle_free(ham_condition_t *chdl); int ham_action_handle_free(ham_action_t *ahdl);
You use the handle functions to get/free handles based on entity, condition, and action names. You can then use these handles later to add or remove conditions and actions. As for all the other functions the *_node*() variations are used to refer to a HAM that is not necessarily local, using a fully qualified node name (FQNN).