mirror of https://github.com/mkerrisk/man-pages
294 lines
8.5 KiB
Plaintext
294 lines
8.5 KiB
Plaintext
|
.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
|
||
|
.TH "<trace.h>" P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
|
||
|
.\" <trace.h>
|
||
|
.SH NAME
|
||
|
trace.h \- tracing
|
||
|
.SH SYNOPSIS
|
||
|
.LP
|
||
|
\fB#include <trace.h> \fP
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
The \fI<trace.h>\fP header shall define the \fBposix_trace_event_info\fP
|
||
|
structure that includes at least the following
|
||
|
members:
|
||
|
.sp
|
||
|
.RS
|
||
|
.nf
|
||
|
|
||
|
\fBtrace_event_id_t posix_event_id
|
||
|
pid_t posix_pid
|
||
|
void *posix_prog_address
|
||
|
int posix_truncation_status
|
||
|
struct timespec posix_timestamp
|
||
|
|
||
|
pthread_t posix_thread_id
|
||
|
|
||
|
\fP
|
||
|
.fi
|
||
|
.RE
|
||
|
.LP
|
||
|
The \fI<trace.h>\fP header shall define the \fBposix_trace_status_info\fP
|
||
|
structure that includes at least the following
|
||
|
members:
|
||
|
.sp
|
||
|
.RS
|
||
|
.nf
|
||
|
|
||
|
\fBint posix_stream_status
|
||
|
int posix_stream_full_status
|
||
|
int posix_stream_overrun_status
|
||
|
|
||
|
int posix_stream_flush_status
|
||
|
int posix_stream_flush_error
|
||
|
int posix_log_overrun_status
|
||
|
int posix_log_full_status
|
||
|
|
||
|
\fP
|
||
|
.fi
|
||
|
.RE
|
||
|
.LP
|
||
|
The \fI<trace.h>\fP header shall define the following symbols:
|
||
|
.LP
|
||
|
.sp
|
||
|
POSIX_TRACE_ALL_EVENTS
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_APPEND
|
||
|
.br
|
||
|
.sp
|
||
|
.sp
|
||
|
POSIX_TRACE_CLOSE_FOR_CHILD
|
||
|
.br
|
||
|
.sp
|
||
|
.sp
|
||
|
POSIX_TRACE_FILTER
|
||
|
.br
|
||
|
.sp
|
||
|
.sp
|
||
|
POSIX_TRACE_FLUSH
|
||
|
.br
|
||
|
POSIX_TRACE_FLUSH_START
|
||
|
.br
|
||
|
POSIX_TRACE_FLUSH_STOP
|
||
|
.br
|
||
|
POSIX_TRACE_FLUSHING
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_FULL
|
||
|
.br
|
||
|
POSIX_TRACE_LOOP
|
||
|
.br
|
||
|
POSIX_TRACE_NO_OVERRUN
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_NOT_FLUSHING
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_NOT_FULL
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_INHERITED
|
||
|
.br
|
||
|
.sp
|
||
|
POSIX_TRACE_NOT_TRUNCATED
|
||
|
.br
|
||
|
POSIX_TRACE_OVERFLOW
|
||
|
.br
|
||
|
POSIX_TRACE_OVERRUN
|
||
|
.br
|
||
|
POSIX_TRACE_RESUME
|
||
|
.br
|
||
|
POSIX_TRACE_RUNNING
|
||
|
.br
|
||
|
POSIX_TRACE_START
|
||
|
.br
|
||
|
POSIX_TRACE_STOP
|
||
|
.br
|
||
|
POSIX_TRACE_SUSPENDED
|
||
|
.br
|
||
|
POSIX_TRACE_SYSTEM_EVENTS
|
||
|
.br
|
||
|
POSIX_TRACE_TRUNCATED_READ
|
||
|
.br
|
||
|
POSIX_TRACE_TRUNCATED_RECORD
|
||
|
.br
|
||
|
POSIX_TRACE_UNNAMED_USER_EVENT
|
||
|
.br
|
||
|
POSIX_TRACE_UNTIL_FULL
|
||
|
.br
|
||
|
POSIX_TRACE_WOPID_EVENTS
|
||
|
.br
|
||
|
.LP
|
||
|
The following types shall be defined as described in \fI<sys/types.h>\fP
|
||
|
:
|
||
|
.LP
|
||
|
.sp
|
||
|
\fBtrace_attr_t\fP
|
||
|
.br
|
||
|
\fBtrace_id_t\fP
|
||
|
.br
|
||
|
\fBtrace_event_id_t\fP
|
||
|
.br
|
||
|
.sp
|
||
|
\fBtrace_event_set_t\fP
|
||
|
.br
|
||
|
.sp
|
||
|
.LP
|
||
|
The following shall be declared as functions and may also be defined
|
||
|
as macros. Function prototypes shall be provided.
|
||
|
.sp
|
||
|
.RS
|
||
|
.nf
|
||
|
|
||
|
\fBint posix_trace_attr_destroy(trace_attr_t *);
|
||
|
int posix_trace_attr_getclockres(const trace_attr_t *,
|
||
|
struct timespec *);
|
||
|
int posix_trace_attr_getcreatetime(const trace_attr_t *,
|
||
|
struct timespec *);
|
||
|
int posix_trace_attr_getgenversion(const trace_attr_t *, char *);
|
||
|
|
||
|
int posix_trace_attr_getinherited(const trace_attr_t *restrict,
|
||
|
int *restrict);
|
||
|
|
||
|
|
||
|
int posix_trace_attr_getlogfullpolicy(const trace_attr_t *restrict,
|
||
|
int *restrict);
|
||
|
int posix_trace_attr_getlogsize(const trace_attr_t *restrict,
|
||
|
size_t *restrict);
|
||
|
|
||
|
int posix_trace_attr_getmaxdatasize(const trace_attr_t *restrict,
|
||
|
size_t *restrict);
|
||
|
int posix_trace_attr_getmaxsystemeventsize(const trace_attr_t *restrict,
|
||
|
size_t *restrict);
|
||
|
int posix_trace_attr_getmaxusereventsize(const trace_attr_t *restrict,
|
||
|
size_t, size_t *restrict);
|
||
|
int posix_trace_attr_getname(const trace_attr_t *, char *);
|
||
|
int posix_trace_attr_getstreamfullpolicy(const trace_attr_t *restrict,
|
||
|
int *restrict);
|
||
|
int posix_trace_attr_getstreamsize(const trace_attr_t *restrict,
|
||
|
size_t *restrict);
|
||
|
int posix_trace_attr_init(trace_attr_t *);
|
||
|
|
||
|
int posix_trace_attr_setinherited(trace_attr_t *, int);
|
||
|
|
||
|
|
||
|
int posix_trace_attr_setlogfullpolicy(trace_attr_t *, int);
|
||
|
int posix_trace_attr_setlogsize(trace_attr_t *, size_t);
|
||
|
|
||
|
int posix_trace_attr_setmaxdatasize(trace_attr_t *, size_t);
|
||
|
int posix_trace_attr_setname(trace_attr_t *, const char *);
|
||
|
int posix_trace_attr_setstreamsize(trace_attr_t *, size_t);
|
||
|
int posix_trace_attr_setstreamfullpolicy(trace_attr_t *, int);
|
||
|
int posix_trace_clear(trace_id_t);
|
||
|
|
||
|
int posix_trace_close(trace_id_t);
|
||
|
|
||
|
int posix_trace_create(pid_t, const trace_attr_t *restrict,
|
||
|
trace_id_t *restrict);
|
||
|
|
||
|
int posix_trace_create_withlog(pid_t, const trace_attr_t *restrict,
|
||
|
int, trace_id_t *restrict);
|
||
|
|
||
|
void posix_trace_event(trace_event_id_t, const void *restrict, size_t);
|
||
|
int posix_trace_eventid_equal(trace_id_t, trace_event_id_t,
|
||
|
trace_event_id_t);
|
||
|
int posix_trace_eventid_get_name(trace_id_t, trace_event_id_t, char *);
|
||
|
int posix_trace_eventid_open(const char *restrict,
|
||
|
trace_event_id_t *restrict);
|
||
|
|
||
|
int posix_trace_eventset_add(trace_event_id_t, trace_event_set_t *);
|
||
|
int posix_trace_eventset_del(trace_event_id_t, trace_event_set_t *);
|
||
|
int posix_trace_eventset_empty(trace_event_set_t *);
|
||
|
int posix_trace_eventset_fill(trace_event_set_t *, int);
|
||
|
int posix_trace_eventset_ismember(trace_event_id_t,
|
||
|
const trace_event_set_t *restrict, int *restrict);
|
||
|
|
||
|
int posix_trace_eventtypelist_getnext_id(trace_id_t,
|
||
|
trace_event_id_t *restrict, int *restrict);
|
||
|
int posix_trace_eventtypelist_rewind(trace_id_t);
|
||
|
|
||
|
int posix_trace_flush(trace_id_t);
|
||
|
|
||
|
int posix_trace_get_attr(trace_id_t, trace_attr_t *);
|
||
|
|
||
|
int posix_trace_get_filter(trace_id_t, trace_event_set_t *);
|
||
|
|
||
|
int posix_trace_get_status(trace_id_t,
|
||
|
struct posix_trace_status_info *);
|
||
|
int posix_trace_getnext_event(trace_id_t,
|
||
|
struct posix_trace_event_info *restrict , void *restrict,
|
||
|
size_t, size_t *restrict, int *restrict);
|
||
|
|
||
|
int posix_trace_open(int, trace_id_t *);
|
||
|
int posix_trace_rewind(trace_id_t);
|
||
|
|
||
|
|
||
|
int posix_trace_set_filter(trace_id_t, const trace_event_set_t *, int);
|
||
|
|
||
|
int posix_trace_shutdown(trace_id_t);
|
||
|
int posix_trace_start(trace_id_t);
|
||
|
int posix_trace_stop(trace_id_t);
|
||
|
|
||
|
int posix_trace_timedgetnext_event(trace_id_t,
|
||
|
struct posix_trace_event_info *restrict, void *restrict,
|
||
|
size_t, size_t *restrict, int *restrict,
|
||
|
const struct timespec *restrict);
|
||
|
|
||
|
|
||
|
int posix_trace_trid_eventid_open(trace_id_t, const char *restrict,
|
||
|
trace_event_id_t *restrict);
|
||
|
|
||
|
int posix_trace_trygetnext_event(trace_id_t,
|
||
|
struct posix_trace_event_info *restrict, void *restrict, size_t,
|
||
|
size_t *restrict, int *restrict);
|
||
|
\fP
|
||
|
.fi
|
||
|
.RE
|
||
|
.LP
|
||
|
\fIThe following sections are informative.\fP
|
||
|
.SH APPLICATION USAGE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH RATIONALE
|
||
|
.LP
|
||
|
None.
|
||
|
.SH FUTURE DIRECTIONS
|
||
|
.LP
|
||
|
None.
|
||
|
.SH SEE ALSO
|
||
|
.LP
|
||
|
\fI<sys/types.h>\fP , the System Interfaces volume of IEEE\ Std\ 1003.1-2001,
|
||
|
Section 2.11, Tracing, \fIposix_trace_attr_destroy\fP(), \fIposix_trace_attr_getclockres\fP(),
|
||
|
\fIposix_trace_attr_getcreatetime\fP(), \fIposix_trace_attr_getgenversion\fP(),
|
||
|
\fIposix_trace_attr_getinherited\fP(), \fIposix_trace_attr_getlogfullpolicy\fP(),
|
||
|
\fIposix_trace_attr_getlogsize\fP(), \fIposix_trace_attr_getmaxdatasize\fP(),
|
||
|
\fIposix_trace_attr_getmaxsystemeventsize\fP(), \fIposix_trace_attr_getmaxusereventsize\fP(),
|
||
|
\fIposix_trace_attr_getname\fP(), \fIposix_trace_attr_getstreamfullpolicy\fP(),
|
||
|
\fIposix_trace_attr_getstreamsize\fP(), \fIposix_trace_attr_init\fP(),
|
||
|
\fIposix_trace_attr_setinherited\fP(), \fIposix_trace_attr_setlogfullpolicy\fP(),
|
||
|
\fIposix_trace_attr_setlogsize\fP(), \fIposix_trace_attr_setmaxdatasize\fP(),
|
||
|
\fIposix_trace_attr_setname\fP(), \fIposix_trace_attr_setstreamsize\fP(),
|
||
|
\fIposix_trace_attr_setstreamfullpolicy\fP(), \fIposix_trace_clear\fP(),
|
||
|
\fIposix_trace_close\fP(), \fIposix_trace_create\fP(), \fIposix_trace_create_withlog\fP(),
|
||
|
\fIposix_trace_event\fP(), \fIposix_trace_eventid_equal\fP(), \fIposix_trace_eventid_get_name\fP(),
|
||
|
\fIposix_trace_eventid_open\fP(), \fIposix_trace_eventtypelist_getnext_id\fP(),
|
||
|
\fIposix_trace_eventtypelist_rewind\fP(), \fIposix_trace_eventset_add\fP(),
|
||
|
\fIposix_trace_eventset_del\fP(), \fIposix_trace_eventset_empty\fP(),
|
||
|
\fIposix_trace_eventset_fill\fP(), \fIposix_trace_eventset_ismember\fP(),
|
||
|
\fIposix_trace_flush\fP(), \fIposix_trace_get_attr\fP(), \fIposix_trace_get_filter\fP(),
|
||
|
\fIposix_trace_get_status\fP(), \fIposix_trace_getnext_event\fP(),
|
||
|
\fIposix_trace_open\fP(), \fIposix_trace_rewind\fP(), \fIposix_trace_set_filter\fP(),
|
||
|
\fIposix_trace_shutdown\fP(), \fIposix_trace_start\fP(), \fIposix_trace_stop\fP(),
|
||
|
\fIposix_trace_timedgetnext_event\fP(), \fIposix_trace_trid_eventid_open\fP(),
|
||
|
\fIposix_trace_trygetnext_event\fP()
|
||
|
.SH 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 .
|