X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_termcap.3x.html;h=a20e11e0542cfb01faa61e3e2977d8ada7e1bb5d;hp=36c4e7acdd9440ca030b81168ebfd76ba72eabe3;hb=dc690a36a0e53e2c2ecd99c971cd749f78275fdc;hpb=027d0c57c4c4d6690e8d8727888d3282dbe9aa86 diff --git a/doc/html/man/curs_termcap.3x.html b/doc/html/man/curs_termcap.3x.html index 36c4e7ac..a20e11e0 100644 --- a/doc/html/man/curs_termcap.3x.html +++ b/doc/html/man/curs_termcap.3x.html @@ -1,6 +1,6 @@ @@ -45,15 +45,13 @@ - -
+
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 @@ -80,8 +77,7 @@ compiled. --
+
The tgetent routine loads the entry for name. It returns: 1 on success, @@ -107,8 +103,7 @@ terminal description has cursor-addressing. --
+
The tgetflag routine gets the boolean entry for id, or ze- ro if it is not available. @@ -139,108 +134,121 @@ 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. - The tputs routine is described on the curs_terminfo(3x) + 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 + backspace_if_not_bs, respectively. UP is not used by ncurses. PC is used in the tdelay_output function. BC is - used in the tgoto emulation. The variable ospeed is set + used in the tgoto emulation. The variable ospeed is set by ncurses in a system-specific coding to reflect the ter- minal speed. --
+
Except where explicitly noted, routines that return an in- - teger return ERR upon failure and OK (SVr4 only specifies + teger return ERR upon failure and OK (SVr4 only specifies "an integer value other than ERR") upon successful comple- tion. 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- + string, be aware that it will be returned in terminfo no- tation, not the older and not-quite-compatible termcap no- - tation. This will not cause problems if all you do with - it is call tgoto or tparm, which both expand terminfo- - style strings as terminfo. (The tgoto function, if con- - figured 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 + tation. This will not cause problems if all you do with + it is call tgoto or tparm, which both expand terminfo- + style strings as terminfo. (The tgoto function, if con- + figured 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, tputs("50"); - will put out a literal "50" rather than busy-waiting for + Because terminfo conventions for representing padding in + string capabilities differ from termcap's, tputs("50"); + will put out a literal "50" rather than busy-waiting for 50 milliseconds. Cope with it. - Note that termcap has nothing analogous to terminfo's sgr - string. One consequence of this is that termcap applica- - tions assume me (terminfo sgr0) does not reset the alter- - nate character set. This implementation checks for, and + Note that termcap has nothing analogous to terminfo's sgr + string. One consequence of this is that termcap applica- + tions assume me (terminfo sgr0) does not reset the alter- + nate character set. This implementation checks for, and modifies the data shown to the termcap interface to accom- 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 +
+ The XSI Curses standard, Issue 4 describes these func- + tions. 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 tgetent correctly, though - all three were in fact returned ever since SVr1. In par- - ticular, an omission in the XSI Curses documentation has - been misinterpreted to mean that tgetent returns OK or + Neither the XSI Curses standard nor the SVr4 man pages + documented the return values of tgetent correctly, though + all three were in fact returned ever since SVr1. In par- + ticular, an omission in the XSI Curses documentation has + been misinterpreted to mean that tgetent returns OK or ERR. Because the purpose of these functions is to provide - compatibility with the termcap library, that is a defect + compatibility with the termcap library, that is a defect in XCurses, Issue 4, Version 2 rather than in ncurses. - External variables are provided for support of certain - termcap applications. However, termcap applications' use + External variables are provided for support of certain + termcap applications. However, termcap applications' use of those variables is poorly documented, e.g., not distin- - guishing between input and output. In particular, some + 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 + 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 + 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: - 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- + 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 + 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