trace_logf()

Updated: April 19, 2023

Insert a user string trace event

Synopsis:

#include <sys/neutrino.h>
#include <sys/trace.h>

int trace_logf( int code,
                const char *fmt, ...);

Arguments:

code
The event code, which must be in the range from _NTO_TRACE_USERFIRST through _NTO_TRACE_USERLAST.
fmt
A printf()-style formatting string. This must be followed by additional arguments that provide the items required by the fmt string.
Note: You can't use any floating-point formatting codes or parameters; use a function such as sprintf() to format floating-point data in a temporary buffer, and then pass it to trace_logf() using a %s format.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The trace_logf() function calls TraceEvent() to insert a user string event of class _NTO_TRACE_USER, and of the type specified by code.

Returns:

The number of bytes written in the log, including the terminating null character, or -1 if an error occurred (errno is set).

Errors:

ECANCELED
The requested action has been canceled.
EFAULT
Bad internal trace buffer address. The requested action has been specified out of order.
ENOMEM
Insufficient memory to allocate the trace buffers.
ENOTSUP
The requested action isn't supported.
EPERM
The application doesn't have permission to perform the action.

Classification:

QNX Neutrino

Safety:  
Cancellation point No
Interrupt handler Read the Caveats for TraceEvent()
Signal handler Yes
Thread Yes