]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - man/curs_trace.3x
ncurses 6.0 - patch 20161203
[ncurses.git] / man / curs_trace.3x
index 85df283c2c522716c294a3d2203da3e567c76334..123577c4566d81e5b0abae950a3205b4baf48c9b 100644 (file)
@@ -26,7 +26,7 @@
 .\" authorization.                                                           *
 .\"***************************************************************************
 .\"
-.\" $Id: curs_trace.3x,v 1.14 2016/10/15 17:26:09 tom Exp $
+.\" $Id: curs_trace.3x,v 1.16 2016/12/03 23:53:23 tom Exp $
 .de bP
 .IP \(bu 4
 ..
 .na
 .hy 0
 .SH NAME
+\fBtrace\fR,
 \fB_tracef\fR,
-\fB_tracedump\fR,
 \fB_traceattr\fR,
 \fB_traceattr2\fR,
-\fB_nc_tracebits\fR,
 \fB_tracecchar_t\fR,
 \fB_tracecchar_t2\fR,
 \fB_tracechar\fR,
 \fB_tracechtype\fR,
 \fB_tracechtype2\fR,
-\fB_tracemouse\fR,
-\fBtrace\fR \- \fBcurses\fR debugging routines
+\fB_nc_tracebits\fR,
+\fB_tracedump\fR,
+\fB_tracemouse\fR \- \fBcurses\fR debugging routines
 .ad
 .hy
 .SH SYNOPSIS
 \fB#include <curses.h>\fR
 .sp
+\fBvoid trace(const unsigned int \fP\fIparam\fP\fB);\fR
+.sp
 \fBvoid _tracef(const char *\fP\fIformat\fP\fB, ...);\fR
-.br
-\fBvoid _tracedump(const char *\fP\fIlabel\fP\fB, WINDOW *\fP\fIwin\fP\fB);\fR
-.br
+.sp
 \fBchar *_traceattr(attr_t \fP\fIattr\fP\fB);\fR
 .br
 \fBchar *_traceattr2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
 .br
-\fBchar *_nc_tracebits(void);\fR
-.br
-\fBchar * _tracecchar_t(const cchar_t *\fP\fIstring\fP\fB);\fR
+\fBchar *_tracecchar_t(const cchar_t *\fP\fIstring\fP\fB);\fR
 .br
-\fBchar * _tracecchar_t2(int \fP\fIbuffer\fP\fB, const cchar_t *\fP\fIstring\fP\fB);\fR
+\fBchar *_tracecchar_t2(int \fP\fIbuffer\fP\fB, const cchar_t *\fP\fIstring\fP\fB);\fR
 .br
 \fBchar *_tracechar(int \fP\fIch\fP\fB);\fR
 .br
 \fBchar *_tracechtype(chtype \fP\fIch\fP\fB);\fR
 .br
 \fBchar *_tracechtype2(int \fP\fIbuffer\fP\fB, chtype \fP\fIch\fP\fB);\fR
+.sp
+\fBvoid _tracedump(const char *\fP\fIlabel\fP\fB, WINDOW *\fP\fIwin\fP\fB);\fR
 .br
-\fBchar *_tracemouse(const MEVENT *\fP\fIevent\fP\fB);\fR
+\fBchar *_nc_tracebits(void);\fR
 .br
-\fBvoid trace(const unsigned int \fP\fIparam\fP\fB);\fR
+\fBchar *_tracemouse(const MEVENT *\fP\fIevent\fP\fB);\fR
 .SH DESCRIPTION
 The \fBtrace\fR routines are used for debugging the ncurses libraries,
 as well as applications which use the ncurses libraries.
@@ -82,21 +82,38 @@ e.g., \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static,
 profile) by defining the symbol \fBTRACE\fR.
 Additionally, some functions are only available with the wide-character
 configuration of the libraries.
-.PP
+.SS Functions
 The principal parts of this interface are
 .bP
 \fBtrace\fR, which selectively enables different tracing features, and
 .bP
 \fB_tracef\fR, which writes formatted data to the \fItrace\fR file.
 .PP
-Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR
+Calling \fBtrace\fR with a nonzero parameter creates the file \fBtrace\fR
 in the current directory for output.
-The parameter is formed by OR'ing
+If the file already exists, no tracing is done.
+.PP
+The other functions either return a pointer to a string-area
+(allocated by the corresponding function),
+or return no value (such as \fB_tracedump\fP, which implements the
+screen dump for \fBTRACE_UPDATE\fP).
+The caller should not free these
+strings, since the allocation is reused on successive calls.
+To work around the problem of a single string-area per function,
+some use a buffer-number parameter, telling the library to allocate
+additional string-areas.
+.SS Trace Parameter
+The trace parameter is formed by OR'ing
 values from the list of \fBTRACE_\fP\fIxxx\fR definitions in \fB<curses.h>\fR.
 These include:
 .TP 5
 .B TRACE_DISABLE
-turn off tracing.
+turn off tracing by passing a zero parameter.
+.IP
+The library flushes the output file,
+but retains an open file-descriptor to the trace file
+so that it can resume tracing later if a nonzero parameter is passed
+to the \fBtrace\fP function.
 .TP 5
 .B TRACE_TIMES
 trace user and system times of updates.
@@ -150,22 +167,13 @@ Some tracing features are enabled whenever the \fBtrace\fR parameter
 is nonzero.
 Some features overlap.
 The specific names are used as a guideline.
-.PP
-The other functions either return a pointer to a string-area
-(allocated by the corresponding function),
-or return no value (such as \fB_tracedump\fP, which implements the
-screen dump for \fBTRACE_UPDATE\fP).
-The caller should not free these
-strings, since the allocation is reused on successive calls.
-To work around the problem of a single string-area per function,
-some use a buffer-number parameter, telling the library to allocate
-additional string-areas.
-.PP
+.SS Initialization
 These functions check the \fBNCURSES_TRACE\fP environment variable,
 to set the tracing feature as if \fBtrace\fP was called:
-.RS
+.RS 4
 .PP
 .na
+.hy 0
 filter,
 initscr,
 new_prescr,
@@ -179,6 +187,7 @@ tgetent,
 use_env,
 use_extended_names,
 use_tioctl
+.hy
 .ad
 .RE
 .SH RETURN VALUE
@@ -189,5 +198,13 @@ These functions are not part of the XSI interface.
 Some other curses implementations are known to
 have similar, undocumented features,
 but they are not compatible with ncurses.
+.PP
+A few functions are not provided when symbol versioning is used:
+.RS 4
+.PP
+_nc_tracebits,
+_tracedump,
+_tracemouse
+.RE
 .SH SEE ALSO
 \fBcurses\fR(3X).