X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_termcap.3x.html;h=a20e11e0542cfb01faa61e3e2977d8ada7e1bb5d;hp=7a2f164160eda3e6f91d97ea50fb605315021d09;hb=f344f8539c1543f8cd65a5bb142dbaf23b9421d2;hpb=0ac2306dd3aaab1338d8b1458c15a7e476cfc3ff diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html index 7a2f1641..a20e11e0 100644 --- a/doc/html/man/curs_termcap.3x.html +++ b/doc/html/man/curs_termcap.3x.html @@ -1,7 +1,6 @@ - +
+ +- curs_termcap(3x) curs_termcap(3x) --
+
PC, UP, BC, ospeed, tgetent, tgetflag, tgetnum, tgetstr, tgoto, tputs - direct curses interface to the terminfo capability database --
+
#include <curses.h> #include <term.h> @@ -70,8 +68,7 @@ int tputs(const char *str, int affcnt, int (*putc)(int)); --
+
These routines are included as a conversion aid for pro- grams that use the termcap library. Their parameters are the same and the routines are emulated using the terminfo @@ -79,34 +76,94 @@ bilities of entries for which a terminfo entry has been compiled. - The tgetent routine loads the entry for name. It returns - 1 on success, 0 if there is no such entry, and -1 if the - terminfo database could not be found. The emulation ig- - nores the buffer pointer bp. +
+ The tgetent routine loads the entry for name. It returns: + + 1 on success, + + 0 if there is no such entry (or that it is a generic + type, having too little information for curses ap- + plications to run), and + + -1 if the terminfo database could not be found. + + This differs from the termcap library in two ways: + + o The emulation ignores the buffer pointer bp. The + termcap library would store a copy of the terminal + description in the area referenced by this pointer. + However, ncurses stores its terminal descriptions + in compiled binary form, which is not the same + thing. + + o There is a difference in return codes. The termcap + library does not check if the terminal description + is marked with the generic capability, or if the + terminal description has cursor-addressing. + + +
The tgetflag routine gets the boolean entry for id, or ze- ro if it is not available. - The tgetnum routine gets the numeric entry for id, or -1 + The tgetnum routine gets the numeric entry for id, or -1 if it is not available. - The tgetstr routine returns the string entry for id, or - zero if it is not available. Use tputs to output the re- - turned string. The return value will also be copied to - the buffer pointed to by area, and the area value will be - updated to point past the null ending this value. + The tgetstr routine returns the string entry for id, or + zero if it is not available. Use tputs to output the re- + turned string. The area parameter is used as follows: + + o It is assumed to be the address of a pointer to a + buffer managed by the calling application. + + o However, ncurses checks to ensure that area is not + NULL, and also that the resulting buffer pointer is + not NULL. If either check fails, the area parame- + ter is ignored. + + o If the checks succeed, ncurses also copies the re- + turn value to the buffer pointed to by area, and + the area value will be updated to point past the + null ending this value. + + o The return value itself is an address in the termi- + nal description which is loaded into memory. Only the first two characters of the id parameter of tget- flag, tgetnum and tgetstr are compared in lookups. - The tgoto routine instantiates the parameters into the - given capability. The output from this routine is to be - passed to tputs. + +
+ The tgoto routine expands the given capability using the + parameters. + + o Because the capability may have padding characters, + the output of tgoto should be passed to tputs rather + than some other output function such as printf. + + o While tgoto is assumed to be used for the two-parame- + ter cursor positioning capability, termcap applica- + tions also use it for single-parameter capabilities. + + Doing this shows a quirk in tgoto: most hardware ter- + minals use cursor addressing with row first, but the + original developers of the termcap interface chose to + put the column parameter first. The tgoto function + swaps the order of parameters. It does this also for + calls requiring only a single parameter. In that + case, the first parameter is merely a placeholder. + + o Normally the ncurses library is compiled with terminfo + support. In that case, tgoto uses tparm(3x) (a more + capable formatter). The tputs routine is described on the curs_terminfo(3x) manual page. It can retrieve capabilities by either term- cap or terminfo name. + +
The variables PC, UP and BC are set by tgetent to the ter- minfo entry's data for pad_char, cursor_up and backspace_if_not_bs, respectively. UP is not used by @@ -116,8 +173,7 @@ minal speed. --
+
Except where explicitly noted, routines that return an in- teger return ERR upon failure and OK (SVr4 only specifies "an integer value other than ERR") upon successful comple- @@ -126,8 +182,7 @@ Routines that return pointers return NULL on error. --
+
If you call tgetstr to fetch ca or any other parameterized string, be aware that it will be returned in terminfo no- tation, not the older and not-quite-compatible termcap no- @@ -152,8 +207,7 @@ modate termcap's limitation in this respect. --
+
The XSI Curses standard, Issue 4 describes these func- tions. However, they are marked TO BE WITHDRAWN and may be removed in future versions. @@ -173,19 +227,53 @@ guishing between input and output. In particular, some applications are reported to declare and/or modify ospeed. + The comment that only the first two characters of the id + parameter are used escapes many application developers. + The original BSD 4.2 termcap library (and historical + relics thereof) did not require a trailing null NUL on the + parameter name passed to tgetstr, tgetnum and tgetflag. + Some applications assume that the termcap interface does + not require the trailing NUL for the parameter name. Tak- + ing into account these issues: --
- curses(3x), terminfo(5), putc(3). + o As a special case, tgetflag matched against a single- + character identifier provided that was at the end of + the terminal description. You should not rely upon + this behavior in portable programs. This implementa- + tion disallows matches against single-character capa- + bility names. + + o This implementation disallows matches by the termcap + interface against extended capability names which are + longer than two characters. + + +
+ curses(3x), terminfo(5), term_variables(3x), putc(3). + + http://invisible-island.net/ncurses/tctest.html curs_termcap(3x)-