| .\"*************************************************************************** |
| .\" Copyright (c) 2000-2005,2007 Free Software Foundation, Inc. * |
| .\" * |
| .\" Permission is hereby granted, free of charge, to any person obtaining a * |
| .\" copy of this software and associated documentation files (the * |
| .\" "Software"), to deal in the Software without restriction, including * |
| .\" without limitation the rights to use, copy, modify, merge, publish, * |
| .\" distribute, distribute with modifications, sublicense, and/or sell * |
| .\" copies of the Software, and to permit persons to whom the Software is * |
| .\" furnished to do so, subject to the following conditions: * |
| .\" * |
| .\" The above copyright notice and this permission notice shall be included * |
| .\" in all copies or substantial portions of the Software. * |
| .\" * |
| .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * |
| .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * |
| .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * |
| .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * |
| .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * |
| .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * |
| .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * |
| .\" * |
| .\" Except as contained in this notice, the name(s) of the above copyright * |
| .\" holders shall not be used in advertising or otherwise to promote the * |
| .\" sale, use or other dealings in this Software without prior written * |
| .\" authorization. * |
| .\"*************************************************************************** |
| .\" |
| .\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $ |
| .TH curs_trace 3X "" |
| .na |
| .hy 0 |
| .SH NAME |
| \fB_tracef\fR, |
| \fB_tracedump\fR, |
| \fB_traceattr\fR, |
| \fB_traceattr2\fR, |
| \fB_nc_tracebits\fR, |
| \fB_tracechar\fR, |
| \fB_tracechtype\fR, |
| \fB_tracechtype2\fR, |
| \fB_tracemouse\fR, |
| \fBtrace\fR - \fBcurses\fR debugging routines |
| .ad |
| .hy |
| .SH SYNOPSIS |
| \fB#include <curses.h>\fR |
| .sp |
| \fBvoid _tracef(const char *format, ...);\fR |
| .br |
| \fBvoid _tracedump(const char *label, WINDOW *win);\fR |
| .br |
| \fBchar *_traceattr(attr_t attr);\fR |
| .br |
| \fBchar *_traceattr2(int buffer, chtype ch);\fR |
| .br |
| \fBchar *_nc_tracebits(void);\fR |
| .br |
| \fBchar *_tracechar(int);\fR |
| .br |
| \fBchar *_tracechtype(chtype ch);\fR |
| .br |
| \fBchar *_tracechtype2(int buffer, chtype ch);\fR |
| .br |
| \fBchar *_tracemouse(const MEVENT *event);\fR |
| .br |
| \fBvoid trace(const unsigned int param);\fR |
| .SH DESCRIPTION |
| The \fBtrace\fR routines are used for debugging the ncurses libraries, |
| as well as applications which use the ncurses libraries. |
| These functions are normally available only with the debugging library |
| \fIlibncurses_g.a\fR, but may be compiled into any model (shared, static, |
| profile) by defining the symbol \fBTRACE\fR. |
| .PP |
| The principal parts of this interface are the \fBtrace\fR routine which |
| selectively enables different tracing features, and the \fB_tracef\fR |
| routine which writes formatted data to the \fItrace\fR file. |
| .PP |
| Calling \fBtrace\fR with a nonzero parameter opens the file \fBtrace\fR |
| in the current directory for output. The 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 |
| TRACE_DISABLE |
| turn off tracing. |
| .TP 5 |
| TRACE_TIMES |
| trace user and system times of updates. |
| .TP 5 |
| TRACE_TPUTS |
| trace tputs calls. |
| .TP 5 |
| TRACE_UPDATE |
| trace update actions, old & new screens. |
| .TP 5 |
| TRACE_MOVE |
| trace cursor movement and scrolling. |
| .TP 5 |
| TRACE_CHARPUT |
| trace all character outputs. |
| .TP 5 |
| TRACE_ORDINARY |
| trace all update actions. |
| The old and new screen contents are written to the trace file |
| for each refresh. |
| .TP 5 |
| TRACE_CALLS |
| trace all curses calls. |
| The parameters for each call are traced, as well as return values. |
| .TP 5 |
| TRACE_VIRTPUT |
| trace virtual character puts, i.e., calls to \fBaddch\fR. |
| .TP 5 |
| TRACE_IEVENT |
| trace low-level input processing, including timeouts. |
| .TP 5 |
| TRACE_BITS |
| trace state of TTY control bits. |
| .TP 5 |
| TRACE_ICALLS |
| trace internal/nested calls. |
| .TP 5 |
| TRACE_CCALLS |
| trace per-character calls. |
| .TP 5 |
| TRACE_DATABASE |
| trace read/write of terminfo/termcap data. |
| .TP 5 |
| TRACE_ATTRS |
| trace changes to video attributes and colors. |
| .TP 5 |
| TRACE_MAXIMUM |
| maximum trace level, enables all of the separate trace features. |
| .PP |
| Some tracing features are enabled whenever the \fBtrace\fR parameter |
| is nonzero. Some features overlap. |
| The specific names are used as a guideline. |
| .SH RETURN VALUE |
| Routines which return a value are designed to be used as parameters |
| to the \fB_tracef\fR routine. |
| .SH PORTABILITY |
| 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. |
| .SH SEE ALSO |
| \fBcurses\fR(3X). |
| .\"# |
| .\"# The following sets edit modes for GNU EMACS |
| .\"# Local Variables: |
| .\"# mode:nroff |
| .\"# fill-column:79 |
| .\"# End: |