.TH termcap 3 ""
.ds n 5
\fBtputs\fR - direct \fBcurses\fR interface to the terminfo capability database
\fBint tgetent(char *bp, const char *name);\fR
\fBint tgetflag(char *id);\fR
\fBint tgetnum(char *id);\fR
\fBchar *tgetstr(char *id, char **area);\fR
\fBchar *tgoto(const char *cap, int col, int row);\fR
\fBint tputs(const char *str, int affcnt, int (*putc)(int));\fR
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.
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.
The \fBtgetflag\fR routine gets the boolean entry for \fIid\fR,
or zero if it is not available.
The \fBtgetnum\fR routine gets the numeric entry for \fIid\fR,
or -1 if it is not available.
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
Only the first two characters of the \fBid\fR parameter of
\fBtgetstr\fR are compared in lookups.
The \fBtgoto\fR routine instantiates the parameters into the given capability.
The output from this routine is to be passed to \fBtputs\fR.
The \fBtputs\fR routine is described in the \fBterminfo\fR(3) manual
page. It can retrieve capabilities by either termcap or terminfo name.
.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
Routines that return pointers return \fBNULL\fR on error.
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 won't 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).
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.
The XSI Curses standard, Issue 4 describes these functions. However, they
are marked TO BE WITHDRAWN and may be removed in future versions.
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
.SH SEE ALSO
\fBcurses\fR(3), \fBterminfo\fR(\*n), \fBputc\fR(3).
| AerieBSD 1.0 Reference Manual