X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=man%2Fterm.5;h=b876fea1b2ced9f3f0803b95ea954ea75917e359;hp=594890378b7174916eb1dd760cad4c00f062fe99;hb=acb4184f8f69fddd052a3daa8c8675f4bf8ce369;hpb=cccf831ed7c83410c7f6cec2a43e71e9c4278b4c diff --git a/man/term.5 b/man/term.5 index 59489037..b876fea1 100644 --- a/man/term.5 +++ b/man/term.5 @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2017,2018 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: term.5,v 1.29 2018/05/19 21:09:25 tom Exp $ +.\" $Id: term.5,v 1.32 2019/01/12 23:11:08 tom Exp $ .TH term 5 .ie \n(.g .ds `` \(lq .el .ds `` `` @@ -43,7 +43,8 @@ .de NE .fi .ft R -.in -4 +.ie n .in -4 +.el .in -2 .. .de bP .ie n .IP \(bu 4 @@ -232,7 +233,7 @@ On occasion, 16-bit signed integers are not large enough. With \fBncurses\fP 6.1, a new format was introduced by making a few changes to the legacy format: .bP -a different magic number (0542) +a different magic number (octal 01036) .bP changing the type for the \fInumber\fP array from signed 16-bit integers to signed 32-bit integers. @@ -243,6 +244,8 @@ However, that cannot provide callers with the extended numbers. The library uses a similar but hidden data structure \fBTERMTYPE2\fP to provide data for the terminfo functions. .SH PORTABILITY +.SS setupterm +.PP Note that it is possible for .B setupterm to expect a different set of capabilities @@ -260,6 +263,11 @@ 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. +.SS Binary format +.PP +X/Open Curses does not specify a format for the terminfo database. +UNIX System V curses used a directory-tree of binary files, +one per terminal description. .PP Despite the consistent use of little-endian for numbers and the otherwise self-describing format, it is not wise to count on portability of binary @@ -272,10 +280,30 @@ System V and XSI Curses extensions. See \fBterminfo\fR(\*n) for detailed discussion of terminfo source compatibility issues. .PP +This implementation is by default compatible with the binary +terminfo format used by Solaris curses, +except in a few less-used details +where it was found that the latter did not match X/Open Curses. +The format used by the other Unix versions +can be matched by building ncurses +with different configuration options. +.SS Magic codes +.PP +The magic number in a binary terminfo file is the first 16-bits (two bytes). +Besides making it more reliable for the library to check that a file +is terminfo, +utilities such as \fBfile\fP also use that to tell what the file-format is. +System V defined more than one magic number, +with 0433, 0435 as screen-dumps (see \fBscr_dump\fP(5)). +This implementation uses 01036 as a continuation of that sequence, +but with a different high-order byte to avoid confusion. +.SS The TERMTYPE structure +.PP Direct access to the \fBTERMTYPE\fP structure is provided for legacy applications. Portable applications should use the \fBtigetflag\fP and related functions described in \fBcurs_terminfo\fP(3X) for reading terminal capabilities. +.SS Mixed-case terminal names .PP A small number of terminal descriptions use uppercase characters in their names.