NAME

trace.h - tracing

SYNOPSIS

#include<trace.h>

DESCRIPTION

The <trace.h> header shall define the posix_trace_event_info structure
that includes at least the following members:
trace_event_id_tposix_event_idpid_tposix_pidvoid*posix_prog_addressintposix_truncation_statusstructtimespecposix_timestamppthread_tposix_thread_id
The <trace.h> header shall define the posix_trace_status_info structure
that includes at least the following members:
intposix_stream_statusintposix_stream_full_statusintposix_stream_overrun_statusintposix_stream_flush_statusintposix_stream_flush_errorintposix_log_overrun_statusintposix_log_full_status
The <trace.h> header shall define the following symbols:
POSIX_TRACE_ALL_EVENTS
POSIX_TRACE_APPEND
POSIX_TRACE_CLOSE_FOR_CHILD
POSIX_TRACE_FILTER
POSIX_TRACE_FLUSH
POSIX_TRACE_FLUSH_START
POSIX_TRACE_FLUSH_STOP
POSIX_TRACE_FLUSHING
POSIX_TRACE_FULL
POSIX_TRACE_LOOP
POSIX_TRACE_NO_OVERRUN
POSIX_TRACE_NOT_FLUSHING
POSIX_TRACE_NOT_FULL
POSIX_TRACE_INHERITED
POSIX_TRACE_NOT_TRUNCATED
POSIX_TRACE_OVERFLOW
POSIX_TRACE_OVERRUN
POSIX_TRACE_RESUME
POSIX_TRACE_RUNNING
POSIX_TRACE_START
POSIX_TRACE_STOP
POSIX_TRACE_SUSPENDED
POSIX_TRACE_SYSTEM_EVENTS
POSIX_TRACE_TRUNCATED_READ
POSIX_TRACE_TRUNCATED_RECORD
POSIX_TRACE_UNNAMED_USER_EVENT
POSIX_TRACE_UNTIL_FULL
POSIX_TRACE_WOPID_EVENTS
The following types shall be defined as described in <sys/types.h> :
trace_attr_ttrace_id_ttrace_event_id_ttrace_event_set_t
The following shall be declared as functions and may also be defined as
macros. Function prototypes shall be provided.
intposix_trace_attr_destroy(trace_attr_t*);intposix_trace_attr_getclockres(consttrace_attr_t*,structtimespec*);intposix_trace_attr_getcreatetime(consttrace_attr_t*,structtimespec*);intposix_trace_attr_getgenversion(consttrace_attr_t*,char*);intposix_trace_attr_getinherited(consttrace_attr_t*restrict,int*restrict);intposix_trace_attr_getlogfullpolicy(consttrace_attr_t*restrict,int*restrict);intposix_trace_attr_getlogsize(consttrace_attr_t*restrict,size_t*restrict);intposix_trace_attr_getmaxdatasize(consttrace_attr_t*restrict,size_t*restrict);intposix_trace_attr_getmaxsystemeventsize(consttrace_attr_t*restrict,size_t*restrict);intposix_trace_attr_getmaxusereventsize(consttrace_attr_t*restrict,size_t,size_t*restrict);intposix_trace_attr_getname(consttrace_attr_t*,char*);intposix_trace_attr_getstreamfullpolicy(consttrace_attr_t*restrict,int*restrict);intposix_trace_attr_getstreamsize(consttrace_attr_t*restrict,size_t*restrict);intposix_trace_attr_init(trace_attr_t*);intposix_trace_attr_setinherited(trace_attr_t*,int);intposix_trace_attr_setlogfullpolicy(trace_attr_t*,int);intposix_trace_attr_setlogsize(trace_attr_t*,size_t);intposix_trace_attr_setmaxdatasize(trace_attr_t*,size_t);intposix_trace_attr_setname(trace_attr_t*,constchar*);intposix_trace_attr_setstreamsize(trace_attr_t*,size_t);intposix_trace_attr_setstreamfullpolicy(trace_attr_t*,int);intposix_trace_clear(trace_id_t);intposix_trace_close(trace_id_t);intposix_trace_create(pid_t,consttrace_attr_t*restrict,trace_id_t*restrict);intposix_trace_create_withlog(pid_t,consttrace_attr_t*restrict,int,trace_id_t*restrict);voidposix_trace_event(trace_event_id_t,constvoid*restrict,size_t);intposix_trace_eventid_equal(trace_id_t,trace_event_id_t,trace_event_id_t);intposix_trace_eventid_get_name(trace_id_t,trace_event_id_t,char*);intposix_trace_eventid_open(constchar*restrict,trace_event_id_t*restrict);intposix_trace_eventset_add(trace_event_id_t,trace_event_set_t*);intposix_trace_eventset_del(trace_event_id_t,trace_event_set_t*);intposix_trace_eventset_empty(trace_event_set_t*);intposix_trace_eventset_fill(trace_event_set_t*,int);intposix_trace_eventset_ismember(trace_event_id_t,consttrace_event_set_t*restrict,int*restrict);intposix_trace_eventtypelist_getnext_id(trace_id_t,trace_event_id_t*restrict,int*restrict);intposix_trace_eventtypelist_rewind(trace_id_t);intposix_trace_flush(trace_id_t);intposix_trace_get_attr(trace_id_t,trace_attr_t*);intposix_trace_get_filter(trace_id_t,trace_event_set_t*);intposix_trace_get_status(trace_id_t,structposix_trace_status_info*);intposix_trace_getnext_event(trace_id_t,structposix_trace_event_info*restrict,void*restrict,size_t,size_t*restrict,int*restrict);intposix_trace_open(int,trace_id_t*);intposix_trace_rewind(trace_id_t);intposix_trace_set_filter(trace_id_t,consttrace_event_set_t*,int);intposix_trace_shutdown(trace_id_t);intposix_trace_start(trace_id_t);intposix_trace_stop(trace_id_t);intposix_trace_timedgetnext_event(trace_id_t,structposix_trace_event_info*restrict,void*restrict,size_t,size_t*restrict,int*restrict,conststructtimespec*restrict);intposix_trace_trid_eventid_open(trace_id_t,constchar*restrict,trace_event_id_t*restrict);intposix_trace_trygetnext_event(trace_id_t,structposix_trace_event_info*restrict,void*restrict,size_t,size_t*restrict,int*restrict);Thefollowingsectionsareinformative.

COPYRIGHT

Portions of this text are reprinted and reproduced in electronic form
from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
-- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard
is the referee document. The original Standard can be obtained online
at http://www.opengroup.org/unix/online.html .