aboutsummaryrefslogtreecommitdiff
path: root/man/curs_termcap.3x
diff options
context:
space:
mode:
Diffstat (limited to 'man/curs_termcap.3x')
-rw-r--r--man/curs_termcap.3x167
1 files changed, 167 insertions, 0 deletions
diff --git a/man/curs_termcap.3x b/man/curs_termcap.3x
new file mode 100644
index 000000000000..93ac2fb146d1
--- /dev/null
+++ b/man/curs_termcap.3x
@@ -0,0 +1,167 @@
+.\"***************************************************************************
+.\" Copyright (c) 1998-2006,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_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp $
+.TH curs_termcap 3X ""
+.ds n 5
+.SH NAME
+\fBtgetent\fR,
+\fBtgetflag\fR,
+\fBtgetnum\fR,
+\fBtgetstr\fR,
+\fBtgoto\fR,
+\fBtputs\fR - direct \fBcurses\fR interface to the terminfo capability database
+.SH SYNOPSIS
+\fB#include <curses.h>\fR
+.br
+\fB#include <term.h>\fR
+.sp
+\fBextern char PC;\fR
+.br
+\fBextern char * UP;\fR
+.br
+\fBextern char * BC;\fR
+.br
+\fBextern @NCURSES_OSPEED@ ospeed;\fR
+.sp
+\fBint tgetent(char *bp, const char *name);\fR
+.br
+\fBint tgetflag(char *id);\fR
+.br
+\fBint tgetnum(char *id);\fR
+.br
+\fBchar *tgetstr(char *id, char **area);\fR
+.br
+\fBchar *tgoto(const char *cap, int col, int row);\fR
+.br
+\fBint tputs(const char *str, int affcnt, int (*putc)(int));\fR
+.br
+.SH DESCRIPTION
+These routines are included as a conversion aid for programs that use
+the \fItermcap\fR library. Their parameters are the same and the
+routines are emulated using the \fIterminfo\fR database. Thus, they
+can only be used to query the capabilities of entries for which a
+terminfo entry has been compiled.
+.PP
+The \fBtgetent\fR routine loads the entry for \fIname\fR.
+It returns 1 on success, 0 if there is no such entry, and -1 if the
+terminfo database could not be found.
+The emulation ignores the buffer pointer \fIbp\fR.
+.PP
+The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR,
+or zero if it is not available.
+.PP
+The \fBtgetnum\fR routine gets the numeric entry for \fIid\fR,
+or -1 if it is not available.
+.PP
+The \fBtgetstr\fR routine returns the string entry for \fIid\fR,
+or zero if it is not available.
+Use \fBtputs\fR to output the returned string.
+The return value will also be copied to the buffer pointed to by \fIarea\fR,
+and the \fIarea\fR value will be updated to point past the null ending
+this value.
+.PP
+Only the first two characters of the \fBid\fR parameter of
+\fBtgetflag\fR,
+\fBtgetnum\fR and
+\fBtgetstr\fR are compared in lookups.
+.PP
+The \fBtgoto\fR routine instantiates the parameters into the given capability.
+The output from this routine is to be passed to \fBtputs\fR.
+.PP
+The \fBtputs\fR routine is described on the \fBcurs_terminfo\fR(3X) manual
+page. It can retrieve capabilities by either termcap or terminfo name.
+.PP
+The variables
+\fBPC\fR,
+\fBUP\fR and
+\fBBC\fR
+are set by \fBtgetent\fR to the terminfo entry's data for
+\fBpad_char\fR,
+\fBcursor_up\fR and
+\fBbackspace_if_not_bs\fR,
+respectively.
+\fBUP\fR is not used by ncurses.
+\fBPC\fR is used in the \fBtdelay_output\fR function.
+\fBBC\fR is used in the \fBtgoto\fR emulation.
+The variable \fBospeed\fR is set by ncurses in a system-specific coding
+to reflect the terminal speed.
+.
+.SH RETURN VALUE
+Except where explicitly noted,
+routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
+(SVr4 only specifies "an integer value other than \fBERR\fR") upon successful
+completion.
+.PP
+Routines that return pointers return \fBNULL\fR on error.
+.SH BUGS
+If you call \fBtgetstr\fR to fetch \fBca\fR or any other parameterized string,
+be aware that it will be returned in terminfo notation, not the older and
+not-quite-compatible termcap notation. This will not cause problems if all
+you do with it is call \fBtgoto\fR or \fBtparm\fR, which both expand
+terminfo-style strings as terminfo.
+(The \fBtgoto\fR function, if configured to support termcap, will check
+if the string is indeed terminfo-style by looking for "%p" parameters or
+"$<..>" delays, and invoke a termcap-style parser if the string does not
+appear to be terminfo).
+.PP
+Because terminfo conventions for representing padding in string capabilities
+differ from termcap's, \fBtputs("50");\fR will put out a literal "50" rather
+than busy-waiting for 50 milliseconds. Cope with it.
+.PP
+Note that termcap has nothing analogous to terminfo's \fBsgr\fR string.
+One consequence of this is that termcap applications assume \fRme\fR
+(terminfo \fBsgr0\fR) does not reset the alternate character set.
+This implementation checks for, and modifies the data shown to the
+termcap interface to accommodate termcap's limitation in this respect.
+.SH PORTABILITY
+The XSI Curses standard, Issue 4 describes these functions. However, they
+are marked TO BE WITHDRAWN and may be removed in future versions.
+.PP
+Neither the XSI Curses standard nor the SVr4 man pages documented the return
+values of \fBtgetent\fR correctly, though all three were in fact returned ever
+since SVr1.
+In particular, an omission in the XSI Curses documentation has been
+misinterpreted to mean that \fBtgetent\fR returns \fBOK\fR or \fBERR\fR.
+Because the purpose of these functions is to provide compatibility with
+the \fItermcap\fR library, that is a defect in XCurses, Issue 4, Version 2
+rather than in ncurses.
+.PP
+External variables are provided for support of certain termcap applications.
+However, termcap applications' use of those variables is poorly documented,
+e.g., not distinguishing between input and output.
+In particular, some applications are reported to declare and/or
+modify \fBospeed\fR.
+.SH SEE ALSO
+\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3).
+.\"#
+.\"# The following sets edit modes for GNU EMACS
+.\"# Local Variables:
+.\"# mode:nroff
+.\"# fill-column:79
+.\"# End: