summaryrefslogtreecommitdiffstats
path: root/lib/libncurses/term.5
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1994-10-07 08:58:58 +0000
committerache <ache@FreeBSD.org>1994-10-07 08:58:58 +0000
commita80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9 (patch)
tree4a94ca97fb2fc2fdc1fcdd522a66e39c6e763138 /lib/libncurses/term.5
downloadFreeBSD-src-a80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9.zip
FreeBSD-src-a80c0624fbd8bd1c784b0b5b7a0fd20b09d317b9.tar.gz
Moved from ports with several enhancements
Diffstat (limited to 'lib/libncurses/term.5')
-rw-r--r--lib/libncurses/term.5153
1 files changed, 153 insertions, 0 deletions
diff --git a/lib/libncurses/term.5 b/lib/libncurses/term.5
new file mode 100644
index 0000000..68f5d7f
--- /dev/null
+++ b/lib/libncurses/term.5
@@ -0,0 +1,153 @@
+.TH TERM 5
+.ds n 5
+.ds d /usr/lib/terminfo
+.SH NAME
+term \- format of compiled term file.
+.SH SYNOPSIS
+.B term
+.SH DESCRIPTION
+.PP
+Compiled terminfo descriptions are placed under the directory \fB\*d\fP.
+In order to avoid a linear search of a huge \s-1UNIX\s+1 system directory, a
+two-level scheme is used: \fB\*b/c/name\fP
+where
+.I name
+is the name of the terminal, and
+.I c
+is the first character of
+.IR name .
+Thus,
+.I act4
+can be found in the file \fB\*d/a/act4\fP.
+Synonyms for the same terminal are implemented by multiple
+links to the same compiled file.
+.PP
+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 ordering
+or sign extension are made.
+.PP
+The compiled file is created with the
+.I tic
+program, and read by the routine
+.IR setupterm .
+Both of these pieces of software are part of
+.IR ncurses (3X).
+The file is divided into six parts:
+the header,
+terminal names,
+boolean flags,
+numbers,
+strings,
+and
+string table.
+.PP
+The header section begins the file.
+This section contains six short integers in the format
+described below.
+These integers are
+(1) the magic number (octal 0432);
+(2) the size, in bytes, of the names section;
+(3) the number of bytes in the boolean section;
+(4) the number of short integers in the numbers section;
+(5) the number of offsets (short integers) in the strings section;
+(6) the size, in bytes, of the string table.
+.PP
+Short integers are stored in two 8-bit bytes.
+The first byte contains the least significant 8 bits of the value,
+and the second byte contains the most significant 8 bits.
+(Thus, the value represented is 256*second+first.)
+The value \-1 is represented by 0377, 0377, other negative
+value are illegal.
+The
+\-1 generally means that a capability is missing from this terminal.
+Note that this format corresponds to the hardware of the \s-1VAX\s+1 and \s-1PDP\s+1-11.
+Machines where this does not correspond to the hardware read the
+integers as two bytes and compute the result.
+.PP
+The terminal names section comes next.
+It contains the first line of the terminfo description,
+listing the various names for the terminal,
+separated by the `|' character.
+The section is terminated with an \s-1ASCII NUL\s+1 character.
+.PP
+The boolean flags have one byte for each flag.
+This byte is either 0 or 1 as the flag is present or absent.
+The capabilities are in the same order as the file <term.h>.
+.PP
+Between the boolean section and the number section,
+a null byte will be inserted, if necessary,
+to ensure that the number section begins on an even byte.
+All short integers are aligned on a short word boundary.
+.PP
+The numbers section is similar to the flags section.
+Each capability takes up two bytes,
+and is stored as a short integer.
+If the value represented is \-1, the capability is taken to be missing.
+.PP
+The strings section is also similar.
+Each capability is stored as a short integer, in the format above.
+A value of \-1 means the capability is missing.
+Otherwise, the value is taken as an offset from the beginning
+of the string table.
+Special characters in ^X or \ec notation are stored in their
+interpreted form, not the printing representation.
+Padding information $<nn> and parameter information %x are
+stored intact in uninterpreted form.
+.PP
+The final section is the string table.
+It contains all the values of string capabilities referenced in
+the string section.
+Each string is null terminated.
+.PP
+Note that it is possible for
+.I setupterm
+to expect a different set of capabilities
+than are actually present in the file.
+Either the database may have been updated since
+.I setupterm
+has been recompiled
+(resulting 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
+.I 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 boolean, number, and string capabilities.
+.PP
+As an example, an octal dump of the description for the Microterm ACT 4
+is included:
+.nf
+.sp
+microterm|act4|microterm act iv,
+ cr=^M, cud1=^J, ind=^J, bel=^G, am, cub1=^H,
+ ed=^_, el=^^, clear=^L, cup=^T%p1%c%p2%c,
+ cols#80, lines#24, cuf1=^X, cuu1=^Z, home=^],
+.sp
+.ft CW
+\s-2000 032 001 \e0 025 \e0 \eb \e0 212 \e0 " \e0 m i c r
+020 o t e r m | a c t 4 | m i c r o
+040 t e r m a c t i v \e0 \e0 001 \e0 \e0
+060 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0 \e0
+100 \e0 \e0 P \e0 377 377 030 \e0 377 377 377 377 377 377 377 377
+120 377 377 377 377 \e0 \e0 002 \e0 377 377 377 377 004 \e0 006 \e0
+140 \eb \e0 377 377 377 377 \en \e0 026 \e0 030 \e0 377 377 032 \e0
+160 377 377 377 377 034 \e0 377 377 036 \e0 377 377 377 377 377 377
+200 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377 377
+*
+520 377 377 377 377 \e0 377 377 377 377 377 377 377 377 377 377
+540 377 377 377 377 377 377 007 \e0 \er \e0 \ef \e0 036 \e0 037 \e0
+560 024 % p 1 % c % p 2 % c \e0 \en \e0 035 \e0
+600 \eb \e0 030 \e0 032 \e0 \en \e0\s+2
+.ft R
+.fi
+.sp
+.PP
+Some limitations: total compiled entries cannot exceed 4096 bytes.
+The name field cannot exceed 128 bytes.
+.SH FILES
+\*d/*/* compiled terminal capability data base
+.SH "SEE ALSO"
+ncurses(3X), terminfo(\*n).
OpenPOWER on IntegriCloud