trace_vnlogf()

Updated: April 19, 2023

Insert a user string trace event, using a variable argument list

Synopsis:

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

int trace_vnlogf( int code,
                  int max,
                  const char *fmt,
                  va_list arglist );

Arguments:

code
The event code, which must be in the range from _NTO_TRACE_USERFIRST through _NTO_TRACE_USERLAST.
max
The maximum length of the string to include in the event, in bytes, or 0 for no limit.
fmt
A printf()-style formatting 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_vnlogf() using a %s format.
arglist
A variable argument list of the items required by the fmt string.

Library:

libc

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

Description:

The trace_vnlogf() 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