.\" Copyright (c) 1980, 1991 The Regents of the University of California.
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. All advertising materials mentioning features or use of this software
.\" must display the following acknowledgement:
.\" This product includes software developed by the University of
.\" California, Berkeley and its contributors.
.\" 4. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" @(#)termcap.3 6.6 (Berkeley) 4/19/91
.Nd terminal independent operation routines
.Fn tgetent "char *bp" "char *name"
.Fn tgetstr "char *id" "char **area"
.Fn tgoto "char *cm" destcol destline
.Fn tputs "register char *cp" "int affcnt" "int (*outc)()"
These functions extract and use capabilities from a terminal capability data
.Pa /usr/share/misc/termcap ,
the format of which is described in
These are low level routines;
for a higher level package.
extracts the entry for terminal
should be a character buffer of size
1024 and must be retained through all subsequent calls to
returns \-1 if none of the
data base files could be opened,
0 if the terminal name given does not have an entry,
It will look in the environment for a
If found, and the value does not begin with a slash,
is the same as the environment string
string is used instead of reading a
If it does begin with a slash, the string is used as a path name
does not begin with a slash and
.Pa /usr/share/misc/termcap ,
in that order, unless the environment variable
in which case it specifies a list of file pathnames
(separated by spaces or colons) to be searched instead.
Whenever multiple files are searched and a
field occurs in the requested entry, the entry it names must be found
in the same file or one of the succeeding files.
This can speed up entry into programs that call
as well as help debug new terminal descriptions
or make one for your terminal if you can't write the file
.Pa /usr/share/misc/termcap .
gets the numeric value of capability
returning \-1 if is not given for the terminal.
returns 1 if the specified capability is present in
the terminal's entry, 0 if it is not.
returns the string value of the capability
places it in the buffer at
It decodes the abbreviations for this field described in
except for cursor addressing and padding information.
if the capability was not found.
returns a cursor addressing string decoded from
It uses the external variables
if necessary to avoid placing
should be sure to turn off the
Note that programs using termcap should in general turn off
anyway since some terminals use control-I for other functions,
such as nondestructive space.)
sequence is given which is not understood, then
decodes the leading padding information of the string
gives the number of lines affected by the operation, or 1 if this is
is a routine which is called with each character in turn.
should contain the output speed of the terminal as encoded by
should contain a pad character to be used (from the
.Bl -tag -width /usr/share/misc/termcap -compact
.It Pa /usr/lib/libtermcap.a
.It Pa /usr/share/misc/termcap
standard terminal capability data base
user's terminal capability data base