ham_action_fail_log()

Insert a log message into the activity log of a HAM

Synopsis:

#include <ha/ham.h>

int ham_action_fail_log(
                 ham_action_t *ahdl,
                 const char *aname, 
                 const char *msg, 
                 unsigned attachprefix,
                 int verbosity,
                 unsigned flags);


Arguments:

ahdl
The HAM action handle.
aname
The name of the action.
msg
The message to be inserted into the activity log stream.
attachprefix
The prefix to add to the message. No prefix will be added if attachprefix equals zero.
verbosity
The action's verbosity that will be compared with the verbosity of the HAM. The inserted message will be generated if the verbosity of the HAM is greater than or equal to the value specified in verbosity.
flags
The associated condition that, when it fails, will execute the action.

Library:

libham

Description:

You can use the ham_action_fail_log() function to insert log messages into the activity log stream that a HAM maintains. This action is executed when the corresponding action that it is associated with fails.

The handle (ahdl) is obtained either:

The log message to be inserted is specified by msg, and will be generated if the verbosity of the HAM is greater than or equal to the value specified in verbosity. Also, if attachprefix is non-zero, a prefix will be added to the log message that contains the current entity/condition/action that this message is related to.

Returns:

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

Errors:

EBADF
Couldn't connect to the HAM.
EINVAL
The name given in aname is invalid (e.g., it contains the / character) or is NULL.

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 ham_action_restart() aren't the same.

ENAMETOOLONG
The name given (in aname) is too long, i.e. it exceeds _POSIX_PATH_MAX (defined in <limits.h>). Note that the combined length of an entity/condition/action name is also limited by _POSIX_PATH_MAX.
ENOENT
There's no entity or condition specified by the given handle (ahdl).
ENOMEM
Not enough memory to create a new handle.

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