Action fail functions

/* action fail operations          */
int ham_action_fail_execute(ham_action_t *ahdl, const char *aname, 
    const char *path, unsigned flags);
int ham_action_fail_waitfor(ham_action_t *ahdl, const char *aname, 
    const char *path, int delay, unsigned flags);
int ham_action_fail_notify_pulse(ham_action_t *ahdl, const char *aname, 
    int nd, int topid, int chid, int pulsecode, int value, unsigned flags);
int ham_action_fail_notify_signal(ham_action_t *ahdl, const char *aname, 
    int nd, pid_t topid, int signum, int code, int value, unsigned flags);
int ham_action_fail_notify_pulse_node(ham_action_t *ahdl, const char *aname, 
    const char *nodename, int topid, int chid, int pulsecode, int value, 
    unsigned flags);
int ham_action_fail_notify_signal_node(ham_action_t *ahdl, const char *aname, 
    const char *nodename, pid_t topid, int signum, int code, int value, 
    unsigned flags);
int ham_action_fail_log(ham_action_t *ahdl, const char *aname, 
    const char *message, unsigned attachprefix, int verbosity, unsigned flags);

/* remove an action fail operation */
int ham_action_fail_remove(ham_action_t *ahdl, const char *aname, 
    unsigned flags);

These actions are used to associate a list of actions that will be executed when an action in a condition fails. These functions are similar to the corresponding action functions described in the previous section, the primary difference being the first parameter, which in the case of these functions is a handle to an action (as opposed to a handle to a condition).