X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fterm.5.html;h=1b1dfd5086498845a0693e25f441ea26af5feede;hp=2659fc47930b910bc862653072d31457a46e44a8;hb=d66080c21038ad4feb2e41a0c4e517d5b4a03ab2;hpb=1501ae2a13db0ffd2db8404c24aa5010a88ea91b diff --git a/doc/html/man/term.5.html b/doc/html/man/term.5.html index 2659fc47..1b1dfd50 100644 --- a/doc/html/man/term.5.html +++ b/doc/html/man/term.5.html @@ -26,7 +26,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: term.5,v 1.26 2017/02/18 16:58:21 tom Exp @ + * @Id: term.5,v 1.27 2017/12/16 21:27:20 tom Exp @ --> @@ -85,7 +85,7 @@ base otherwise. -
+
The format has been chosen so that it will be the same on all hardware. An 8 or more bit byte is assumed, but no assumptions about byte order- ing or sign extension are made. @@ -187,68 +187,110 @@ extended capabilities in order, e.g., booleans, then numbers and finally strings. + Applications which manipulate terminal data can use the definitions + described in term_variables(3x) which associate the long capability + names with members of a TERMTYPE structure. + + +
+ On occasion, 16-bit signed integers are not large enough. With ncurses + 6.1, a new format is introduced by making a few changes to the legacy + format: + + o a different magic number (0542) + + o changing the type for the number array from signed 16-bit integers + to signed 32-bit integers. + + To maintain compatibility, the library presents the same data struc- + tures to direct users of the TERMTYPE structure as in previous formats. + However, that cannot provide callers with the extended numbers. The + library uses a similar but hidden data structure TERMTYPE2 to provide + data for the terminfo functions. +
- Note that it is possible for setupterm to expect a different set of - capabilities than are actually present in the file. Either the data- + Note that it is possible for setupterm to expect a different set of + capabilities than are actually present in the file. Either the data- base may have been updated since setupterm has been recompiled (result- - ing in extra unrecognized entries in the file) or the program may have - been recompiled more recently than the database was updated (resulting - in missing entries). The routine setupterm must be prepared for both - possibilities - this is why the numbers and sizes are included. Also, - new capabilities must always be added at the end of the lists of bool- + ing in extra unrecognized entries in the file) or the program may have + been recompiled more recently than the database was updated (resulting + in missing entries). The routine setupterm must be prepared for both + possibilities - this is why the numbers and sizes are included. Also, + new capabilities must always be added at the end of the lists of bool- ean, number, and string capabilities. - Despite the consistent use of little-endian for numbers and the other- - wise self-describing format, it is not wise to count on portability of - binary terminfo entries between commercial UNIX versions. The problem - is that there are at least three versions of terminfo (under HP-UX, - AIX, and OSF/1) which diverged from System V terminfo after SVr1, and - have added extension capabilities to the string table that (in the - binary format) collide with System V and XSI Curses extensions. See - terminfo(5) for detailed discussion of terminfo source compatibility + Despite the consistent use of little-endian for numbers and the other- + wise self-describing format, it is not wise to count on portability of + binary terminfo entries between commercial UNIX versions. The problem + is that there are at least three versions of terminfo (under HP-UX, + AIX, and OSF/1) which diverged from System V terminfo after SVr1, and + have added extension capabilities to the string table that (in the + binary format) collide with System V and XSI Curses extensions. See + terminfo(5) for detailed discussion of terminfo source compatibility issues. + Direct access to the TERMTYPE structure is provided for legacy applica- + tions. Portable applications should use the tigetflag and related + functions described in curs_terminfo(3x) for reading terminal capabili- + ties. + + A small number of terminal descriptions use uppercase characters in + their names. If the underlying filesystem ignores the difference + between uppercase and lowercase, ncurses represents the "first charac- + ter" of the terminal name used as the intermediate level of a directory + tree in (two-character) hexadecimal form. +
- As an example, here is a hex dump of the description for the Lear- - Siegler ADM-3, a popular though rather stupid early terminal: - - adm3a|lsi adm3a, - am, - cols#80, lines#24, - bel=^G, clear= 32$<1>, cr=^M, cub1=^H, cud1=^J, - cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, - home=^^, ind=^J, - - 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 - 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. - 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ - 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... - 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... - 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ - 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 - 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c - 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... - 0150 00 08 00 0c 00 0b 00 0a 00 ........ . + As an example, here is a description for the Lear-Siegler ADM-3, a pop- + ular though rather stupid early terminal: + + adm3a|lsi adm3a, + am, + cols#80, lines#24, + bel=^G, clear= 32$<1>, cr=^M, cub1=^H, cud1=^J, + cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, + home=^^, ind=^J, + + + and a hexadecimal dump of the compiled terminal description: + + 0000 1a 01 10 00 02 00 03 00 82 00 31 00 61 64 6d 33 ........ ..1.adm3 + 0010 61 7c 6c 73 69 20 61 64 6d 33 61 00 00 01 50 00 a|lsi ad m3a...P. + 0020 ff ff 18 00 ff ff 00 00 02 00 ff ff ff ff 04 00 ........ ........ + 0030 ff ff ff ff ff ff ff ff 0a 00 25 00 27 00 ff ff ........ ..%.'... + 0040 29 00 ff ff ff ff 2b 00 ff ff 2d 00 ff ff ff ff ).....+. ..-..... + 0050 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0060 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0070 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0080 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00a0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00b0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00c0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00d0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00e0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 00f0 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0100 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0110 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ........ ........ + 0120 ff ff ff ff ff ff 2f 00 07 00 0d 00 1a 24 3c 31 ....../. .....$<1 + 0130 3e 00 1b 3d 25 70 31 25 7b 33 32 7d 25 2b 25 63 >..=%p1% {32}%+%c + 0140 25 70 32 25 7b 33 32 7d 25 2b 25 63 00 0a 00 1e %p2%{32} %+%c.... + 0150 00 08 00 0c 00 0b 00 0a 00 ........ .
- Some limitations: total compiled entries cannot exceed 4096 bytes. The - name field cannot exceed 128 bytes. + Some limitations: + + o total compiled entries cannot exceed 4096 bytes in the legacy for- + mat. + + o total compiled entries cannot exceed 32768 bytes in the extended + format. + + o the name field cannot exceed 128 bytes.
@@ -263,8 +305,10 @@ Thomas E. Dickey extended terminfo format for ncurses 5.0 hashed database support for ncurses 5.6 + extended number support for ncurses 6.1 Eric S. Raymond + documented legacy terminfo format, e.g., from pcurses. @@ -277,8 +321,9 @@