]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/file/magic/Magdir/terminfo
MFV r354582: file 5.37.
[FreeBSD/FreeBSD.git] / contrib / file / magic / Magdir / terminfo
1
2 #------------------------------------------------------------------------------
3 # $File: terminfo,v 1.11 2019/04/19 00:42:27 christos Exp $
4 # terminfo:  file(1) magic for terminfo
5 #
6 # URL: https://invisible-island.net/ncurses/man/term.5.html
7 # URL: https://invisible-island.net/ncurses/man/scr_dump.5.html
8 #
9 # Workaround for Targa image type by Joerg Jenderek
10 # GRR: line below too general as it catches also
11 # Targa image type 1 with 26 long identification field
12 # and HELP.DSK
13 0       string          \032\001
14 # 5th character of terminal name list, but not Targa image pixel size (15 16 24 32)
15 >16     ubyte           >32
16 # namelist, if more than 1 separated by "|" like "st|stterm| simpleterm 0.4.1"
17 >>12    regex           \^[a-zA-Z0-9][a-zA-Z0-9.][^|]*  Compiled terminfo entry "%-s"
18 !:mime  application/x-terminfo
19 # no extension
20 #!:ext
21 #
22 #------------------------------------------------------------------------------
23 # The following was added for ncurses6 development:
24 #------------------------------------------------------------------------------
25 #
26 0       string          \036\002
27 # imitate the legacy compiled-format, to get the entry-name printed
28 >16     ubyte           >32
29 # namelist, if more than 1 separated by "|" like "st|stterm| simpleterm 0. 4.1"
30 >>12    regex           \^[a-zA-Z0-9][a-zA-Z0-9.][^|]*  Compiled 32-bit terminfo entry "%-s"
31 !:mime  application/x-terminfo2
32 #
33 # While the compiled terminfo uses little-endian format irregardless of
34 # platform, SystemV screen dumps do not.  They came later, and that detail was
35 # overlooked.
36 #
37 # AIX and HPUX use the SVr4 big-endian format
38 # Solaris uses the SVr3 formats (sparc and x86 differ endian-ness)
39 0       beshort         0433            SVr2 curses screen image, big-endian
40 0       beshort         0434            SVr3 curses screen image, big-endian
41 0       beshort         0435            SVr4 curses screen image, big-endian
42 #
43 0       leshort         0433            SVr2 curses screen image, little-endian
44 0       leshort         0434            SVr3 curses screen image, little-endian
45 0       leshort         0435            SVr4 curses screen image, little-endian
46 #
47 # Rather than SVr4, Solaris "xcurses" writes this header:
48 0       regex           \^MAX=[0-9]+,[0-9]+$
49 >1      regex           \^BEG=[0-9]+,[0-9]+$
50 >2      regex           \^SCROLL=[0-9]+,[0-9]+$
51 >3      regex           \^VMIN=[0-9]+$
52 >4      regex           \^VTIME=[0-9]+$
53 >5      regex           \^FLAGS=0x[[:xdigit:]]+$
54 >6      regex           \^FG=[0-9],[0-9]+$
55 >7      regex           \^BG=[0-9]+,[0-9]+,     Solaris xcurses screen image
56 #
57 # ncurses5 (and before) did not use a magic number, making screen dumps "data".
58 # ncurses6 (2015) uses this format, ignoring byte-order
59 0       string  \210\210\210\210ncurses ncurses6 screen image
60 #
61 # PDCurses added this in 2005
62 0       string          PDC\001         PDCurses screen image