updated .gitignore

This commit is contained in:
2022-10-12 10:50:23 -05:00
parent 7fddabe5a5
commit 6a061dcbde
79 changed files with 2 additions and 19605 deletions

2
.gitignore vendored
View File

@@ -2,3 +2,5 @@ sample1.txt
program3-4
program3-4-2.c
test1.c
include
lib

View File

@@ -1,971 +0,0 @@
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 1998-2015,2016 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
# $Id: Caps,v 1.48 2021/10/08 07:55:48 tom Exp $
#
# This is the master termcap/terminfo capability table.
#
# This table is used to generate initializers for tables that drive tic,
# infocmp, and the library compilation code used to support the termcap
# compatibility hack. It is also used to generate the tabular portion of the
# terminfo(5) man page; lines beginning with `#%' are passed through to become
# the terminfo table.
#
# This file has three major sections; a standard-capabilities table, two
# extension-capability tables, and a section of aliases declarations.
# The first two have the same format, as follows:
#
# FILE FORMAT
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
# Column 3: capability type (boolean, numeric, or string)
# Column 4: termcap capability name
# Column 5: KEY_xxx name, if any, `-' otherwise
# Column 6: value for KEY_xxx name, if any, `-' otherwise
# Column 7: Lead with `Y' if capability should be emitted in termcap
# translations, `-' otherwise
# Column 8: capability description
#
# The codes following [Y-] in column 7 describe the versions of termcap which
# use the given capability. This information is not used by the curses library
# proper; rather, it is there to help the terminfo maintainer avoid emitting
# termcap entry translations that are more than 1023 bytes long (and tank a
# lot of old termcap-using programs). The codes read as follows:
# B = mentioned in the BSD man page for 4.4BSD curses
# C = used by the 4.4BSD curses library
# G = mentioned in the documentation for GNU termcap
# E = used by GNU Emacs
# K = remove this terminfo capability when translating to standard format
# The important codes are C and E. A cap with C or E should be preserved in
# translation if possible. The problem is that preserving all such caps may
# lead to some termcap translations being too long. The termcap maintainer
# has a bit of a juggling act to do...potential problem cases are marked with
# an asterisk (*).
#
# The aliases section has the following format:
#
# Column 1: either `capalias' or `infoalias'
# Column 2: name to be aliased
# Column 3: what name it should translate to. The name IGNORE means it
# should be discarded with a warning message.
# Column 4: name of the extension set (used for compiler warning messages)
# Column 5: capability description (usually an associated terminfo variable)
#
# HANDLING TERMCAP AND TERMINFO EXTENSIONS
#
# There are basically five different ways to handle termcap and terminfo
# extensions:
#
# 1. Don't list the capname here, or list it but comment it out (the latter
# is preferable; someone might want to handle it in the future). If you do
# this, the capability will be treated as unknown and raise a warning from
# the compiler.
#
# 2. Alias it. This is appropriate if the capability has the same meaning
# as an already-supported one. The compiler will handle aliasing, emitting
# an appropriate informational message whenever an alias fires.
#
# 3. List it in the standard table. You almost certainly do *not* want
# to do this -- the capabilities in that one, and their order, have been
# carefully chosen to be SVr4-binary-compatible when they're written out
# as a terminfo object, and breaking this would be bad. It is up to the ncurses
# library what to do with the terminfo data after it is read in.
#
# 4. List it in the aliases table with an IGNORE target field. If you
# do this, the capability will be ignored on input (though the user will
# get a warning message about it).
#
# 5. List it in the extensions table. If you do this, the compiler will
# silently accept the capability, but the curses library proper will never
# see it (because it won't be written out as part of the terminfo object
# format). It is up to you what you have the compiler do with it.
#
# There are two opposite reasons to choose option 5. One is when you want
# to eat the capability silently and discard it when doing translations
# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
# in this class. Nothing will ever use them again.
#
# More usually, you want the compiler to try to deduce something from the
# capability value that it can use to translate it into your output format.
# You'll need to write custom code, probably in postprocess_termcap() or
# postprocess_terminfo(), to handle the translation.
#
# CONTROLLING ENTRY LENGTH
#
# Notes on specific elisions made to fit translations within 1023 bytes:
#
# Machines with IBM PC-like keyboards want to be able to define the following
# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
# only environments for End or Home-Down), key_dc, and key_ic. This is also
# the set of keys the `joe' editor will be upset if it can't see. So don't
# trim those out of the set to be translated to termcap, or various users of
# the termcap file will become irate.
#
# It might look tempting to leave those long init strings out of translations.
# We can't do it (yet); 4.4BSD tput and tset use them.
#
# We retain the sgr capability in translation in spite of the fact that neither
# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
# hard to understand without it, and (b) the entries in which it is long tend
# to be older types that don't use up a lot of string space on function keys.
# The tic(1) translation code will complain and elide it if it makes a critical
# difference (there is special code in tic to recognize this situation).
#
# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
# optimizer in BSD curses didn't use them. This omission seems to be the
# single most effective one, it shortened the resolved length of all thirteen
# problem entries in the 9.9.0 version of the terminfo master below critical.
#
# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
# translations go back over critical if we do this. As 4.4BSD curses fades
# into history and GNU termcap's application base shrinks towards being GNU
# Emacs only, we'll probably elide out some BSD-only capabilities in order
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
#############################################################################
#
# STANDARD CAPABILITIES
#
#%The following is a complete table of the capabilities included in a
#%terminfo description block and available to terminfo-using code. In each
#%line of the table,
#%
#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
#%accesses the capability.
#%
#%The \fBcapname\fR is the short name used in the text of the database,
#%and is used by a person updating the database.
#%Whenever possible, capnames are chosen to be the same as or similar to
#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
#%identical or very similar names). Semantics are also intended to match
#%those of the specification.
#%
#%The termcap code is the old
#%.B termcap
#%capability name (some capabilities are new, and have names which termcap
#%did not originate).
#%.P
#%Capability names have no hard length limit, but an informal limit of 5
#%characters has been adopted to keep them short and to allow the tabs in
#%the source file
#%.B Caps
#%to line up nicely.
#%
#%Finally, the description field attempts to convey the semantics of the
#%capability. You may find some codes in the description field:
#%.TP
#%(P)
#%indicates that padding may be specified
#%.TP
#%#[1-9]
#%in the description field indicates that the string is passed
#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
#%.IP
#%If no parameters are listed in the description,
#%passing the string through \fBtparm\fP(3X) may give unexpected results,
#%e.g., if it contains percent (%%) signs.
#%.TP
#%(P*)
#%indicates that padding may vary in proportion to the number of
#%lines affected
#%.TP
#%(#\d\fIi\fP\u)
#%indicates the \fIi\fP\uth\d parameter.
#%
#%.PP
#% These are the boolean capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBBooleans name Code\fR
auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
auto_right_margin am bool am - - YBCGE terminal has automatic margins
no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
generic_type gn bool gn - - YB-G- generic line type
hard_copy hc bool hc - - YBCG- hardcopy terminal
has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
has_status_line hs bool hs - - YB-G- has extra status line
insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
memory_above da bool da - - YBCG- display may be retained above the screen
memory_below db bool db - - YB-GE display may be retained below the screen
move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
over_strike os bool os - - YBCG- terminal can overstrike
status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
transparent_underline ul bool ul - - YBCGE underline character overstrikes
xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
hard_cursor chts bool HC - - ----- cursor is hard to see
non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
no_pad_char npc bool NP - - ----- pad character does not exist
non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
can_change ccc bool cc - - ----- terminal can re-define existing colors
back_color_erase bce bool ut - - ----- screen erased with background color
hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps
cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode
has_print_wheel daisy bool YC - - ----- printer needs operator to change character set
row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps
semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr
cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution
lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.TE
#%.ad
#%
#%These are the numeric capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
columns cols num co - - YBCGE number of columns in a line
init_tabs it num it - - YB-G- tabs initially every # spaces
lines lines num li - - YBCGE number of lines on screen or page
lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
width_status_line wsl num ws - - YB-G- number of columns in status line
num_labels nlab num Nl - - ----- number of labels on screen
label_height lh num lh - - ----- rows in each label
label_width lw num lw - - ----- columns in each label
max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
maximum_windows wnum num MW - - ----- maximum number of definable windows
# These came in with SVr4's color support
max_colors colors num Co - - ----- maximum number of colors on screen
max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
no_color_video ncv num NC - - ----- video attributes that cannot be used with colors
#%.TE
#%.ad
#%
#%The following numeric capabilities are present in the SVr4.0 term structure,
#%but are not yet documented in the man page. They came in with SVr4's
#%printer support.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing
dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch
dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch
max_micro_address maddr num Yd - - ----- maximum value in micro_..._address
max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro
micro_col_size mcs num Yf - - ----- character step size when in micro mode
micro_line_size mls num Yg - - ----- line step size when in micro mode
number_of_pins npins num Yh - - ----- numbers of pins in print-head
output_res_char orc num Yi - - ----- horizontal resolution in units per line
output_res_line orl num Yj - - ----- vertical resolution in units per line
output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch
output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch
print_rate cps num Ym - - ----- print rate in characters per second
wide_char_size widcs num Yn - - ----- character step size when in double wide mode
buttons btns num BT - - ----- number of buttons on mouse
bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row
bit_image_type bitype num Yp - - ----- type of bit-image device
#%.TE
#%.ad
#%
#%These are the string capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
back_tab cbt str bt - - YBCGE back tab (P)
bell bel str bl - - YB-GE audible signal (bell) (P)
carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
clr_eol el str ce - - YBCGE clear to end of line (P)
clr_eos ed str cd - - YBCGE clear to end of screen (P*)
column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
cursor_address cup str cm - - YBCGE move to row #1 columns #2
cursor_down cud1 str do - - YBCGE down one line
cursor_home home str ho - - YBCGE home cursor (if no cup)
cursor_invisible civis str vi - - YB-G- make cursor invisible
cursor_left cub1 str le - - YBCGE move left one space
cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
cursor_up cuu1 str up - - YBCGE up one line
cursor_visible cvvis str vs - - YBCGE make cursor very visible
delete_character dch1 str dc - - YBCGE delete character (P*)
delete_line dl1 str dl - - YBCGE delete line (P*)
dis_status_line dsl str ds - - YB-G- disable status line
down_half_line hd str hd - - YB-G- half a line down
enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
enter_blink_mode blink str mb - - YB-G- turn on blinking
enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
enter_delete_mode smdc str dm - - YBCGE enter delete mode
enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
enter_insert_mode smir str im - - YBCGE enter insert mode
enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
enter_protected_mode prot str mp - - -B-G-* turn on protected mode
enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
enter_standout_mode smso str so - - YBCGE begin standout mode
enter_underline_mode smul str us - - YBCGE begin underline mode
erase_chars ech str ec - - YB-G- erase #1 characters (P)
exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
exit_delete_mode rmdc str ed - - YBCGE end delete mode
exit_insert_mode rmir str ei - - YBCGE exit insert mode
exit_standout_mode rmso str se - - YBCGE exit standout mode
exit_underline_mode rmul str ue - - YBCGE exit underline mode
flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
from_status_line fsl str fs - - YB-G- return from status line
init_1string is1 str i1 - - YB-G- initialization string
init_2string is2 str is - - YB-G- initialization string
init_3string is3 str i3 - - YB-G- initialization string
init_file if str if - - YB-G- name of initialization file
insert_character ich1 str ic - - YBCGE insert character (P)
insert_line il1 str al - - YBCGE insert line (P*)
insert_padding ip str ip - - YBCGE insert padding after inserted character
key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
key_home khome str kh KEY_HOME 0406 YBCGE home key
key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
lab_f10 lf10 str la - - ----- label on function key f10 if not f10
lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
meta_off rmm str mo - - YB-G-* turn off meta mode
meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
pad_char pad str pc - - YBCGE padding char (instead of null)
parm_dch dch str DC - - YB-GE delete #1 characters (P*)
parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
parm_ich ich str IC - - YB-GE insert #1 characters (P*)
parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
print_screen mc0 str ps - - -B-G-* print contents of screen
prtr_off mc4 str pf - - -B-G-* turn off printer
prtr_on mc5 str po - - -B-G-* turn on printer
repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
reset_1string rs1 str r1 - - -B--- reset string
reset_2string rs2 str r2 - - -B--- reset string
reset_3string rs3 str r3 - - -B--- reset string
reset_file rf str rf - - -B--- name of reset file
restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
save_cursor sc str sc - - YBCG- save current cursor position (P)
scroll_forward ind str sf - - YBCGE scroll text up (P)
scroll_reverse ri str sr - - YBCGE scroll text down (P)
set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st - - YB-G- set a tab in every row, current columns
set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts - - YB-G- move to status line, column #1
underline_char uc str uc - - YBCG- underline char and move past it
up_half_line hu str hu - - YB-G- half a line up
init_prog iprog str iP - - -B--- path name of program for initialization
key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
#
# SVr1 capabilities stop here. IBM's version of terminfo is the same as
# SVr4 up to this point, but has a different set afterwards.
#
char_padding rmp str rP - - ----- like ip but when in insert mode
acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
plab_norm pln str pn - - ----- program label #1 to show string #2
key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key
enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
enter_am_mode smam str SA - - ----- turn on automatic margins
exit_am_mode rmam str RA - - ----- turn off automatic margins
xon_character xonc str XN - - ----- XON character
xoff_character xoffc str XF - - ----- XOFF character
ena_acs enacs str eA - - ----- enable alternate char set
label_on smln str LO - - ----- turn on soft labels
label_off rmln str LF - - ----- turn off soft labels
key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
key_close kclo str @3 KEY_CLOSE 0544 ----- close key
key_command kcmd str @4 KEY_COMMAND 0545 ----- command key
key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
key_create kcrt str @6 KEY_CREATE 0547 ----- create key
key_end kend str @7 KEY_END 0550 ----- end key
key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
key_exit kext str @9 KEY_EXIT 0551 ----- exit key
key_find kfnd str @0 KEY_FIND 0552 ----- find key
key_help khlp str %1 KEY_HELP 0553 ----- help key
key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
key_move kmov str %4 KEY_MOVE 0556 ----- move key
key_next knxt str %5 KEY_NEXT 0557 ----- next key
key_open kopn str %6 KEY_OPEN 0560 ----- open key
key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
key_print kprt str %9 KEY_PRINT 0532 ----- print key
key_redo krdo str %0 KEY_REDO 0563 ----- redo key
key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567 ----- restart key
key_resume kres str &5 KEY_RESUME 0570 ----- resume key
key_save ksav str &6 KEY_SAVE 0571 ----- save key
key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
key_undo kund str &8 KEY_UNDO 0630 ----- undo key
key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
key_select kslt str *6 KEY_SELECT 0601 ----- select key
key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
req_for_input rfi str RF - - ----- send next input char (for ptys)
key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
display_clock dclk str DK - - ----- display clock
remove_clock rmclk str RC - - ----- remove clock
create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5
goto_window wingo str WG - - ----- go to window #1
hangup hup str HU - - ----- hang-up phone
dial_phone dial str DI - - ----- dial number #1
quick_dial qdial str QD - - ----- dial number #1 without checking
tone tone str TO - - ----- select touch tone dialing
pulse pulse str PU - - ----- select pulse dialing
flash_hook hook str fh - - ----- flash switch hook
fixed_pause pause str PA - - ----- pause for 2-3 seconds
wait_tone wait str WA - - ----- wait for dial-tone
user0 u0 str u0 - - ----- User string #0
user1 u1 str u1 - - ----- User string #1
user2 u2 str u2 - - ----- User string #2
user3 u3 str u3 - - ----- User string #3
user4 u4 str u4 - - ----- User string #4
user5 u5 str u5 - - ----- User string #5
user6 u6 str u6 - - ----- User string #6
user7 u7 str u7 - - ----- User string #7
user8 u8 str u8 - - ----- User string #8
user9 u9 str u9 - - ----- User string #9
#
# SVr4 added these capabilities to support color
#
orig_pair op str op - - ----- Set default pair to its original value
orig_colors oc str oc - - ----- Set all color pairs to the original ones
initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
set_background setb str Sb - - ----- Set background color #1
#
# SVr4 added these capabilities to support printers
#
change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1
change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1
change_res_horz chr str ZC - - ----- Change horizontal resolution to #1
change_res_vert cvr str ZD - - ----- Change vertical resolution to #1
define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3
enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode
enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode
enter_italics_mode sitm str ZH - - ----- Enter italic mode
enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion
enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode
enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode
enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode
enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode
enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode
enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode
enter_upward_mode sum str ZP - - ----- Start upward carriage motion
exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode
exit_italics_mode ritm str ZR - - ----- End italic mode
exit_leftward_mode rlm str ZS - - ----- End left-motion mode
exit_micro_mode rmicm str ZT - - ----- End micro-motion mode
exit_shadow_mode rshm str ZU - - ----- End shadow-print mode
exit_subscript_mode rsubm str ZV - - ----- End subscript mode
exit_superscript_mode rsupm str ZW - - ----- End superscript mode
exit_upward_mode rum str ZX - - ----- End reverse character motion
micro_column_address mhpa str ZY - - ----- Like column_address in micro mode
micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode
micro_left mcub1 str Za - - ----- Like cursor_left in micro mode
micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode
micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode
micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode
order_of_pins porder str Ze - - ----- Match software bits to print-head pins
parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode
parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode
parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode
parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode
select_char_set scs str Zj - - ----- Select character set, #1
set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line
set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1
set_top_margin smgt str Zo - - ----- Set top margin at current line
set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1
start_bit_image sbim str Zq - - ----- Start printing bit image graphics
start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set
stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics
stop_char_set_def rcsd str Zt - - ----- End definition of character set #1
subscript_characters subcs str Zu - - ----- List of subscriptable characters
superscript_characters supcs str Zv - - ----- List of superscriptable characters
these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR
zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.TE
#%.ad
#%
#%The following string capabilities are present in the SVr4.0 term structure,
#%but were originally not documented in the man page.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw18.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names
key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
mouse_info minfo str Mi - - ----- Mouse status information
req_mouse_pos reqmp str RQ - - ----- Request mouse position
get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2
bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times
bit_image_newline binel str Zz - - ----- Move to next row of the bit image
bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row
color_names colornm str Yw - - ----- Give name for color #1
define_bit_image_region defbi str Yx - - ----- Define rectangular bit image region
end_bit_image_region endbi str Yy - - ----- End a bit-image region
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_page_length slines str YZ - - ----- Set page length to #1 lines
#
# SVr4 added these capabilities for direct PC-clone support
#
display_pc_char dispc str S1 - - ----- Display PC character #1
enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode
exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode
enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode
exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode
pc_term_options pctrm str S6 - - ----- PC terminal options
scancode_escape scesc str S7 - - ----- Escape for scancode emulation
alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation
#%.TE
#%.ad
#%
#%.in .8i
#%The XSI Curses standard added these hardcopy capabilities.
#%They were used in some post-4.1 versions of System V curses,
#%e.g., Solaris 2.5 and IRIX 6.x.
#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
#%According to the XSI Curses standard, they have no termcap names.
#%If your compiled terminfo entries use these,
#%they may not be binary-compatible with System V terminfo
#%entries after SVr4.1; beware!
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode
enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
#%.TE
#%.ad
#
# The magic token below tells the tic compiler-generator code that all the caps
# past it should be ignored (not written out) when dumping terminfo objects. It
# also tells the man page table generator not to pass through following lines
# This means we can have obsolete capabilities and pseudo-capabilities that are
# recognized for termcap or terminfo compilation, but not output.
#
# %%-STOP-HERE-%%
#
# Don't move this casually! In fact, don't move it at all unless you're
# either doing it to add System V or XPG4 extensions, or have decided you
# don't care about SVr4 binary compatibility.
#
#############################################################################
#
# TERMCAP EXTENSION CAPABILITIES
#
# The capabilities below are either obsolete or extensions on certain systems.
# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
# termcap sources; the rest are listed for completeness, and in case somebody
# cares about them enough to hack in code that will translate them into
# terminfo capabilities.
#
# The first part of the list is from Ross Ridge's `mytinfo' package
# (comp.sources.unix, volume 26); the variable names and terminfo names (as
# well as the termcap codes) match his list.
#
# This group of codes is not marked obsolete in 4.4BSD, but have no direct
# terminfo equivalents. The rs capability is specially translated to terminfo
# r2, and vice versa, if an entry does not already have an r2. Similarly,
# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
# The ug capability is thrown away, but assumed to be whatever sg is if the
# latter is nonzero and we're dumping in termcap format.
#
termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
termcap_reset OTrs str rs - - YB-G- terminal reset string
magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
#
# Obsolete termcap capabilities. Some are used for termcap translation. The
# code uses the 'OT' prefix we put on obsolete capabilities to suppress
# printing them in terminfo source dumps of compiled entries.
#
backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
new_line_delay OTdN num dN - - YB-G- pad needed for LF
linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
#
# GNU termcap library extensions. The GNU termcap file distributed with
# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
# BSD termcap file. The name clash with terminfo MT is resolved by type
# info; MT is converted to km.
#
gnu_has_meta_key OTMT bool MT - - ----E has meta key
# gnu_tab_width OTtw num tw - - ----E tab width in spaces
#
# GNU termcap *does* include the following extended capability, Only the
# now-obsolete Ann Arbor terminals used it.
#
# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
#
# The following comments describe capnames so ancient that I believe no
# software uses them any longer. Some of these have to go because they
# clash with terminfo names in ways that cannot be resolved by type
# information.
#
# These mytinfo codes are not used in the 4.4BSD curses code. They are
# marked obsolete in the 4.4BSD manual pages.
#
# There is one conflict with terminfo; ma is in both. This conflict is
# resolved by type information.
#
# The `ko' capability is translated by special code. It should contain a
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
# The `ma' capability was a 4.0BSD feature used by vi version 2.
# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
# Besides being obsolete, that interpretation conflicts with max_attributes.
#
# Here is a description of memory_lock_above and memory_unlock:
# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
# text. All lines above the cursor's current line become locked in place on
# the screen. Then enter data normally. When the screen fills up, any
# further data entered forces the first line of unfrozen line text to scroll
# under the frozen data. Lines scrolled off the screen are inserted into
# memory immediately preceding the first frozen line." (from the HP 700/96
# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
#
# Applications that use terminfo are supposed to behave as though xr is
# always true.
#
linefeed_is_newline OTNL bool NL - - YB--- move down with \n
# even_parity OTEP bool EP - - -B--- terminal requires even parity
# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
backspace_delay OTdB num dB - - YB-G- padding required for ^H
# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
number_of_function_keys OTkn num kn - - -B-G- count of function keys
other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
return_does_clr_eol OTxr bool xr - - YB--- return clears the line
# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
#
# mytinfo described this as a termcap capability, but it is not listed in the
# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
# package, like System V, behaves as though it is always true.
#
# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
#
# University of Waterloo termcap extensions (as described in mytinfo).
# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
# be resolved by a type check. The descriptions are guesses from what was
# in the mytinfo tables.
#
# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
# key_kill_char OTkk str kk - - ----- string set by kill key (?)
# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
#
# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
# check.
#
# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
#
# The mytinfo capabilities end here.
#
# XENIX extensions:
#
# Xenix defined its own set of forms-drawing capabilities:
#
# cap IBM ASCII description ACS ASCII
# --- ----------- -------------------- ------------- ------
# G1 191 \277 M-? single upper right ACS_URCORNER
# G2 218 \332 M-Z single upper left ACS_ULCORNER
# G3 192 \300 M-@ single lower left ACS_LLCORNER
# G4 217 \331 M-Y single lower right ACS_LRCORNER
# G5 187 \273 M-; double upper right
# G6 201 \311 M-I double upper left
# G7 200 \310 M-H double lower left
# G8 188 \274 M-< double lower right
# GC 197 \305 M-E single intersection ACS_PLUS _ _
# GD 194 \302 M-B single down-tick ACS_TTEE |
# GH 196 \304 M-D single horizontal line ACS_HLINE
# GL 180 \264 M-4 single left tick ACS_RTEE -|
# GR 195 \303 M-C single right tick ACS_LTEE |-
# GU 193 \301 M-A single up tick ACS_BTEE _|_
# GV 179 \263 M-3 single vertical line ACS_VLINE
# Gc 206 \316 M-N double intersection
# Gd 203 \313 M-K double down tick
# Gh 205 \315 M-M double horizontal line
# Gl 204 \204 M-L double left tick
# Gr 185 \271 M-9 double right tick
# Gu 202 \312 M-J double up tick
# Gv 186 \272 M-: double vertical line
#
# The compiler will translate the single-line caps and discard the others
# (via IGNORE aliases further down). We don't want to do normal pad
# translation on these, they're often single-character printable ASCII
# strings that happen to be numerics. There's awk code in parametrized.sh
# that detects the acs_ prefix and uses it to suppress pad translation.
# These terminfo names are invented.
#
acs_ulcorner OTG2 str G2 - - ----- single upper left
acs_llcorner OTG3 str G3 - - ----- single lower left
acs_urcorner OTG1 str G1 - - ----- single upper right
acs_lrcorner OTG4 str G4 - - ----- single lower right
acs_ltee OTGR str GR - - ----- tee pointing right
acs_rtee OTGL str GL - - ----- tee pointing left
acs_btee OTGU str GU - - ----- tee pointing up
acs_ttee OTGD str GD - - ----- tee pointing down
acs_hline OTGH str GH - - ----- single horizontal line
acs_vline OTGV str GV - - ----- single vertical line
acs_plus OTGC str GC - - ----- single intersection
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# (see Caps-ncurses for the complete set of comments)
#
memory_lock meml str ml - - ----K lock memory above cursor
memory_unlock memu str mu - - ----K unlock memory
box_chars_1 box1 str bx - - ----K box characters primary set
#############################################################################

View File

@@ -1,461 +0,0 @@
##############################################################################
# Copyright 2019,2020 Thomas E. Dickey #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# copy of this software and associated documentation files (the "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey
#
# $Id: Caps-ncurses,v 1.10 2020/09/29 19:05:19 tom Exp $
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# This section is all comments (selected lines are copied/uncommented into
# specific "Caps" files). The section describes what capabilities need to be
# squeezed out to get down to the XSI Curses standard set. They are flagged
# with K.
#
# HP extensions
#
# These extensions follow ptr_non (replacing everything after it) in HP
# terminfo files. Except for memory_lock and memory_unlock, they are
# functionally identical to SVr4 extensions, but they make the binary format
# different. Grrr....
#
#memory_lock meml str ml - - ----K lock memory above cursor
#memory_unlock memu str mu - - ----K unlock memory
#plab_norm pln str pn - - ----- program label #1 to show string #2
#label_on smln str LO - - ----- turn on soft labels
#label_off rmln str LF - - ----- turn off soft labels
#key_f11 kf11 str F1 - - ----- F11 function key
#key_f12 kf12 str F2 - - ----- F12 function key
#key_f13 kf13 str F3 - - ----- F13 function key
#key_f14 kf14 str F4 - - ----- F14 function key
#key_f15 kf15 str F5 - - ----- F15 function key
#key_f16 kf16 str F6 - - ----- F16 function key
#key_f17 kf17 str F7 - - ----- F17 function key
#key_f18 kf18 str F8 - - ----- F18 function key
#key_f19 kf19 str F9 - - ----- F19 function key
#key_f20 kf20 str FA - - ----- F20 function key
#key_f21 kf21 str FB - - ----- F21 function key
#key_f22 kf22 str FC - - ----- F22 function key
#key_f23 kf23 str FD - - ----- F23 function key
#key_f24 kf24 str FE - - ----- F24 function key
#key_f25 kf25 str FF - - ----- F25 function key
#key_f26 kf26 str FG - - ----- F26 function key
#key_f27 kf27 str FH - - ----- F27 function key
#key_f28 kf28 str FI - - ----- F28 function key
#key_f29 kf29 str FJ - - ----- F29 function key
#key_f30 kf30 str FK - - ----- F30 function key
#key_f31 kf31 str FL - - ----- F31 function key
#key_f32 kf32 str FM - - ----- F32 function key
#key_f33 kf33 str FN - - ----- F33 function key
#key_f34 kf34 str FO - - ----- F34 function key
#key_f35 kf35 str FP - - ----- F35 function key
#key_f36 kf36 str FQ - - ----- F36 function key
#key_f37 kf37 str FR - - ----- F37 function key
#key_f38 kf38 str FS - - ----- F38 function key
#key_f39 kf39 str FT - - ----- F39 function key
#key_f40 kf40 str FU - - ----- F40 function key
#key_f41 kf41 str FV - - ----- F41 function key
#key_f42 kf42 str FW - - ----- F42 function key
#key_f43 kf43 str FX - - ----- F43 function key
#key_f44 kf44 str FY - - ----- F44 function key
#key_f45 kf45 str FZ - - ----- F45 function key
#key_f46 kf46 str Fa - - ----- F46 function key
#key_f47 kf47 str Fb - - ----- F47 function key
#key_f48 kf48 str Fc - - ----- F48 function key
#key_f49 kf49 str Fd - - ----- F49 function key
#key_f50 kf50 str Fe - - ----- F50 function key
#key_f51 kf51 str Ff - - ----- F51 function key
#key_f52 kf52 str Fg - - ----- F52 function key
#key_f53 kf53 str Fh - - ----- F53 function key
#key_f54 kf54 str Fi - - ----- F54 function key
#key_f55 kf55 str Fj - - ----- F55 function key
#key_f56 kf56 str Fk - - ----- F56 function key
#key_f57 kf57 str Fl - - ----- F57 function key
#key_f58 kf58 str Fm - - ----- F58 function key
#key_f59 kf59 str Fn - - ----- F59 function key
#key_f60 kf60 str Fo - - ----- F60 function key
#key_f61 kf61 str Fp - - ----- F61 function key
#key_f62 kf62 str Fq - - ----- F62 function key
#key_f63 kf63 str Fr - - ----- F63 function key
#
# IBM extensions
#
# These extensions follow ptr_non (replacing everything after it) in IBM
# terminfo files.
#
# The places in the box[12] capabilities correspond to acsc characters, here is
# the mapping:
#
# box1[0] = ACS_ULCORNER
# box1[1] = ACS_HLINE
# box1[2] = ACS_URCORNER
# box1[3] = ACS_VLINE
# box1[4] = ACS_LRCORNER
# box1[5] = ACS_LLCORNER
# box1[6] = ACS_TTEE
# box1[7] = ACS_RTEE
# box1[8] = ACS_BTEE
# box1[9] = ACS_LTEE
# box1[10] = ACS_PLUS
#
# The box2 characters are the double-line versions of these forms graphics.
#
#box_chars_1 box1 str bx - - ----K box characters primary set
#box_chars_2 box2 str by - - ----K box characters secondary set
#box_attr_1 batt1 str Bx - - ----K attributes for box1
#box_attr_2 batt2 str By - - ----K attributes for box2
#color_bg_0 colb0 str d0 - - ----K background color 0
#color_bg_1 colb1 str d1 - - ----K background color 1
#color_bg_2 colb2 str d2 - - ----K background color 2
#color_bg_3 colb3 str d3 - - ----K background color 3
#color_bg_4 colb4 str d4 - - ----K background color 4
#color_bg_5 colb5 str d5 - - ----K background color 5
#color_bg_6 colb6 str d6 - - ----K background color 6
#color_bg_7 colb7 str d7 - - ----K background color 7
#color_fg_0 colf0 str c0 - - ----K foreground color 0
#color_fg_1 colf1 str c1 - - ----K foreground color 1
#color_fg_2 colf2 str c2 - - ----K foreground color 2
#color_fg_3 colf3 str c3 - - ----K foreground color 3
#color_fg_4 colf4 str c4 - - ----K foreground color 4
#color_fg_5 colf5 str c5 - - ----K foreground color 5
#color_fg_6 colf6 str c6 - - ----K foreground color 6
#color_fg_7 colf7 str c7 - - ----K foreground color 7
#font_0 font0 str f0 - - ----- select font 0
#font_1 font1 str f1 - - ----- select font 1
#font_2 font2 str f2 - - ----- select font 2
#font_3 font3 str f3 - - ----- select font 3
#font_4 font4 str f4 - - ----K select font 4
#font_5 font5 str f5 - - ----K select font 5
#font_6 font6 str f6 - - ----K select font 6
#font_7 font7 str f7 - - ----K select font 7
#key_back_tab kbtab str k0 - - ----- backtab key
#key_do kdo str ki - - ----K do request key
#key_command kcmd str kd - - ----K command-request key
#key_command_pane kcpn str kW - - ----K command-pane key
#key_end kend str kw - - ----- end key
#key_help khlp str kq - - ----- help key
#key_newline knl str nl - - ----K newline key
#key_next_pane knpn str kv - - ----K next-pane key
#key_prev_cmd kppn str kp - - ----K previous-command key
#key_prev_pane kppn str kV - - ----K previous-pane key
#key_quit kquit str kQ - - ----K quit key
#key_select ksel str kU - - ----- select key
#key_scroll_left kscl str kz - - ----K scroll left
#key_scroll_right kscr str kZ - - ----K scroll right
#key_tab ktab str ko - - ----K tab key
#key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input
#key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output
#key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input
#key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output
#key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input
#key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output
#key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input
#key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output
#key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input
#key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output
#appl_defined_str apstr str za - - ----K application-defined string
# The key_smap_in[6789] and key_smap_out[6789] capabilities aren't described in
# the IBM manual pages, so the cap name strings are guesses. The terminfo
# names are almost certainly right, the termcap ones almost certainly wrong.
#key_smap_in6 kmpf6 str k! - - ----K special mapped key 6 input
#key_smap_out6 kmpt6 str K@ - - ----K special mapped key 6 output
#key_smap_in7 kmpf7 str k# - - ----K special mapped key 7 input
#key_smap_out7 kmpt7 str K$ - - ----K special mapped key 7 output
#key_smap_in8 kmpf8 str k% - - ----K special mapped key 8 input
#key_smap_out8 kmpt8 str K^ - - ----K special mapped key 8 output
#key_smap_in9 kmpf9 str k& - - ----K special mapped key 9 input
#key_smap_out9 kmpt9 str K* - - ----K special mapped key 9 output
# Undocumented capabilities end here
#key_sf1 ksf1 str S1 - - ----K special function key 1
#key_sf2 ksf2 str S2 - - ----K special function key 2
#key_sf3 ksf3 str S3 - - ----K special function key 3
#key_sf4 ksf4 str S4 - - ----K special function key 4
#key_sf5 ksf5 str S5 - - ----K special function key 5
#key_sf6 ksf6 str S6 - - ----K special function key 6
#key_sf7 ksf7 str S7 - - ----K special function key 7
#key_sf8 ksf8 str S8 - - ----K special function key 8
#key_sf9 ksf9 str S9 - - ----K special function key 9
#key_sf10 ksf10 str SA - - ----K special function key 10
# AIX version 3 documents different codes for F11, F12 and does not mention
# F13-F64. AIX version 4 uses the same naming for F0-F63 as above.
#key_f11 kf11 str k< - - ----- function key 11
#key_f12 kf12 str k> - - ----- function key 12
# Undocumented capabilities end here.
#key_action kact str kJ - - ----K sent by action key
# The IBM docs say these capabilities are for table-drawing, and are
# valid only for aixterm descriptions.
#enter_topline_mode topl str tp - - ----K start top-line mode
#enter_bottom_mode btml str bm - - ----K start bottom-line mode
#enter_rvert_mode rvert str rv - - ----K start right-vertical mode
#enter_lvert_mode lvert str lv - - ----K start left-vertical mode
#
#############################################################################
#
# ALIAS DECLARATIONS
#
# Here we set up aliases for translating extensions into standard terminfo.
#
#---------------------------------- Termcap aliases -------------------------
#
# BSD aliases:
#
# This is a common error in many termcap files. We'll get notified during
# translation when this (or any other alias) fires.
#
capalias sb sr BSD scroll text down
#
# AT&T extensions:
#
# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
# nonstandard capabilities. Its signature is the KM capability, used to name
# some sort of keymap file. EE, BO, CI, CV, XS, DS, FL and FE are in this
# set. Comments in the original, and a little cross-checking with other AT&T
# documentation, seem to establish the following mappings:
#
capalias BO mr AT&T enter_reverse_mode
capalias CI vi AT&T cursor_invisible
capalias CV ve AT&T cursor_normal
capalias DS mh AT&T enter_dim_mode
#capalias EE me AT&T exit_attribute_mode
capalias FE LF AT&T label_on
capalias FL LO AT&T label_off
capalias XS mk AT&T enter_secure_mode
#
# We comment out EE because the conflicting XENIX EE is more common in
# old entries.
#
# XENIX extensions:
#
# These are the ones we know how to translate directly:
#
capalias EE mh XENIX exit_attribute_mode
capalias GE ae XENIX exit_alt_charset_mode
capalias GS as XENIX enter_alt_charset_mode
capalias CF vi XENIX cursor_invis
capalias CO ve XENIX cursor_normal
capalias EN @7 XENIX key_end
capalias HM kh XENIX key_home
capalias LD kL XENIX key_dl
capalias PD kN XENIX key_npage
capalias PN po XENIX prtr_off
capalias PS pf XENIX prtr_on
capalias PU kP XENIX key_ppage
capalias RT @8 XENIX kent
capalias UP ku XENIX kcuu1
capalias G6 IGNORE XENIX double-ACS_ULCORNER
capalias G7 IGNORE XENIX double-ACS_LLCORNER
capalias G5 IGNORE XENIX double-ACS_URCORNER
capalias G8 IGNORE XENIX double-ACS_LRCORNER
capalias Gr IGNORE XENIX double-ACS_LTEE
capalias Gr IGNORE XENIX double-ACS_RTEE
capalias Gu IGNORE XENIX double-ACS_BTEE
capalias Gd IGNORE XENIX double ACS_TTEE
capalias Gh IGNORE XENIX double-ACS_HLINE
capalias Gv IGNORE XENIX double-ACS_VLINE
capalias Gc IGNORE XENIX double-ACS_PLUS
capalias GG IGNORE XENIX acs-glitch
#
# IBM extensions:
#
capalias kq %1 IBM key_help
#
# Iris extensions:
#
capalias HS mh IRIS enter_dim_mode
#
# Tektronix extensions:
#
capalias KA k; Tek key_f10
capalias KB F1 Tek key_f11
capalias KC F2 Tek key_f12
capalias KD F3 Tek key_f13
capalias KE F4 Tek key_f14
capalias KF F5 Tek key_f15
capalias BC Sb Tek set_background
capalias FC Sf Tek set_foreground
#
# There are also the following:
#
# XENIX XENIX variable name name clash with terminfo?
# ----- ------------------- -------------------------
# CL key_char_left
# CR key_char_right
# CW key_change_window
# HP ??
# LF key_linefeed label_off
# NU key_next_unlocked_cell
# PL ??
# PR ??
# RC key_recalc remove_clock
# RF key_toggle_ref req_for_input
# WL key_word_left
# WR key_word_right
#
# If you know what any of the question-marked ones mean, please tell us.
#
#--------------------------------- Terminfo aliases ------------------------
#
# IBM extensions:
#
infoalias font0 s0ds IBM set0_des_seq
infoalias font1 s1ds IBM set1_des_seq
infoalias font2 s2ds IBM set2_des_seq
infoalias font3 s3ds IBM set3_des_seq
infoalias kbtab kcbt IBM key_backtab
infoalias ksel kslt IBM key_select
#
# Some others are identical to SVr4/XPG4 capabilities, in particular:
# kcmd, kend, khlp, and kf11...kf63.
#
#############################################################################
# This is a table of ncurses user-definable capabilities which applications
# developers may have used. ncurses may use the table to check consistency of
# types/parameters. Applications may have defined others (such as screen's
# LP and NF), but where a standard capability is available, those alternatives
# are not listed here.
#
used_by ncurses
userdef CO num n number of indexed colors overlaying RGB space
userdef E3 str - clears the terminal's scrollback buffer.
userdef RGB bool - use direct colors with 1/3 of color-pair bits per color.
userdef RGB num n use direct colors with given number of bits per color.
userdef RGB str - use direct colors with given bit-layout.
userdef TS str - like "tsl", but uses no parameter.
userdef U8 num n terminal does/does not support VT100 SI/SO when processing UTF-8 encoding.
userdef XM str n initialize alternate xterm mouse mode
userdef grbom str - disable real bold (not intensity bright) mode.
userdef gsbom str - enable real bold (not intensity bright) mode.
userdef xm str - mouse response, no parameters
userdef xm str n mouse response, p1 = y-ordinate
userdef xm str nn mouse response, p2 = x-ordinate
userdef xm str nnn mouse response, p3 = button
userdef xm str nnns mouse response, p4 = state, e.g., pressed or released
userdef xm str nnnsn mouse response, p5 = y-ordinate starting region
userdef xm str nnnsnn mouse response, p6 = x-ordinate starting region
userdef xm str nnnsnnn mouse response, p7 = y-ordinate ending region
userdef xm str nnnsnnnn mouse response, p8 = x-ordinate ending region
#
used_by mintty
userdef Rmol str - remove overline-mode
userdef Smol str - set overline-mode
userdef blink2 str - turn on rapid blinking
userdef norm str - turn off bold and half-bright mode
userdef opaq str - turn off blank mode
userdef setal str n set underline-color
userdef smul2 str - begin double underline mode
#
used_by screen
userdef AN bool - turn on autonuke.
userdef AX bool - understands ANSI set default fg/bg color (\E[39m / \E[49m).
userdef C0 str - use the string as a conversion table for font '0', like acsc.
userdef C8 bool - terminal shows bold as high-intensity colors.
userdef CE str - switch cursor-keys back to normal mode.
userdef CS str - switch cursor-keys to application mode.
userdef E0 str - switch charset 'G0' back to standard charset. Default is '\E(B'.
userdef G0 bool - terminal can deal with ISO 2022 font selection sequences.
userdef KJ str s set the encoding of the terminal.
userdef OL num n set the screen program's output buffer limit.
userdef S0 str s switch charset 'G0' to the specified charset. Default is '\E(%.'.
userdef TF bool - add missing capabilities to screen's termcap/info entry. (Set by default).
userdef WS str nn resize display. This capability has the desired width and height as arguments. SunView(tm) example: '\E[8;%d;%dt'.
userdef XC str s describe a translation of characters to strings depending on the current font.
userdef XT bool - terminal understands special xterm sequences (OSC, mouse tracking).
userdef Z0 str - change width to 132 columns.
userdef Z1 str - change width to 80 columns.
#
used_by tmux
userdef Cr str - restore the default cursor color.
userdef Cs str s set the cursor color.
userdef Csr str n change the cursor style, overriding Ss.
userdef Ms str ss store the current buffer in the host terminal's selection (clipboard).
userdef Se str - reset the cursor style to the terminal initial state.
userdef Smulx str n modify the appearance of underlines in VTE.
userdef Ss str n change the cursor style.
userdef rmxx str - reset ECMA-48 strikeout/crossed-out attributes.
userdef smxx str - set ECMA-48 strikeout/crossed-out attributes.
#
used_by xterm
userdef kDC3 str - alt delete-character
userdef kDC4 str - shift+alt delete-character
userdef kDC5 str - control delete-character
userdef kDC6 str - shift+control delete-character
userdef kDC7 str - alt+control delete-character
userdef kDN str - shift down-cursor
userdef kDN3 str - alt down-cursor
userdef kDN4 str - shift+alt down-cursor
userdef kDN5 str - control down-cursor
userdef kDN6 str - shift+control down-cursor
userdef kDN7 str - alt+control down-cursor
userdef kEND3 str - alt end
userdef kEND4 str - shift+alt end
userdef kEND5 str - control end
userdef kEND6 str - shift+control end
userdef kEND7 str - alt+control end
userdef kHOM3 str - alt home
userdef kHOM4 str - shift+alt home
userdef kHOM5 str - control home
userdef kHOM6 str - shift+control home
userdef kHOM7 str - alt+control home
userdef kIC3 str - alt insert-character
userdef kIC4 str - shift+alt insert-character
userdef kIC5 str - control insert-character
userdef kIC6 str - shift+control insert-character
userdef kIC7 str - alt+control insert-character
userdef kLFT3 str - alt left-cursor
userdef kLFT4 str - shift+alt left-cursor
userdef kLFT5 str - control left-cursor
userdef kLFT6 str - shift+control left-cursor
userdef kLFT7 str - alt+control left-cursor
userdef kNXT3 str - alt next
userdef kNXT4 str - shift+alt next
userdef kNXT5 str - control next
userdef kNXT6 str - shift+control next
userdef kNXT7 str - alt+control next
userdef kPRV3 str - alt previous
userdef kPRV4 str - shift+alt previous
userdef kPRV5 str - control previous
userdef kPRV6 str - shift+control previous
userdef kPRV7 str - alt+control previous
userdef kRIT3 str - alt right-cursor
userdef kRIT4 str - shift+alt right-cursor
userdef kRIT5 str - control right-cursor
userdef kRIT6 str - shift+control right-cursor
userdef kRIT7 str - alt+control right-cursor
userdef kUP str - shift up-cursor
userdef kUP3 str - alt up-cursor
userdef kUP4 str - shift+alt up-cursor
userdef kUP5 str - control up-cursor
userdef kUP6 str - shift+control up-cursor
userdef kUP7 str - alt+control up-cursor
userdef ka2 str - vt220-keypad extensions
userdef kb1 str - vt220-keypad extensions
userdef kb3 str - vt220-keypad extensions
userdef kc2 str - vt220-keypad extensions
#############################################################################

File diff suppressed because it is too large Load Diff

View File

@@ -1,986 +0,0 @@
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 2002-2015,2016 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas Dickey
#
# $Id: Caps.hpux11,v 1.18 2021/10/08 07:55:48 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
#
# This table is used to generate initializers for tables that drive tic,
# infocmp, and the library compilation code used to support the termcap
# compatibility hack. It is also used to generate the tabular portion of the
# terminfo(5) man page; lines beginning with `#%' are passed through to become
# the terminfo table.
#
# This file has three major sections; a standard-capabilities table, two
# extension-capability tables, and a section of aliases declarations.
# The first two have the same format, as follows:
#
# FILE FORMAT
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
# Column 3: capability type (boolean, numeric, or string)
# Column 4: termcap capability name
# Column 5: KEY_xxx name, if any, `-' otherwise
# Column 6: value for KEY_xxx name, if any, `-' otherwise
# Column 7: Lead with `Y' if capability should be emitted in termcap
# translations, `-' otherwise
# Column 8: capability description
#
# The codes following [Y-] in column 7 describe the versions of termcap which
# use the given capability. This information is not used by the curses library
# proper; rather, it is there to help the terminfo maintainer avoid emitting
# termcap entry translations that are more than 1023 bytes long (and tank a
# lot of old termcap-using programs). The codes read as follows:
# B = mentioned in the BSD man page for 4.4BSD curses
# C = used by the 4.4BSD curses library
# G = mentioned in the documentation for GNU termcap
# E = used by GNU Emacs
# K = remove this terminfo capability when translating to standard format
# The important codes are C and E. A cap with C or E should be preserved in
# translation if possible. The problem is that preserving all such caps may
# lead to some termcap translations being too long. The termcap maintainer
# has a bit of a juggling act to do...potential problem cases are marked with
# an asterisk (*).
#
# The aliases section has the following format:
#
# Column 1: either `capalias' or `infoalias'
# Column 2: name to be aliased
# Column 3: what name it should translate to. The name IGNORE means it
# should be discarded with a warning message.
# Column 4: name of the extension set (used for compiler warning messages)
# Column 5: capability description (usually an associated terminfo variable)
#
# HANDLING TERMCAP AND TERMINFO EXTENSIONS
#
# There are basically five different ways to handle termcap and terminfo
# extensions:
#
# 1. Don't list the capname here, or list it but comment it out (the latter
# is preferable; someone might want to handle it in the future). If you do
# this, the capability will be treated as unknown and raise a warning from
# the compiler.
#
# 2. Alias it. This is appropriate if the capability has the same meaning
# as an already-supported one. The compiler will handle aliasing, emitting
# an appropriate informational message whenever an alias fires.
#
# 3. List it in the standard table. You almost certainly do *not* want
# to do this -- the capabilities in that one, and their order, have been
# carefully chosen to be SVr4-binary-compatible when they're written out
# as a terminfo object, and breaking this would be bad. It is up to the ncurses
# library what to do with the terminfo data after it is read in.
#
# 4. List it in the aliases table with an IGNORE target field. If you
# do this, the capability will be ignored on input (though the user will
# get a warning message about it).
#
# 5. List it in the extensions table. If you do this, the compiler will
# silently accept the capability, but the curses library proper will never
# see it (because it won't be written out as part of the terminfo object
# format). It is up to you what you have the compiler do with it.
#
# There are two opposite reasons to choose option 5. One is when you want
# to eat the capability silently and discard it when doing translations
# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
# in this class. Nothing will ever use them again.
#
# More usually, you want the compiler to try to deduce something from the
# capability value that it can use to translate it into your output format.
# You'll need to write custom code, probably in postprocess_termcap() or
# postprocess_terminfo(), to handle the translation.
#
# CONTROLLING ENTRY LENGTH
#
# Notes on specific elisions made to fit translations within 1023 bytes:
#
# Machines with IBM PC-like keyboards want to be able to define the following
# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
# only environments for End or Home-Down), key_dc, and key_ic. This is also
# the set of keys the `joe' editor will be upset if it can't see. So don't
# trim those out of the set to be translated to termcap, or various users of
# the termcap file will become irate.
#
# It might look tempting to leave those long init strings out of translations.
# We can't do it (yet); 4.4BSD tput and tset use them.
#
# We retain the sgr capability in translation in spite of the fact that neither
# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
# hard to understand without it, and (b) the entries in which it is long tend
# to be older types that don't use up a lot of string space on function keys.
# The tic(1) translation code will complain and elide it if it makes a critical
# difference (there is special code in tic to recognize this situation).
#
# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
# optimizer in BSD curses didn't use them. This omission seems to be the
# single most effective one, it shortened the resolved length of all thirteen
# problem entries in the 9.9.0 version of the terminfo master below critical.
#
# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
# translations go back over critical if we do this. As 4.4BSD curses fades
# into history and GNU termcap's application base shrinks towards being GNU
# Emacs only, we'll probably elide out some BSD-only capabilities in order
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
#############################################################################
#
# STANDARD CAPABILITIES
#
#%The following is a complete table of the capabilities included in a
#%terminfo description block and available to terminfo-using code. In each
#%line of the table,
#%
#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
#%accesses the capability.
#%
#%The \fBcapname\fR is the short name used in the text of the database,
#%and is used by a person updating the database.
#%Whenever possible, capnames are chosen to be the same as or similar to
#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
#%identical or very similar names). Semantics are also intended to match
#%those of the specification.
#%
#%The termcap code is the old
#%.B termcap
#%capability name (some capabilities are new, and have names which termcap
#%did not originate).
#%.P
#%Capability names have no hard length limit, but an informal limit of 5
#%characters has been adopted to keep them short and to allow the tabs in
#%the source file
#%.B Caps
#%to line up nicely.
#%
#%Finally, the description field attempts to convey the semantics of the
#%capability. You may find some codes in the description field:
#%.TP
#%(P)
#%indicates that padding may be specified
#%.TP
#%#[1-9]
#%in the description field indicates that the string is passed
#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
#%.IP
#%If no parameters are listed in the description,
#%passing the string through \fBtparm\fP(3X) may give unexpected results,
#%e.g., if it contains percent (%%) signs.
#%.TP
#%(P*)
#%indicates that padding may vary in proportion to the number of
#%lines affected
#%.TP
#%(#\d\fIi\fP\u)
#%indicates the \fIi\fP\uth\d parameter.
#%
#%.PP
#% These are the boolean capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBBooleans name Code\fR
auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
auto_right_margin am bool am - - YBCGE terminal has automatic margins
no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
generic_type gn bool gn - - YB-G- generic line type
hard_copy hc bool hc - - YBCG- hardcopy terminal
has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
has_status_line hs bool hs - - YB-G- has extra status line
insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
memory_above da bool da - - YBCG- display may be retained above the screen
memory_below db bool db - - YB-GE display may be retained below the screen
move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
over_strike os bool os - - YBCG- terminal can overstrike
status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
transparent_underline ul bool ul - - YBCGE underline character overstrikes
xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
# end booleans for HPUX 9, 10 (non-color curses)
needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
hard_cursor chts bool HC - - ----- cursor is hard to see
non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
no_pad_char npc bool NP - - ----- pad character does not exist
non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
can_change ccc bool cc - - ----- terminal can re-define existing colors
back_color_erase bce bool ut - - ----- screen erased with background color
hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps
cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode
has_print_wheel daisy bool YC - - ----- printer needs operator to change character set
row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps
semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr
cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution
lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
#%.TE
#%.ad
#%
#%These are the numeric capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
columns cols num co - - YBCGE number of columns in a line
init_tabs it num it - - YB-G- tabs initially every # spaces
lines lines num li - - YBCGE number of lines on screen or page
lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
width_status_line wsl num ws - - YB-G- number of columns in status line
# end numbers for HPUX 9, 10 (non-color curses)
num_labels nlab num Nl - - ----- number of labels on screen
label_height lh num lh - - ----- rows in each label
label_width lw num lw - - ----- columns in each label
max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
maximum_windows wnum num MW - - ----- maximum number of definable windows
# These came in with SVr4's color support
max_colors colors num Co - - ----- maximum number of colors on screen
max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
no_color_video ncv num NC - - ----- video attributes that cannot be used with colors
#%.TE
#%.ad
#%
#%The following numeric capabilities are present in the SVr4.0 term structure,
#%but are not yet documented in the man page. They came in with SVr4's
#%printer support.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing
dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch
dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch
max_micro_address maddr num Yd - - ----- maximum value in micro_..._address
max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro
micro_char_size mcs num Yf - - ----- character step size when in micro mode
micro_line_size mls num Yg - - ----- line step size when in micro mode
number_of_pins npins num Yh - - ----- numbers of pins in print-head
output_res_char orc num Yi - - ----- horizontal resolution in units per line
output_res_line orl num Yj - - ----- vertical resolution in units per line
output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch
output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch
print_rate cps num Ym - - ----- print rate in characters per second
wide_char_size widcs num Yn - - ----- character step size when in double wide mode
buttons btns num BT - - ----- number of buttons on mouse
bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row
bit_image_type bitype num Yp - - ----- type of bit-image device
#%.TE
#%.ad
#%
#%These are the string capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
back_tab cbt str bt - - YBCGE back tab (P)
bell bel str bl - - YB-GE audible signal (bell) (P)
carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
clr_eol el str ce - - YBCGE clear to end of line (P)
clr_eos ed str cd - - YBCGE clear to end of screen (P*)
column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
cursor_address cup str cm - - YBCGE move to row #1 columns #2
cursor_down cud1 str do - - YBCGE down one line
cursor_home home str ho - - YBCGE home cursor (if no cup)
cursor_invisible civis str vi - - YB-G- make cursor invisible
cursor_left cub1 str le - - YBCGE move left one space
cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
cursor_up cuu1 str up - - YBCGE up one line
cursor_visible cvvis str vs - - YBCGE make cursor very visible
delete_character dch1 str dc - - YBCGE delete character (P*)
delete_line dl1 str dl - - YBCGE delete line (P*)
dis_status_line dsl str ds - - YB-G- disable status line
down_half_line hd str hd - - YB-G- half a line down
enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
enter_blink_mode blink str mb - - YB-G- turn on blinking
enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
enter_delete_mode smdc str dm - - YBCGE enter delete mode
enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
enter_insert_mode smir str im - - YBCGE enter insert mode
enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
enter_protected_mode prot str mp - - -B-G-* turn on protected mode
enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
enter_standout_mode smso str so - - YBCGE begin standout mode
enter_underline_mode smul str us - - YBCGE begin underline mode
erase_chars ech str ec - - YB-G- erase #1 characters (P)
exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
exit_delete_mode rmdc str ed - - YBCGE end delete mode
exit_insert_mode rmir str ei - - YBCGE exit insert mode
exit_standout_mode rmso str se - - YBCGE exit standout mode
exit_underline_mode rmul str ue - - YBCGE exit underline mode
flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
from_status_line fsl str fs - - YB-G- return from status line
init_1string is1 str i1 - - YB-G- initialization string
init_2string is2 str is - - YB-G- initialization string
init_3string is3 str i3 - - YB-G- initialization string
init_file if str if - - YB-G- name of initialization file
insert_character ich1 str ic - - YBCGE insert character (P)
insert_line il1 str al - - YBCGE insert line (P*)
insert_padding ip str ip - - YBCGE insert padding after inserted character
key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
key_home khome str kh KEY_HOME 0406 YBCGE home key
key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
lab_f10 lf10 str la - - ----- label on function key f10 if not f10
lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
meta_off rmm str mo - - YB-G-* turn off meta mode
meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
pad_char pad str pc - - YBCGE padding char (instead of null)
parm_dch dch str DC - - YB-GE delete #1 characters (P*)
parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
parm_ich ich str IC - - YB-GE insert #1 characters (P*)
parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
print_screen mc0 str ps - - -B-G-* print contents of screen
prtr_off mc4 str pf - - -B-G-* turn off printer
prtr_on mc5 str po - - -B-G-* turn on printer
repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
reset_1string rs1 str r1 - - -B--- reset string
reset_2string rs2 str r2 - - -B--- reset string
reset_3string rs3 str r3 - - -B--- reset string
reset_file rf str rf - - -B--- name of reset file
restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
save_cursor sc str sc - - YBCG- save current cursor position (P)
scroll_forward ind str sf - - YBCGE scroll text up (P)
scroll_reverse ri str sr - - YBCGE scroll text down (P)
set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st - - YB-G- set a tab in every row, current columns
set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts - - YB-G- move to status line, column #1
underline_char uc str uc - - YBCG- underline char and move past it
up_half_line hu str hu - - YB-G- half a line up
init_prog iprog str iP - - -B--- path name of program for initialization
key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
#
# SVr1 capabilities stop here. IBM's version of terminfo is the same as
# SVr4 up to this point, but has a different set afterwards.
#
# HPUX defines these if __HP_CURSES_COMPAT is defined:
memory_lock meml str ml - - ----K lock memory above cursor
memory_unlock memu str mu - - ----K unlock memory
#
#
plab_norm pln str pn - - ----- program label #1 to show string #2
label_on smln str LO - - ----- turn on soft labels
label_off rmln str LF - - ----- turn off soft labels
key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
# end of strings in HPUX 9
char_padding rmp str rP - - ----- like ip but when in insert mode
acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key
enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
enter_am_mode smam str SA - - ----- turn on automatic margins
exit_am_mode rmam str RA - - ----- turn off automatic margins
xon_character xonc str XN - - ----- XON character
xoff_character xoffc str XF - - ----- XOFF character
ena_acs enacs str eA - - ----- enable alternate char set
key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
key_close kclo str @3 KEY_CLOSE 0544 ----- close key
key_command kcmd str @4 KEY_COMMAND 0545 ----- command key
key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
key_create kcrt str @6 KEY_CREATE 0547 ----- create key
key_end kend str @7 KEY_END 0550 ----- end key
key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
key_exit kext str @9 KEY_EXIT 0551 ----- exit key
key_find kfnd str @0 KEY_FIND 0552 ----- find key
key_help khlp str %1 KEY_HELP 0553 ----- help key
key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
key_move kmov str %4 KEY_MOVE 0556 ----- move key
key_next knxt str %5 KEY_NEXT 0557 ----- next key
key_open kopn str %6 KEY_OPEN 0560 ----- open key
key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
key_print kprt str %9 KEY_PRINT 0532 ----- print key
key_redo krdo str %0 KEY_REDO 0563 ----- redo key
key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567 ----- restart key
key_resume kres str &5 KEY_RESUME 0570 ----- resume key
key_save ksav str &6 KEY_SAVE 0571 ----- save key
key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
key_undo kund str &8 KEY_UNDO 0630 ----- undo key
key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
key_select kslt str *6 KEY_SELECT 0601 ----- select key
key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
req_for_input rfi str RF - - ----- send next input char (for ptys)
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
display_clock dclk str DK - - ----- display clock
remove_clock rmclk str RC - - ----- remove clock
create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5
goto_window wingo str WG - - ----- go to window #1
hangup hup str HU - - ----- hang-up phone
dial_phone dial str DI - - ----- dial number #1
quick_dial qdial str QD - - ----- dial number #1 without checking
tone tone str TO - - ----- select touch tone dialing
pulse pulse str PU - - ----- select pulse dialing
flash_hook hook str fh - - ----- flash switch hook
fixed_pause pause str PA - - ----- pause for 2-3 seconds
wait_tone wait str WA - - ----- wait for dial-tone
user0 u0 str u0 - - ----- User string #0
user1 u1 str u1 - - ----- User string #1
user2 u2 str u2 - - ----- User string #2
user3 u3 str u3 - - ----- User string #3
user4 u4 str u4 - - ----- User string #4
user5 u5 str u5 - - ----- User string #5
user6 u6 str u6 - - ----- User string #6
user7 u7 str u7 - - ----- User string #7
user8 u8 str u8 - - ----- User string #8
user9 u9 str u9 - - ----- User string #9
#
# SVr4 added these capabilities to support color
#
orig_pair op str op - - ----- Set default pair to its original value
orig_colors oc str oc - - ----- Set all color pairs to the original ones
initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
set_background setb str Sb - - ----- Set background color #1
#
# SVr4 added these capabilities to support printers
#
change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1
change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1
change_res_horz chr str ZC - - ----- Change horizontal resolution to #1
change_res_vert cvr str ZD - - ----- Change vertical resolution to #1
define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3
enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode
enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode
enter_italics_mode sitm str ZH - - ----- Enter italic mode
enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion
enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode
enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode
enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode
enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode
enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode
enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode
enter_upward_mode sum str ZP - - ----- Start upward carriage motion
exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode
exit_italics_mode ritm str ZR - - ----- End italic mode
exit_leftward_mode rlm str ZS - - ----- End left-motion mode
exit_micro_mode rmicm str ZT - - ----- End micro-motion mode
exit_shadow_mode rshm str ZU - - ----- End shadow-print mode
exit_subscript_mode rsubm str ZV - - ----- End subscript mode
exit_superscript_mode rsupm str ZW - - ----- End superscript mode
exit_upward_mode rum str ZX - - ----- End reverse character motion
micro_column_address mhpa str ZY - - ----- Like column_address in micro mode
micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode
micro_left mcub1 str Za - - ----- Like cursor_left in micro mode
micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode
micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode
micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode
order_of_pins porder str Ze - - ----- Match software bits to print-head pins
parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode
parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode
parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode
parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode
select_char_set scs str Zj - - ----- Select character set, #1
set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line
set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1
set_top_margin smgt str Zo - - ----- Set top margin at current line
set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1
start_bit_image sbim str Zq - - ----- Start printing bit image graphics
start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set
stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics
stop_char_set_def rcsd str Zt - - ----- End definition of character set #1
subscript_characters subcs str Zu - - ----- List of subscriptable characters
superscript_characters supcs str Zv - - ----- List of superscriptable characters
these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR
zero_motion zerom str Zx - - ----- No motion for subsequent character
#%.TE
#%.ad
#%
#%The following string capabilities are present in the SVr4.0 term structure,
#%but were originally not documented in the man page.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw18.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names
key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
mouse_info minfo str Mi - - ----- Mouse status information
req_mouse_pos reqmp str RQ - - ----- Request mouse position
get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2
bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times
bit_image_newline binel str Zz - - ----- Move to next row of the bit image
bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row
color_names colornm str Yw - - ----- Give name for color #1
define_bit_image_region defbi str Yx - - ----- Define rectangular bit image region
end_bit_image_region endbi str Yy - - ----- End a bit-image region
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_page_length slines str YZ - - ----- Set page length to #1 lines
#
# SVr4 added these capabilities for direct PC-clone support
#
display_pc_char dispc str S1 - - ----- Display PC character #1
enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode
exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode
enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode
exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode
pc_term_options pctrm str S6 - - ----- PC terminal options
scancode_escape scesc str S7 - - ----- Escape for scancode emulation
alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation
#%.TE
#%.ad
#%
#%.in .8i
#%The XSI Curses standard added these hardcopy capabilities.
#%They were used in some post-4.1 versions of System V curses,
#%e.g., Solaris 2.5 and IRIX 6.x.
#%Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
#%According to the XSI Curses standard, they have no termcap names.
#%If your compiled terminfo entries use these,
#%they may not be binary-compatible with System V terminfo
#%entries after SVr4.1; beware!
#%
#%AIX and Solaris do not provide termcap names for these; HPUX does.
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
enter_horizontal_hl_mode ehhlm str Q1 - - ----- Enter horizontal highlight mode
enter_left_hl_mode elhlm str Q2 - - ----- Enter left highlight mode
enter_low_hl_mode elohlm str Q3 - - ----- Enter low highlight mode
enter_right_hl_mode erhlm str Q4 - - ----- Enter right highlight mode
enter_top_hl_mode ethlm str Q5 - - ----- Enter top highlight mode
enter_vertical_hl_mode evhlm str Q6 - - ----- Enter vertical highlight mode
set_a_attributes sgr1 str Q7 - - ----- Define second set of video attributes #1-#6
exit_horizontal_hl_mode rmhhlm str Q8 - - ----K Exit horizontal highlight mode
exit_left_hl_mode rmlhlm str Q9 - - ----K Exit left highlight mode
exit_low_hl_mode rmlohlm str Qa - - ----K Exit low highlight mode
exit_right_hl_mode rmrhlm str Qb - - ----K Exit right highlight mode
exit_top_hl_mode rmthlm str Qc - - ----K Exit top highlight mode
exit_vertical_hl_mode rmvhlm str Qd - - ----K Exit vertical highlight mode
#%.TE
#%.ad
#
# The magic token below tells the tic compiler-generator code that all the caps
# past it should be ignored (not written out) when dumping terminfo objects. It
# also tells the man page table generator not to pass through following lines
# This means we can have obsolete capabilities and pseudo-capabilities that are
# recognized for termcap or terminfo compilation, but not output.
#
# %%-STOP-HERE-%%
#
# Don't move this casually! In fact, don't move it at all unless you're
# either doing it to add System V or XPG4 extensions, or have decided you
# don't care about SVr4 binary compatibility.
#
#############################################################################
#
# TERMCAP EXTENSION CAPABILITIES
#
# The capabilities below are either obsolete or extensions on certain systems.
# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
# termcap sources; the rest are listed for completeness, and in case somebody
# cares about them enough to hack in code that will translate them into
# terminfo capabilities.
#
# The first part of the list is from Ross Ridge's `mytinfo' package
# (comp.sources.unix, volume 26); the variable names and terminfo names (as
# well as the termcap codes) match his list.
#
# This group of codes is not marked obsolete in 4.4BSD, but have no direct
# terminfo equivalents. The rs capability is specially translated to terminfo
# r2, and vice versa, if an entry does not already have an r2. Similarly,
# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
# The ug capability is thrown away, but assumed to be whatever sg is if the
# latter is nonzero and we're dumping in termcap format.
#
termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
termcap_reset OTrs str rs - - YB-G- terminal reset string
magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
#
# Obsolete termcap capabilities. Some are used for termcap translation. The
# code uses the 'OT' prefix we put on obsolete capabilities to suppress
# printing them in terminfo source dumps of compiled entries.
#
backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
new_line_delay OTdN num dN - - YB-G- pad needed for LF
linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
#
# GNU termcap library extensions. The GNU termcap file distributed with
# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
# BSD termcap file. The name clash with terminfo MT is resolved by type
# info; MT is converted to km.
#
gnu_has_meta_key OTMT bool MT - - ----E has meta key
# gnu_tab_width OTtw num tw - - ----E tab width in spaces
#
# GNU termcap *does* include the following extended capability, Only the
# now-obsolete Ann Arbor terminals used it.
#
# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
#
# The following comments describe capnames so ancient that I believe no
# software uses them any longer. Some of these have to go because they
# clash with terminfo names in ways that cannot be resolved by type
# information.
#
# These mytinfo codes are not used in the 4.4BSD curses code. They are
# marked obsolete in the 4.4BSD manual pages.
#
# There is one conflict with terminfo; ma is in both. This conflict is
# resolved by type information.
#
# The `ko' capability is translated by special code. It should contain a
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
# The `ma' capability was a 4.0BSD feature used by vi version 2.
# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
# Besides being obsolete, that interpretation conflicts with max_attributes.
#
# Here is a description of memory_lock_above and memory_unlock:
# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
# text. All lines above the cursor's current line become locked in place on
# the screen. Then enter data normally. When the screen fills up, any
# further data entered forces the first line of unfrozen line text to scroll
# under the frozen data. Lines scrolled off the screen are inserted into
# memory immediately preceding the first frozen line." (from the HP 700/96
# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
#
# Applications that use terminfo are supposed to behave as though xr is
# always true.
#
linefeed_is_newline OTNL bool NL - - YB--- move down with \n
# even_parity OTEP bool EP - - -B--- terminal requires even parity
# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
backspace_delay OTdB num dB - - YB-G- padding required for ^H
# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
number_of_function_keys OTkn num kn - - -B-G- count of function keys
other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
return_does_clr_eol OTxr bool xr - - YB--- return clears the line
# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
#
# mytinfo described this as a termcap capability, but it is not listed in the
# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
# package, like System V, behaves as though it is always true.
#
# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
#
# University of Waterloo termcap extensions (as described in mytinfo).
# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
# be resolved by a type check. The descriptions are guesses from what was
# in the mytinfo tables.
#
# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
# key_kill_char OTkk str kk - - ----- string set by kill key (?)
# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
#
# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
# check.
#
# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
#
# The mytinfo capabilities end here.
#
# XENIX extensions:
#
# Xenix defined its own set of forms-drawing capabilities:
#
# cap IBM ASCII description ACS ASCII
# --- ----------- -------------------- ------------- ------
# G1 191 \277 M-? single upper right ACS_URCORNER
# G2 218 \332 M-Z single upper left ACS_ULCORNER
# G3 192 \300 M-@ single lower left ACS_LLCORNER
# G4 217 \331 M-Y single lower right ACS_LRCORNER
# G5 187 \273 M-; double upper right
# G6 201 \311 M-I double upper left
# G7 200 \310 M-H double lower left
# G8 188 \274 M-< double lower right
# GC 197 \305 M-E single intersection ACS_PLUS _ _
# GD 194 \302 M-B single down-tick ACS_TTEE |
# GH 196 \304 M-D single horizontal line ACS_HLINE
# GL 180 \264 M-4 single left tick ACS_RTEE -|
# GR 195 \303 M-C single right tick ACS_LTEE |-
# GU 193 \301 M-A single up tick ACS_BTEE _|_
# GV 179 \263 M-3 single vertical line ACS_VLINE
# Gc 206 \316 M-N double intersection
# Gd 203 \313 M-K double down tick
# Gh 205 \315 M-M double horizontal line
# Gl 204 \204 M-L double left tick
# Gr 185 \271 M-9 double right tick
# Gu 202 \312 M-J double up tick
# Gv 186 \272 M-: double vertical line
#
# The compiler will translate the single-line caps and discard the others
# (via IGNORE aliases further down). We don't want to do normal pad
# translation on these, they're often single-character printable ASCII
# strings that happen to be numerics. There's awk code in parametrized.sh
# that detects the acs_ prefix and uses it to suppress pad translation.
# These terminfo names are invented.
#
acs_ulcorner OTG2 str G2 - - ----- single upper left
acs_llcorner OTG3 str G3 - - ----- single lower left
acs_urcorner OTG1 str G1 - - ----- single upper right
acs_lrcorner OTG4 str G4 - - ----- single lower right
acs_ltee OTGR str GR - - ----- tee pointing right
acs_rtee OTGL str GL - - ----- tee pointing left
acs_btee OTGU str GU - - ----- tee pointing up
acs_ttee OTGD str GD - - ----- tee pointing down
acs_hline OTGH str GH - - ----- single horizontal line
acs_vline OTGV str GV - - ----- single vertical line
acs_plus OTGC str GC - - ----- single intersection
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# (see Caps-ncurses for the complete set of comments)
#
box_chars_1 box1 str bx - - ----K box characters primary set
#
#############################################################################

File diff suppressed because it is too large Load Diff

View File

@@ -1,979 +0,0 @@
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 2002-2015,2016 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas Dickey
#
# $Id: Caps.osf1r5,v 1.16 2021/10/08 07:55:48 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
#
# This table is used to generate initializers for tables that drive tic,
# infocmp, and the library compilation code used to support the termcap
# compatibility hack. It is also used to generate the tabular portion of the
# terminfo(5) man page; lines beginning with `#%' are passed through to become
# the terminfo table.
#
# This file has three major sections; a standard-capabilities table, two
# extension-capability tables, and a section of aliases declarations.
# The first two have the same format, as follows:
#
# FILE FORMAT
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
# Column 3: capability type (boolean, numeric, or string)
# Column 4: termcap capability name
# Column 5: KEY_xxx name, if any, `-' otherwise
# Column 6: value for KEY_xxx name, if any, `-' otherwise
# Column 7: Lead with `Y' if capability should be emitted in termcap
# translations, `-' otherwise
# Column 8: capability description
#
# The codes following [Y-] in column 7 describe the versions of termcap which
# use the given capability. This information is not used by the curses library
# proper; rather, it is there to help the terminfo maintainer avoid emitting
# termcap entry translations that are more than 1023 bytes long (and tank a
# lot of old termcap-using programs). The codes read as follows:
# B = mentioned in the BSD man page for 4.4BSD curses
# C = used by the 4.4BSD curses library
# G = mentioned in the documentation for GNU termcap
# E = used by GNU Emacs
# K = remove this terminfo capability when translating to standard format
# The important codes are C and E. A cap with C or E should be preserved in
# translation if possible. The problem is that preserving all such caps may
# lead to some termcap translations being too long. The termcap maintainer
# has a bit of a juggling act to do...potential problem cases are marked with
# an asterisk (*).
#
# The aliases section has the following format:
#
# Column 1: either `capalias' or `infoalias'
# Column 2: name to be aliased
# Column 3: what name it should translate to. The name IGNORE means it
# should be discarded with a warning message.
# Column 4: name of the extension set (used for compiler warning messages)
# Column 5: capability description (usually an associated terminfo variable)
#
# HANDLING TERMCAP AND TERMINFO EXTENSIONS
#
# There are basically five different ways to handle termcap and terminfo
# extensions:
#
# 1. Don't list the capname here, or list it but comment it out (the latter
# is preferable; someone might want to handle it in the future). If you do
# this, the capability will be treated as unknown and raise a warning from
# the compiler.
#
# 2. Alias it. This is appropriate if the capability has the same meaning
# as an already-supported one. The compiler will handle aliasing, emitting
# an appropriate informational message whenever an alias fires.
#
# 3. List it in the standard table. You almost certainly do *not* want
# to do this -- the capabilities in that one, and their order, have been
# carefully chosen to be SVr4-binary-compatible when they're written out
# as a terminfo object, and breaking this would be bad. It is up to the ncurses
# library what to do with the terminfo data after it is read in.
#
# 4. List it in the aliases table with an IGNORE target field. If you
# do this, the capability will be ignored on input (though the user will
# get a warning message about it).
#
# 5. List it in the extensions table. If you do this, the compiler will
# silently accept the capability, but the curses library proper will never
# see it (because it won't be written out as part of the terminfo object
# format). It is up to you what you have the compiler do with it.
#
# There are two opposite reasons to choose option 5. One is when you want
# to eat the capability silently and discard it when doing translations
# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
# in this class. Nothing will ever use them again.
#
# More usually, you want the compiler to try to deduce something from the
# capability value that it can use to translate it into your output format.
# You'll need to write custom code, probably in postprocess_termcap() or
# postprocess_terminfo(), to handle the translation.
#
# CONTROLLING ENTRY LENGTH
#
# Notes on specific elisions made to fit translations within 1023 bytes:
#
# Machines with IBM PC-like keyboards want to be able to define the following
# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
# only environments for End or Home-Down), key_dc, and key_ic. This is also
# the set of keys the `joe' editor will be upset if it can't see. So don't
# trim those out of the set to be translated to termcap, or various users of
# the termcap file will become irate.
#
# It might look tempting to leave those long init strings out of translations.
# We can't do it (yet); 4.4BSD tput and tset use them.
#
# We retain the sgr capability in translation in spite of the fact that neither
# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
# hard to understand without it, and (b) the entries in which it is long tend
# to be older types that don't use up a lot of string space on function keys.
# The tic(1) translation code will complain and elide it if it makes a critical
# difference (there is special code in tic to recognize this situation).
#
# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
# optimizer in BSD curses didn't use them. This omission seems to be the
# single most effective one, it shortened the resolved length of all thirteen
# problem entries in the 9.9.0 version of the terminfo master below critical.
#
# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
# translations go back over critical if we do this. As 4.4BSD curses fades
# into history and GNU termcap's application base shrinks towards being GNU
# Emacs only, we'll probably elide out some BSD-only capabilities in order
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
#############################################################################
#
# STANDARD CAPABILITIES
#
#%The following is a complete table of the capabilities included in a
#%terminfo description block and available to terminfo-using code. In each
#%line of the table,
#%
#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
#%accesses the capability.
#%
#%The \fBcapname\fR is the short name used in the text of the database,
#%and is used by a person updating the database.
#%Whenever possible, capnames are chosen to be the same as or similar to
#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
#%identical or very similar names). Semantics are also intended to match
#%those of the specification.
#%
#%The termcap code is the old
#%.B termcap
#%capability name (some capabilities are new, and have names which termcap
#%did not originate).
#%.P
#%Capability names have no hard length limit, but an informal limit of 5
#%characters has been adopted to keep them short and to allow the tabs in
#%the source file
#%.B Caps
#%to line up nicely.
#%
#%Finally, the description field attempts to convey the semantics of the
#%capability. You may find some codes in the description field:
#%.TP
#%(P)
#%indicates that padding may be specified
#%.TP
#%#[1-9]
#%in the description field indicates that the string is passed
#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
#%.IP
#%If no parameters are listed in the description,
#%passing the string through \fBtparm\fP(3X) may give unexpected results,
#%e.g., if it contains percent (%%) signs.
#%.TP
#%(P*)
#%indicates that padding may vary in proportion to the number of
#%lines affected
#%.TP
#%(#\d\fIi\fP\u)
#%indicates the \fIi\fP\uth\d parameter.
#%
#%.PP
#% These are the boolean capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBBooleans name Code\fR
auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
auto_right_margin am bool am - - YBCGE terminal has automatic margins
no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
generic_type gn bool gn - - YB-G- generic line type
hard_copy hc bool hc - - YBCG- hardcopy terminal
has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
has_status_line hs bool hs - - YB-G- has extra status line
insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
memory_above da bool da - - YBCG- display may be retained above the screen
memory_below db bool db - - YB-GE display may be retained below the screen
move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
over_strike os bool os - - YBCG- terminal can overstrike
status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
transparent_underline ul bool ul - - YBCGE underline character overstrikes
xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
back_color_erase bce bool ut - - ----- screen erased with background color
can_change ccc bool cc - - ----- terminal can re-define existing colors
col_addr_glitch xhpa bool YA - - ----- only positive motion for hpa/mhpa caps
cpi_changes_res cpix bool YF - - ----- changing character pitch changes resolution
cr_cancels_micro_mode crxm bool YB - - ----- using cr turns off micro mode
hard_cursor chts bool HC - - ----- cursor is hard to see
has_print_wheel daisy bool YC - - ----- printer needs operator to change character set
hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
lpi_changes_res lpix bool YG - - ----- changing line pitch changes resolution
needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
no_pad_char npc bool NP - - ----- pad character does not exist
prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
row_addr_glitch xvpa bool YD - - ----- only positive motion for vpa/mvpa caps
semi_auto_right_margin sam bool YE - - ----- printing in last column causes cr
#%.TE
#%.ad
#%
#%These are the numeric capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
columns cols num co - - YBCGE number of columns in a line
init_tabs it num it - - YB-G- tabs initially every # spaces
lines lines num li - - YBCGE number of lines on screen or page
lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
width_status_line wsl num ws - - YB-G- number of columns in status line
bit_image_entwining bitwin num Yo - - ----- number of passes for each bit-image row
bit_image_type bitype num Yp - - ----- type of bit-image device
buffer_capacity bufsz num Ya - - ----- numbers of bytes buffered before printing
buttons btns num BT - - ----- number of buttons on mouse
dot_vert_spacing spinv num Yb - - ----- spacing of pins vertically in pins per inch
dot_horz_spacing spinh num Yc - - ----- spacing of dots horizontally in dots per inch
label_height lh num lh - - ----- rows in each label
label_width lw num lw - - ----- columns in each label
max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
max_colors colors num Co - - ----- maximum number of colors on screen
max_micro_address maddr num Yd - - ----- maximum value in micro_..._address
max_micro_jump mjump num Ye - - ----- maximum value in parm_..._micro
max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
maximum_windows wnum num MW - - ----- maximum number of definable windows
micro_col_size mcs num Yf - - ----- character step size when in micro mode
micro_line_size mls num Yg - - ----- line step size when in micro mode
no_color_video ncv num NC - - ----- video attributes that can not be used with colors
number_of_pins npins num Yh - - ----- numbers of pins in print-head
num_labels nlab num Nl - - ----- number of labels on screen
output_res_char orc num Yi - - ----- horizontal resolution in units per line
output_res_line orl num Yj - - ----- vertical resolution in units per line
output_res_horz_inch orhi num Yk - - ----- horizontal resolution in units per inch
output_res_vert_inch orvi num Yl - - ----- vertical resolution in units per inch
print_rate cps num Ym - - ----- print rate in characters per second
wide_char_size widcs num Yn - - ----- character step size when in double wide mode
#%.TE
#%.ad
#%
#%These are the string capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
back_tab cbt str bt - - YBCGE back tab (P)
bell bel str bl - - YB-GE audible signal (bell) (P)
carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
clr_eol el str ce - - YBCGE clear to end of line (P)
clr_eos ed str cd - - YBCGE clear to end of screen (P*)
column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
cursor_address cup str cm - - YBCGE move to row #1 columns #2
cursor_down cud1 str do - - YBCGE down one line
cursor_home home str ho - - YBCGE home cursor (if no cup)
cursor_invisible civis str vi - - YB-G- make cursor invisible
cursor_left cub1 str le - - YBCGE move left one space
cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
cursor_up cuu1 str up - - YBCGE up one line
cursor_visible cvvis str vs - - YBCGE make cursor very visible
delete_character dch1 str dc - - YBCGE delete character (P*)
delete_line dl1 str dl - - YBCGE delete line (P*)
dis_status_line dsl str ds - - YB-G- disable status line
down_half_line hd str hd - - YB-G- half a line down
enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
enter_blink_mode blink str mb - - YB-G- turn on blinking
enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
enter_delete_mode smdc str dm - - YBCGE enter delete mode
enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
enter_insert_mode smir str im - - YBCGE enter insert mode
enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
enter_protected_mode prot str mp - - -B-G-* turn on protected mode
enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
enter_standout_mode smso str so - - YBCGE begin standout mode
enter_underline_mode smul str us - - YBCGE begin underline mode
erase_chars ech str ec - - YB-G- erase #1 characters (P)
exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
exit_delete_mode rmdc str ed - - YBCGE end delete mode
exit_insert_mode rmir str ei - - YBCGE exit insert mode
exit_standout_mode rmso str se - - YBCGE exit standout mode
exit_underline_mode rmul str ue - - YBCGE exit underline mode
flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
from_status_line fsl str fs - - YB-G- return from status line
init_1string is1 str i1 - - YB-G- initialization string
init_2string is2 str is - - YB-G- initialization string
init_3string is3 str i3 - - YB-G- initialization string
init_file if str if - - YB-G- name of initialization file
insert_character ich1 str ic - - YBCGE insert character (P)
insert_line il1 str al - - YBCGE insert line (P*)
insert_padding ip str ip - - YBCGE insert padding after inserted character
key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
key_home khome str kh KEY_HOME 0406 YBCGE home key
key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
lab_f10 lf10 str la - - ----- label on function key f10 if not f10
lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
meta_off rmm str mo - - YB-G-* turn off meta mode
meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
pad_char pad str pc - - YBCGE padding char (instead of null)
parm_dch dch str DC - - YB-GE delete #1 characters (P*)
parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
parm_ich ich str IC - - YB-GE insert #1 characters (P*)
parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
print_screen mc0 str ps - - -B-G-* print contents of screen
prtr_off mc4 str pf - - -B-G-* turn off printer
prtr_on mc5 str po - - -B-G-* turn on printer
repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
reset_1string rs1 str r1 - - -B--- reset string
reset_2string rs2 str r2 - - -B--- reset string
reset_3string rs3 str r3 - - -B--- reset string
reset_file rf str rf - - -B--- name of reset file
restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
save_cursor sc str sc - - YBCG- save current cursor position (P)
scroll_forward ind str sf - - YBCGE scroll text up (P)
scroll_reverse ri str sr - - YBCGE scroll text down (P)
set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st - - YB-G- set a tab in every row, current columns
set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts - - YB-G- move to status line, column #1
underline_char uc str uc - - YBCG- underline char and move past it
up_half_line hu str hu - - YB-G- half a line up
init_prog iprog str iP - - -B--- path name of program for initialization
key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
#
# SVr1 capabilities stop here. IBM's version of terminfo is the same as
# SVr4 up to this point, but has a different set afterwards.
#
# OSF1 differences start here, based on IBM version:
#
box_chars_1 box1 str bx - - ----K box characters primary set
box_chars_2 box2 str by - - ----K box characters secondary set
box_attr_1 batt1 str Bx - - ----K attributes for box1
box_attr_2 batt2 str By - - ----K attributes for box2
color_bg_0 colb0 str d0 - - ----K background color 0
color_bg_1 colb1 str d1 - - ----K background color 1
color_bg_2 colb2 str d2 - - ----K background color 2
color_bg_3 colb3 str d3 - - ----K background color 3
color_bg_4 colb4 str d4 - - ----K background color 4
color_bg_5 colb5 str d5 - - ----K background color 5
color_bg_6 colb6 str d6 - - ----K background color 6
color_bg_7 colb7 str d7 - - ----K background color 7
color_fg_0 colf0 str c0 - - ----K foreground color 0
color_fg_1 colf1 str c1 - - ----K foreground color 1
color_fg_2 colf2 str c2 - - ----K foreground color 2
color_fg_3 colf3 str c3 - - ----K foreground color 3
color_fg_4 colf4 str c4 - - ----K foreground color 4
color_fg_5 colf5 str c5 - - ----K foreground color 5
color_fg_6 colf6 str c6 - - ----K foreground color 6
color_fg_7 colf7 str c7 - - ----K foreground color 7
font_0 font0 str f0 - - ----- select font 0
font_1 font1 str f1 - - ----- select font 1
font_2 font2 str f2 - - ----- select font 2
font_3 font3 str f3 - - ----- select font 3
font_4 font4 str f4 - - ----K select font 4
font_5 font5 str f5 - - ----K select font 5
font_6 font6 str f6 - - ----K select font 6
font_7 font7 str f7 - - ----K select font 7
key_back_tab kbtab str k0 - - ----- backtab key
key_do kdo str ki - - ----K do request key
key_command kcmd str kc KEY_COMMAND 0545 ----- command key
key_command_pane kcpn str kW - - ----K command-pane key
key_end kend str @7 KEY_END 0550 ----- end key
key_help khlp str %1 KEY_HELP 0553 ----- help key
key_newline knl str nl - - ----K newline key
key_next_pane knpn str kv - - ----K next-pane key
key_prev_cmd kppn str kp - - ----K previous-command key
key_prev_pane kppn str kV - - ----K previous-pane key
key_quit kquit str kQ - - ----K quit key
key_select kslt str *6 KEY_SELECT 0601 ----- select key
key_scroll_left kscl str kz - - ----K scroll left
key_scroll_right kscr str kZ - - ----K scroll right
key_tab ktab str ko - - ----K tab key
key_smap_in1 kmpf1 str Kv - - ----K special mapped key 1 input
key_smap_out1 kmpt1 str KV - - ----K special mapped key 1 output
key_smap_in2 kmpf2 str Kw - - ----K special mapped key 2 input
key_smap_out2 kmpt2 str KW - - ----K special mapped key 2 output
key_smap_in3 kmpf3 str Kx - - ----K special mapped key 3 input
key_smap_out3 kmpt3 str KX - - ----K special mapped key 3 output
key_smap_in4 kmpf4 str Ky - - ----K special mapped key 4 input
key_smap_out4 kmpt4 str KY - - ----K special mapped key 4 output
key_smap_in5 kmpf5 str Kz - - ----K special mapped key 5 input
key_smap_out5 kmpt5 str KZ - - ----K special mapped key 5 output
appl_defined_str apstr str za - - ----K application-defined string
# The key_smap_in[6789] and key_smap_out[6789] capabilities are described in
# the Tru64 manual pages.
key_smap_in6 kmpf6 str Kr - - ----K special mapped key 6 input
key_smap_out6 kmpt6 str KR - - ----K special mapped key 6 output
key_smap_in7 kmpf7 str Ks - - ----K special mapped key 7 input
key_smap_out7 kmpt7 str KS - - ----K special mapped key 7 output
key_smap_in8 kmpf8 str Kt - - ----K special mapped key 8 input
key_smap_out8 kmpt8 str KT - - ----K special mapped key 8 output
key_smap_in9 kmpf9 str Ku - - ----K special mapped key 9 input
key_smap_out9 kmpt9 str KU - - ----K special mapped key 9 output
key_sf1 ksf1 str S1 - - ----K special function key 1
key_sf2 ksf2 str S2 - - ----K special function key 2
key_sf3 ksf3 str S3 - - ----K special function key 3
key_sf4 ksf4 str S4 - - ----K special function key 4
key_sf5 ksf5 str S5 - - ----K special function key 5
key_sf6 ksf6 str S6 - - ----K special function key 6
key_sf7 ksf7 str S7 - - ----K special function key 7
key_sf8 ksf8 str S8 - - ----K special function key 8
key_sf9 ksf9 str S9 - - ----K special function key 9
key_sf10 ksf10 str SA - - ----K special function key 10
#
key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
key_action kact str kJ KEY_ACTION 0541 ----K sent by action key
acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
alt_scancode_esc scesa str S8 - - ----- Alternate escape for scancode emulation
bit_image_repeat birep str Xy - - ----- Repeat bit image cell #1 #2 times
bit_image_newline binel str Zz - - ----- Move to next row of the bit image
bit_image_carriage_return bicr str Yv - - ----- Move to beginning of same row
change_char_pitch cpi str ZA - - ----- Change number of characters per inch to #1
change_line_pitch lpi str ZB - - ----- Change number of lines per inch to #1
change_res_horz chr str ZC - - ----- Change horizontal resolution to #1
change_res_vert cvr str ZD - - ----- Change vertical resolution to #1
char_padding rmp str rP - - ----- like ip but when in insert mode
char_set_names csnm str Zy - - ----- Produce #1'th item from list of character set names
clear_margins mgc str MC - - ----- clear right and left soft margins
clr_bol el1 str cb - - ----- Clear to beginning of line
code_set_init csin str ci - - ----- Init sequence for multiple codesets
color_names colornm str Yw - - ----- Give name for color #1
create_window cwin str CW - - ----- define a window #1 from #2,#3 to #4,#5
define_bit_image_region defbi str Yx - - ----- Define rectangular bit image region
define_char defc str ZE - - ----- Define a character #1, #2 dots wide, descender #3
device_type devt str dv - - ----- Indicate language/codeset support
dial_phone dial str DI - - ----- dial number #1
display_clock dclk str DK - - ----- display clock
display_pc_char dispc str S1 - - ----- Display PC character #1
ena_acs enacs str eA - - ----- enable alternate char set
end_bit_image_region endbi str Yy - - ----- End a bit-image region
enter_am_mode smam str SA - - ----- turn on automatic margins
enter_doublewide_mode swidm str ZF - - ----- Enter double-wide mode
enter_draft_quality sdrfq str ZG - - ----- Enter draft-quality mode
enter_italics_mode sitm str ZH - - ----- Enter italic mode
enter_leftward_mode slm str ZI - - ----- Start leftward carriage motion
enter_micro_mode smicm str ZJ - - ----- Start micro-motion mode
enter_near_letter_quality snlq str ZK - - ----- Enter NLQ mode
enter_normal_quality snrmq str ZL - - ----- Enter normal-quality mode
enter_pc_charset_mode smpch str S2 - - ----- Enter PC character display mode
enter_scancode_mode smsc str S4 - - ----- Enter PC scancode mode
enter_shadow_mode sshm str ZM - - ----- Enter shadow-print mode
enter_subscript_mode ssubm str ZN - - ----- Enter subscript mode
enter_superscript_mode ssupm str ZO - - ----- Enter superscript mode
enter_upward_mode sum str ZP - - ----- Start upward carriage motion
enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
exit_am_mode rmam str RA - - ----- turn off automatic margins
exit_doublewide_mode rwidm str ZQ - - ----- End double-wide mode
exit_italics_mode ritm str ZR - - ----- End italic mode
exit_leftward_mode rlm str ZS - - ----- End left-motion mode
exit_micro_mode rmicm str ZT - - ----- End micro-motion mode
exit_pc_charset_mode rmpch str S3 - - ----- Exit PC character display mode
exit_scancode_mode rmsc str S5 - - ----- Exit PC scancode mode
exit_shadow_mode rshm str ZU - - ----- End shadow-print mode
exit_subscript_mode rsubm str ZV - - ----- End subscript mode
exit_superscript_mode rsupm str ZW - - ----- End superscript mode
exit_upward_mode rum str ZX - - ----- End reverse character motion
exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
fixed_pause pause str PA - - ----- pause for 2-3 seconds
flash_hook hook str fh - - ----- flash switch hook
get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
goto_window wingo str WG - - ----- go to window #1
hangup hup str HU - - ----- hang-up phone
initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
key_btab kcbt str kB KEY_BTAB 0632 ----- back-tab key
key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
key_close kclo str @3 KEY_CLOSE 0544 ----- close key
key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
key_create kcrt str @6 KEY_CREATE 0547 ----- create key
key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
key_exit kext str @9 KEY_EXIT 0551 ----- exit key
key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
key_find kfnd str @0 KEY_FIND 0552 ----- find key
key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
key_move kmov str %4 KEY_MOVE 0556 ----- move key
key_next knxt str %5 KEY_NEXT 0557 ----- next key
key_open kopn str %6 KEY_OPEN 0560 ----- open key
key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
key_print kprt str %9 KEY_PRINT 0532 ----- print key
key_redo krdo str %0 KEY_REDO 0563 ----- redo key
key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567 ----- restart key
key_resume kres str &5 KEY_RESUME 0570 ----- resume key
key_save ksav str &6 KEY_SAVE 0571 ----- save key
key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
key_undo kund str &8 KEY_UNDO 0630 ----- undo key
label_format fln str Lf - - ----- label format
label_off rmln str LF - - ----- turn off soft labels
label_on smln str LO - - ----- turn on soft labels
micro_column_address mhpa str ZY - - ----- Like column_address in micro mode
micro_down mcud1 str ZZ - - ----- Like cursor_down in micro mode
micro_left mcub1 str Za - - ----- Like cursor_left in micro mode
micro_right mcuf1 str Zb - - ----- Like cursor_right in micro mode
micro_row_address mvpa str Zc - - ----- Like row_address #1 in micro mode
micro_up mcuu1 str Zd - - ----- Like cursor_up in micro mode
mouse_info minfo str Mi - - ----- Mouse status information
order_of_pins porder str Ze - - ----- Match software bits to print-head pins
orig_colors oc str oc - - ----- Set all color pairs to the original ones
orig_pair op str op - - ----- Set default pair to its original value
parm_down_micro mcud str Zf - - ----- Like parm_down_cursor in micro mode
parm_left_micro mcub str Zg - - ----- Like parm_left_cursor in micro mode
parm_right_micro mcuf str Zh - - ----- Like parm_right_cursor in micro mode
parm_up_micro mcuu str Zi - - ----- Like parm_up_cursor in micro mode
pc_term_options pctrm str S6 - - ----- PC terminal options
pkey_plab pfxl str xl - - ----- Program function key #1 to type string #2 and show string #3
plab_norm pln str pn - - ----- program label #1 to show string #2
pulse pulse str PU - - ----- select pulse dialing
quick_dial qdial str QD - - ----- dial number #1 without checking
req_for_input rfi str RF - - ----- send next input char (for ptys)
req_mouse_pos reqmp str RQ - - ----- Request mouse position
remove_clock rmclk str RC - - ----- remove clock
scancode_escape scesc str S7 - - ----- Escape for scancode emulation
select_char_set scs str Zj - - ----- Select character set, #1
set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
set_background setb str Sb - - ----- Set background color #1
set_bottom_margin smgb str Zk - - ----- Set bottom margin at current line
set_bottom_margin_parm smgbp str Zl - - ----- Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_page_length slines str YZ - - ----- Set page length to #1 lines
set_right_margin smgr str MR - - ----- set right soft margin at current column
set_right_margin_parm smgrp str Zn - - ----- Set right margin at column #1
set_tb_margin smgtb str MT - - ----- Sets both top and bottom margins to #1, #2
set_top_margin smgt str Zo - - ----- Set top margin at current line
set_top_margin_parm smgtp str Zp - - ----- Set top (bottom) margin at row #1
start_bit_image sbim str Zq - - ----- Start printing bit image graphics
start_char_set_def scsd str Zr - - ----- Start character set definition #1, with #2 characters in the set
stop_bit_image rbim str Zs - - ----- Stop printing bit image graphics
stop_char_set_def rcsd str Zt - - ----- End definition of character set #1
subscript_characters subcs str Zu - - ----- List of subscriptable characters
superscript_characters supcs str Zv - - ----- List of superscriptable characters
these_cause_cr docr str Zw - - ----- Printing any of these characters causes CR
tone tone str TO - - ----- select touch tone dialing
user0 u0 str u0 - - ----- User string #0
user1 u1 str u1 - - ----- User string #1
user2 u2 str u2 - - ----- User string #2
user3 u3 str u3 - - ----- User string #3
user4 u4 str u4 - - ----- User string #4
user5 u5 str u5 - - ----- User string #5
user6 u6 str u6 - - ----- User string #6
user7 u7 str u7 - - ----- User string #7
user8 u8 str u8 - - ----- User string #8
user9 u9 str u9 - - ----- User string #9
wait_tone wait str WA - - ----- wait for dial-tone
xoff_character xoffc str XF - - ----- XOFF character
xon_character xonc str XN - - ----- XON character
zero_motion zerom str Zx - - ----- No motion for subsequent character
set_pglen_inch slength str YI - - ----- Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
enter_horizontal_hl_mode ehhlm str Xh - - ----- Enter horizontal highlight mode
enter_left_hl_mode elhlm str Xl - - ----- Enter left highlight mode
enter_low_hl_mode elohlm str Xo - - ----- Enter low highlight mode
enter_right_hl_mode erhlm str Xr - - ----- Enter right highlight mode
enter_top_hl_mode ethlm str Xt - - ----- Enter top highlight mode
enter_vertical_hl_mode evhlm str Xv - - ----- Enter vertical highlight mode
set_a_attributes sgr1 str sA - - ----- Define second set of video attributes #1-#6
#
#
#
# %%-STOP-HERE-%%
#
# Don't move this casually! In fact, don't move it at all unless you're
# either doing it to add System V or XPG4 extensions, or have decided you
# don't care about SVr4 binary compatibility.
#
#############################################################################
#
# TERMCAP EXTENSION CAPABILITIES
#
# The capabilities below are either obsolete or extensions on certain systems.
# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
# termcap sources; the rest are listed for completeness, and in case somebody
# cares about them enough to hack in code that will translate them into
# terminfo capabilities.
#
# The first part of the list is from Ross Ridge's `mytinfo' package
# (comp.sources.unix, volume 26); the variable names and terminfo names (as
# well as the termcap codes) match his list.
#
# This group of codes is not marked obsolete in 4.4BSD, but have no direct
# terminfo equivalents. The rs capability is specially translated to terminfo
# r2, and vice versa, if an entry does not already have an r2. Similarly,
# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
# The ug capability is thrown away, but assumed to be whatever sg is if the
# latter is nonzero and we're dumping in termcap format.
#
termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
termcap_reset OTrs str rs - - YB-G- terminal reset string
magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
#
# Obsolete termcap capabilities. Some are used for termcap translation. The
# code uses the 'OT' prefix we put on obsolete capabilities to suppress
# printing them in terminfo source dumps of compiled entries.
#
backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
new_line_delay OTdN num dN - - YB-G- pad needed for LF
linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
#
# GNU termcap library extensions. The GNU termcap file distributed with
# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
# BSD termcap file. The name clash with terminfo MT is resolved by type
# info; MT is converted to km.
#
gnu_has_meta_key OTMT bool MT - - ----E has meta key
# gnu_tab_width OTtw num tw - - ----E tab width in spaces
#
# GNU termcap *does* include the following extended capability, Only the
# now-obsolete Ann Arbor terminals used it.
#
# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
#
# The following comments describe capnames so ancient that I believe no
# software uses them any longer. Some of these have to go because they
# clash with terminfo names in ways that cannot be resolved by type
# information.
#
# These mytinfo codes are not used in the 4.4BSD curses code. They are
# marked obsolete in the 4.4BSD manual pages.
#
# There is one conflict with terminfo; ma is in both. This conflict is
# resolved by type information.
#
# The `ko' capability is translated by special code. It should contain a
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
# The `ma' capability was a 4.0BSD feature used by vi version 2.
# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
# Besides being obsolete, that interpretation conflicts with max_attributes.
#
# Here is a description of memory_lock_above and memory_unlock:
# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
# text. All lines above the cursor's current line become locked in place on
# the screen. Then enter data normally. When the screen fills up, any
# further data entered forces the first line of unfrozen line text to scroll
# under the frozen data. Lines scrolled off the screen are inserted into
# memory immediately preceding the first frozen line." (from the HP 700/96
# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
#
# Applications that use terminfo are supposed to behave as though xr is
# always true.
#
linefeed_is_newline OTNL bool NL - - YB--- move down with \n
# even_parity OTEP bool EP - - -B--- terminal requires even parity
# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
backspace_delay OTdB num dB - - YB-G- padding required for ^H
# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
number_of_function_keys OTkn num kn - - -B-G- count of function keys
other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
return_does_clr_eol OTxr bool xr - - YB--- return clears the line
# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
#
# mytinfo described this as a termcap capability, but it is not listed in the
# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
# package, like System V, behaves as though it is always true.
#
# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
#
# University of Waterloo termcap extensions (as described in mytinfo).
# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
# be resolved by a type check. The descriptions are guesses from what was
# in the mytinfo tables.
#
# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
# key_kill_char OTkk str kk - - ----- string set by kill key (?)
# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
#
# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
# check.
#
# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
#
# The mytinfo capabilities end here.
#
# XENIX extensions:
#
# Xenix defined its own set of forms-drawing capabilities:
#
# cap IBM ASCII description ACS ASCII
# --- ----------- -------------------- ------------- ------
# G1 191 \277 M-? single upper right ACS_URCORNER
# G2 218 \332 M-Z single upper left ACS_ULCORNER
# G3 192 \300 M-@ single lower left ACS_LLCORNER
# G4 217 \331 M-Y single lower right ACS_LRCORNER
# G5 187 \273 M-; double upper right
# G6 201 \311 M-I double upper left
# G7 200 \310 M-H double lower left
# G8 188 \274 M-< double lower right
# GC 197 \305 M-E single intersection ACS_PLUS _ _
# GD 194 \302 M-B single down-tick ACS_TTEE |
# GH 196 \304 M-D single horizontal line ACS_HLINE
# GL 180 \264 M-4 single left tick ACS_RTEE -|
# GR 195 \303 M-C single right tick ACS_LTEE |-
# GU 193 \301 M-A single up tick ACS_BTEE _|_
# GV 179 \263 M-3 single vertical line ACS_VLINE
# Gc 206 \316 M-N double intersection
# Gd 203 \313 M-K double down tick
# Gh 205 \315 M-M double horizontal line
# Gl 204 \204 M-L double left tick
# Gr 185 \271 M-9 double right tick
# Gu 202 \312 M-J double up tick
# Gv 186 \272 M-: double vertical line
#
# The compiler will translate the single-line caps and discard the others
# (via IGNORE aliases further down). We don't want to do normal pad
# translation on these, they're often single-character printable ASCII
# strings that happen to be numerics. There's awk code in parametrized.sh
# that detects the acs_ prefix and uses it to suppress pad translation.
# These terminfo names are invented.
#
acs_ulcorner OTG2 str G2 - - ----- single upper left
acs_llcorner OTG3 str G3 - - ----- single lower left
acs_urcorner OTG1 str G1 - - ----- single upper right
acs_lrcorner OTG4 str G4 - - ----- single lower right
acs_ltee OTGR str GR - - ----- tee pointing right
acs_rtee OTGL str GL - - ----- tee pointing left
acs_btee OTGU str GU - - ----- tee pointing up
acs_ttee OTGD str GD - - ----- tee pointing down
acs_hline OTGH str GH - - ----- single horizontal line
acs_vline OTGV str GV - - ----- single vertical line
acs_plus OTGC str GC - - ----- single intersection
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# (see Caps-ncurses for the complete set of comments)
#
memory_lock meml str ml - - ----K lock memory above cursor
memory_unlock memu str mu - - ----K unlock memory
#
#############################################################################

View File

@@ -1,796 +0,0 @@
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 2001-2015,2016 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas Dickey
#
# $Id: Caps.uwin,v 1.15 2021/10/08 07:55:48 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with U/Win's terminfo.
#
# This table is used to generate initializers for tables that drive tic,
# infocmp, and the library compilation code used to support the termcap
# compatibility hack. It is also used to generate the tabular portion of the
# terminfo(5) man page; lines beginning with `#%' are passed through to become
# the terminfo table.
#
# This file has three major sections; a standard-capabilities table, two
# extension-capability tables, and a section of aliases declarations.
# The first two have the same format, as follows:
#
# FILE FORMAT
#
# Column 1: terminfo variable name
# Column 2: terminfo capability name
# Column 3: capability type (boolean, numeric, or string)
# Column 4: termcap capability name
# Column 5: KEY_xxx name, if any, `-' otherwise
# Column 6: value for KEY_xxx name, if any, `-' otherwise
# Column 7: Lead with `Y' if capability should be emitted in termcap
# translations, `-' otherwise
# Column 8: capability description
#
# The codes following [Y-] in column 7 describe the versions of termcap which
# use the given capability. This information is not used by the curses library
# proper; rather, it is there to help the terminfo maintainer avoid emitting
# termcap entry translations that are more than 1023 bytes long (and tank a
# lot of old termcap-using programs). The codes read as follows:
# B = mentioned in the BSD man page for 4.4BSD curses
# C = used by the 4.4BSD curses library
# G = mentioned in the documentation for GNU termcap
# E = used by GNU Emacs
# K = remove this terminfo capability when translating to standard format
# The important codes are C and E. A cap with C or E should be preserved in
# translation if possible. The problem is that preserving all such caps may
# lead to some termcap translations being too long. The termcap maintainer
# has a bit of a juggling act to do...potential problem cases are marked with
# an asterisk (*).
#
# The aliases section has the following format:
#
# Column 1: either `capalias' or `infoalias'
# Column 2: name to be aliased
# Column 3: what name it should translate to. The name IGNORE means it
# should be discarded with a warning message.
# Column 4: name of the extension set (used for compiler warning messages)
# Column 5: capability description (usually an associated terminfo variable)
#
# HANDLING TERMCAP AND TERMINFO EXTENSIONS
#
# There are basically five different ways to handle termcap and terminfo
# extensions:
#
# 1. Don't list the capname here, or list it but comment it out (the latter
# is preferable; someone might want to handle it in the future). If you do
# this, the capability will be treated as unknown and raise a warning from
# the compiler.
#
# 2. Alias it. This is appropriate if the capability has the same meaning
# as an already-supported one. The compiler will handle aliasing, emitting
# an appropriate informational message whenever an alias fires.
#
# 3. List it in the standard table. You almost certainly do *not* want
# to do this -- the capabilities in that one, and their order, have been
# carefully chosen to be SVr4-binary-compatible when they're written out
# as a terminfo object, and breaking this would be bad. It is up to the ncurses
# library what to do with the terminfo data after it is read in.
#
# 4. List it in the aliases table with an IGNORE target field. If you
# do this, the capability will be ignored on input (though the user will
# get a warning message about it).
#
# 5. List it in the extensions table. If you do this, the compiler will
# silently accept the capability, but the curses library proper will never
# see it (because it won't be written out as part of the terminfo object
# format). It is up to you what you have the compiler do with it.
#
# There are two opposite reasons to choose option 5. One is when you want
# to eat the capability silently and discard it when doing translations
# to terminfo with tic -I. Some very old obsolete BSD caps like :kn: are
# in this class. Nothing will ever use them again.
#
# More usually, you want the compiler to try to deduce something from the
# capability value that it can use to translate it into your output format.
# You'll need to write custom code, probably in postprocess_termcap() or
# postprocess_terminfo(), to handle the translation.
#
# CONTROLLING ENTRY LENGTH
#
# Notes on specific elisions made to fit translations within 1023 bytes:
#
# Machines with IBM PC-like keyboards want to be able to define the following
# keys: key_npage, key_ppage, key_home, key_ll (which is used for in termcap-
# only environments for End or Home-Down), key_dc, and key_ic. This is also
# the set of keys the `joe' editor will be upset if it can't see. So don't
# trim those out of the set to be translated to termcap, or various users of
# the termcap file will become irate.
#
# It might look tempting to leave those long init strings out of translations.
# We can't do it (yet); 4.4BSD tput and tset use them.
#
# We retain the sgr capability in translation in spite of the fact that neither
# 4.4BSD nor GNU Emacs uses it, because (a) some entry naming distinctions are
# hard to understand without it, and (b) the entries in which it is long tend
# to be older types that don't use up a lot of string space on function keys.
# The tic(1) translation code will complain and elide it if it makes a critical
# difference (there is special code in tic to recognize this situation).
#
# Yes, BSD tset(1) uses hpa. We elide hpa/vpa anyway because the motion
# optimizer in BSD curses didn't use them. This omission seems to be the
# single most effective one, it shortened the resolved length of all thirteen
# problem entries in the 9.9.0 version of the terminfo master below critical.
#
# It would be nice to keep f11 and f12 for Emacs use, but a couple of termcap
# translations go back over critical if we do this. As 4.4BSD curses fades
# into history and GNU termcap's application base shrinks towards being GNU
# Emacs only, we'll probably elide out some BSD-only capabilities in order
# to buy space for non-essentials Emacs is still using. Capabilities high
# on that hit list: rc, sc, uc.
#
#############################################################################
#
# STANDARD CAPABILITIES
#
#%The following is a complete table of the capabilities included in a
#%terminfo description block and available to terminfo-using code. In each
#%line of the table,
#%
#%The \fBvariable\fR is the name by which the programmer (at the terminfo level)
#%accesses the capability.
#%
#%The \fBcapname\fR is the short name used in the text of the database,
#%and is used by a person updating the database.
#%Whenever possible, capnames are chosen to be the same as or similar to
#%the ANSI X3.64-1979 standard (now superseded by ECMA-48, which uses
#%identical or very similar names). Semantics are also intended to match
#%those of the specification.
#%
#%The termcap code is the old
#%.B termcap
#%capability name (some capabilities are new, and have names which termcap
#%did not originate).
#%.P
#%Capability names have no hard length limit, but an informal limit of 5
#%characters has been adopted to keep them short and to allow the tabs in
#%the source file
#%.B Caps
#%to line up nicely.
#%
#%Finally, the description field attempts to convey the semantics of the
#%capability. You may find some codes in the description field:
#%.TP
#%(P)
#%indicates that padding may be specified
#%.TP
#%#[1-9]
#%in the description field indicates that the string is passed
#%through \fBtparm\fP(3X) with parameters as given (#\fIi\fP).
#%.IP
#%If no parameters are listed in the description,
#%passing the string through \fBtparm\fP(3X) may give unexpected results,
#%e.g., if it contains percent (%%) signs.
#%.TP
#%(P*)
#%indicates that padding may vary in proportion to the number of
#%lines affected
#%.TP
#%(#\d\fIi\fP\u)
#%indicates the \fIi\fP\uth\d parameter.
#%
#%.PP
#% These are the boolean capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBBooleans name Code\fR
auto_left_margin bw bool bw - - YB-G- cub1 wraps from column 0 to last column
auto_right_margin am bool am - - YBCGE terminal has automatic margins
no_esc_ctlc xsb bool xb - - YBCG- beehive (f1=escape, f2=ctrl C)
ceol_standout_glitch xhp bool xs - - YBCGE standout not erased by overwriting (hp)
eat_newline_glitch xenl bool xn - - YBCGE newline ignored after 80 cols (concept)
erase_overstrike eo bool eo - - YBCG- can erase overstrikes with a blank
generic_type gn bool gn - - YB-G- generic line type
hard_copy hc bool hc - - YBCG- hardcopy terminal
has_meta_key km bool km - - YB-GE Has a meta key (i.e., sets 8th-bit)
has_status_line hs bool hs - - YB-G- has extra status line
insert_null_glitch in bool in - - YBCGE insert mode distinguishes nulls
memory_above da bool da - - YBCG- display may be retained above the screen
memory_below db bool db - - YB-GE display may be retained below the screen
move_insert_mode mir bool mi - - YBCGE safe to move while in insert mode
move_standout_mode msgr bool ms - - YBCGE safe to move while in standout mode
over_strike os bool os - - YBCG- terminal can overstrike
status_line_esc_ok eslok bool es - - YB-G- escape can be used on the status line
dest_tabs_magic_smso xt bool xt - - YBCGE tabs destructive, magic so char (t1061)
tilde_glitch hz bool hz - - YB-GE cannot print ~'s (Hazeltine)
transparent_underline ul bool ul - - YBCGE underline character overstrikes
xon_xoff xon bool xo - - YB--- terminal uses xon/xoff handshaking
needs_xon_xoff nxon bool nx - - ----- padding will not work, xon/xoff required
prtr_silent mc5i bool 5i - - ----- printer will not echo on screen
hard_cursor chts bool HC - - ----- cursor is hard to see
non_rev_rmcup nrrmc bool NR - - ----- smcup does not reverse rmcup
no_pad_char npc bool NP - - ----- pad character does not exist
non_dest_scroll_region ndscr bool ND - - ----- scrolling region is non-destructive
back_color_erase bce bool ut - - ----- screen erased with background color
can_change ccc bool cc - - ----- terminal can re-define existing colors
hue_lightness_saturation hls bool hl - - ----- terminal uses only HLS color notation (Tektronix)
#%.TE
#%.ad
#%
#%These are the numeric capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBNumeric name Code\fR
columns cols num co - - YBCGE number of columns in a line
init_tabs it num it - - YB-G- tabs initially every # spaces
lines lines num li - - YBCGE number of lines on screen or page
lines_of_memory lm num lm - - YB-G- lines of memory if > line. 0 means varies
magic_cookie_glitch xmc num sg - - YBCGE number of blank characters left by smso or rmso
padding_baud_rate pb num pb - - YB-GE lowest baud rate where padding needed
virtual_terminal vt num vt - - YB--- virtual terminal number (CB/unix)
width_status_line wsl num ws - - YB-G- number of columns in status line
num_labels nlab num Nl - - ----- number of labels on screen
label_height lh num lh - - ----- rows in each label
label_width lw num lw - - ----- columns in each label
buttons btns num BT - - ----- number of buttons on mouse
#max_attributes ma num ma - - YBC-- maximum combined attributes terminal can handle
#maximum_windows wnum num MW - - ----- maximum number of defineable windows
# These came in with SVr4's color support
max_colors colors num Co - - ----- maximum number of colors on screen
max_pairs pairs num pa - - ----- maximum number of color-pairs on the screen
no_color_video ncv num NC - - ----- video attributes that cannot be used with colors
#%.TE
#%.ad
#%
#%The following numeric capabilities are present in the SVr4.0 term structure,
#%but are not yet documented in the man page. They came in with SVr4's
#%printer support.
#%
#%.na
#%
#%These are the string capabilities:
#%
#%.na
#%.TS H
#%center expand;
#%c l l c
#%c l l c
#%lw25 lw6 lw2 lw20.
#%\fBVariable Cap- TCap Description\fR
#%\fBString name Code\fR
back_tab cbt str bt - - YBCGE back tab (P)
bell bel str bl - - YB-GE audible signal (bell) (P)
carriage_return cr str cr - - YBCGE carriage return (P*) (P*)
change_scroll_region csr str cs - - YBCGE change region to line #1 to line #2 (P)
clear_all_tabs tbc str ct - - YB-G- clear all tab stops (P)
clear_screen clear str cl - - YBCGE clear screen and home cursor (P*)
clr_eol el str ce - - YBCGE clear to end of line (P)
clr_eos ed str cd - - YBCGE clear to end of screen (P*)
column_address hpa str ch - - -B-GE* horizontal position #1, absolute (P)
command_character cmdch str CC - - YB-G- terminal settable cmd character in prototype !?
cursor_address cup str cm - - YBCGE move to row #1 columns #2
cursor_down cud1 str do - - YBCGE down one line
cursor_home home str ho - - YBCGE home cursor (if no cup)
cursor_invisible civis str vi - - YB-G- make cursor invisible
cursor_left cub1 str le - - YBCGE move left one space
cursor_mem_address mrcup str CM - - YB-G- memory relative cursor addressing, move to row #1 columns #2
cursor_normal cnorm str ve - - YBCGE make cursor appear normal (undo civis/cvvis)
cursor_right cuf1 str nd - - YBCGE non-destructive space (move right one space)
cursor_to_ll ll str ll - - YBCGE last line, first column (if no cup)
cursor_up cuu1 str up - - YBCGE up one line
cursor_visible cvvis str vs - - YBCGE make cursor very visible
delete_character dch1 str dc - - YBCGE delete character (P*)
delete_line dl1 str dl - - YBCGE delete line (P*)
dis_status_line dsl str ds - - YB-G- disable status line
down_half_line hd str hd - - YB-G- half a line down
enter_alt_charset_mode smacs str as - - YB-G- start alternate character set (P)
enter_blink_mode blink str mb - - YB-G- turn on blinking
enter_bold_mode bold str md - - YB-G- turn on bold (extra bright) mode
enter_ca_mode smcup str ti - - YBCGE string to start programs using cup
enter_delete_mode smdc str dm - - YBCGE enter delete mode
enter_dim_mode dim str mh - - YB-G- turn on half-bright mode
enter_insert_mode smir str im - - YBCGE enter insert mode
enter_secure_mode invis str mk - - -B-G-* turn on blank mode (characters invisible)
enter_protected_mode prot str mp - - -B-G-* turn on protected mode
enter_reverse_mode rev str mr - - YB-G- turn on reverse video mode
enter_standout_mode smso str so - - YBCGE begin standout mode
enter_underline_mode smul str us - - YBCGE begin underline mode
erase_chars ech str ec - - YB-G- erase #1 characters (P)
exit_alt_charset_mode rmacs str ae - - YB-G- end alternate character set (P)
exit_attribute_mode sgr0 str me - - YB-GE turn off all attributes
exit_ca_mode rmcup str te - - YBCGE strings to end programs using cup
exit_delete_mode rmdc str ed - - YBCGE end delete mode
exit_insert_mode rmir str ei - - YBCGE exit insert mode
exit_standout_mode rmso str se - - YBCGE exit standout mode
exit_underline_mode rmul str ue - - YBCGE exit underline mode
flash_screen flash str vb - - YBCGE visible bell (may not move cursor)
form_feed ff str ff - - YB-G- hardcopy terminal page eject (P*)
from_status_line fsl str fs - - YB-G- return from status line
init_1string is1 str i1 - - YB-G- initialization string
init_2string is2 str is - - YB-G- initialization string
init_3string is3 str i3 - - YB-G- initialization string
init_file if str if - - YB-G- name of initialization file
insert_character ich1 str ic - - YBCGE insert character (P)
insert_line il1 str al - - YBCGE insert line (P*)
insert_padding ip str ip - - YBCGE insert padding after inserted character
key_backspace kbs str kb KEY_BACKSPACE 0407 YB-G- backspace key
key_catab ktbc str ka KEY_CATAB 0526 -B-G-* clear-all-tabs key
key_clear kclr str kC KEY_CLEAR 0515 -B-G-* clear-screen or erase key
key_ctab kctab str kt KEY_CTAB 0525 -B-G-* clear-tab key
key_dc kdch1 str kD KEY_DC 0512 YB-G- delete-character key
key_dl kdl1 str kL KEY_DL 0510 -B-G-* delete-line key
key_down kcud1 str kd KEY_DOWN 0402 YBCGE down-arrow key
key_eic krmir str kM KEY_EIC 0514 -B-G-* sent by rmir or smir in insert mode
key_eol kel str kE KEY_EOL 0517 -B-G-* clear-to-end-of-line key
key_eos ked str kS KEY_EOS 0516 -B-G-* clear-to-end-of-screen key
key_f0 kf0 str k0 KEY_F(0) 0410 YBCGE F0 function key
key_f1 kf1 str k1 KEY_F(1) - YBCGE F1 function key
key_f10 kf10 str k; KEY_F(10) - ----E F10 function key
key_f2 kf2 str k2 KEY_F(2) - YBCGE F2 function key
key_f3 kf3 str k3 KEY_F(3) - YBCGE F3 function key
key_f4 kf4 str k4 KEY_F(4) - YBCGE F4 function key
key_f5 kf5 str k5 KEY_F(5) - YBCGE F5 function key
key_f6 kf6 str k6 KEY_F(6) - YBCGE F6 function key
key_f7 kf7 str k7 KEY_F(7) - YBCGE F7 function key
key_f8 kf8 str k8 KEY_F(8) - YBCGE F8 function key
key_f9 kf9 str k9 KEY_F(9) - YBCGE F9 function key
key_home khome str kh KEY_HOME 0406 YBCGE home key
key_ic kich1 str kI KEY_IC 0513 YB-GE insert-character key
key_il kil1 str kA KEY_IL 0511 -B-G-* insert-line key
key_left kcub1 str kl KEY_LEFT 0404 YBCGE left-arrow key
key_ll kll str kH KEY_LL 0533 YB-G- lower-left key (home down)
key_npage knp str kN KEY_NPAGE 0522 YB-GE next-page key
key_ppage kpp str kP KEY_PPAGE 0523 YB-GE previous-page key
key_right kcuf1 str kr KEY_RIGHT 0405 YBCGE right-arrow key
key_sf kind str kF KEY_SF 0520 -B-G-* scroll-forward key
key_sr kri str kR KEY_SR 0521 -B-G-* scroll-backward key
key_stab khts str kT KEY_STAB 0524 -B-G-* set-tab key
key_up kcuu1 str ku KEY_UP 0403 YBCGE up-arrow key
keypad_local rmkx str ke - - YBCGE leave 'keyboard_transmit' mode
keypad_xmit smkx str ks - - YBCGE enter 'keyboard_transmit' mode
lab_f0 lf0 str l0 - - -B-G-* label on function key f0 if not f0
lab_f1 lf1 str l1 - - -B-G-* label on function key f1 if not f1
lab_f10 lf10 str la - - ----- label on function key f10 if not f10
lab_f2 lf2 str l2 - - -B-G-* label on function key f2 if not f2
lab_f3 lf3 str l3 - - -B-G-* label on function key f3 if not f3
lab_f4 lf4 str l4 - - -B-G-* label on function key f4 if not f4
lab_f5 lf5 str l5 - - -B-G-* label on function key f5 if not f5
lab_f6 lf6 str l6 - - -B-G-* label on function key f6 if not f6
lab_f7 lf7 str l7 - - -B-G-* label on function key f7 if not f7
lab_f8 lf8 str l8 - - -B-G-* label on function key f8 if not f8
lab_f9 lf9 str l9 - - -B-G-* label on function key f9 if not f9
meta_off rmm str mo - - YB-G-* turn off meta mode
meta_on smm str mm - - YB-G-* turn on meta mode (8th-bit on)
newline nel str nw - - YB-G-* newline (behave like cr followed by lf)
pad_char pad str pc - - YBCGE padding char (instead of null)
parm_dch dch str DC - - YB-GE delete #1 characters (P*)
parm_delete_line dl str DL - - YBCGE delete #1 lines (P*)
parm_down_cursor cud str DO - - YBCGE down #1 lines (P*)
parm_ich ich str IC - - YB-GE insert #1 characters (P*)
parm_index indn str SF - - YBCG- scroll forward #1 lines (P)
parm_insert_line il str AL - - YBCGE insert #1 lines (P*)
parm_left_cursor cub str LE - - YBCGE move #1 characters to the left (P)
parm_right_cursor cuf str RI - - YBCGE move #1 characters to the right (P*)
parm_rindex rin str SR - - YBCG- scroll back #1 lines (P)
parm_up_cursor cuu str UP - - YBCGE up #1 lines (P*)
pkey_key pfkey str pk - - -B--- program function key #1 to type string #2
pkey_local pfloc str pl - - -B--- program function key #1 to execute string #2
pkey_xmit pfx str px - - -B--- program function key #1 to transmit string #2
print_screen mc0 str ps - - -B-G-* print contents of screen
prtr_off mc4 str pf - - -B-G-* turn off printer
prtr_on mc5 str po - - -B-G-* turn on printer
repeat_char rep str rp - - YB-GE repeat char #1 #2 times (P*)
reset_1string rs1 str r1 - - -B--- reset string
reset_2string rs2 str r2 - - -B--- reset string
reset_3string rs3 str r3 - - -B--- reset string
reset_file rf str rf - - -B--- name of reset file
restore_cursor rc str rc - - YBCG- restore cursor to position of last save_cursor
row_address vpa str cv - - -B-GE* vertical position #1 absolute (P)
save_cursor sc str sc - - YBCG- save current cursor position (P)
scroll_forward ind str sf - - YBCGE scroll text up (P)
scroll_reverse ri str sr - - YBCGE scroll text down (P)
set_attributes sgr str sa - - YB-G- define video attributes #1-#9 (PG9)
set_tab hts str st - - YB-G- set a tab in every row, current columns
set_window wind str wi - - -B-GE current window is lines #1-#2 cols #3-#4
tab ht str ta - - YBCGE tab to next 8-space hardware tab stop
to_status_line tsl str ts - - YB-G- move to status line, column #1
underline_char uc str uc - - YBCG- underline char and move past it
up_half_line hu str hu - - YB-G- half a line up
init_prog iprog str iP - - -B--- path name of program for initialization
key_a1 ka1 str K1 KEY_A1 0534 YB-GE upper left of keypad
key_a3 ka3 str K3 KEY_A3 0535 YB-GE upper right of keypad
key_b2 kb2 str K2 KEY_B2 0536 YB-GE center of keypad
key_c1 kc1 str K4 KEY_C1 0537 YB-GE lower left of keypad
key_c3 kc3 str K5 KEY_C3 0540 YB-GE lower right of keypad
prtr_non mc5p str pO - - -B-G-* turn on printer for #1 bytes
#
# SVr1 capabilities stop here. IBM's version of terminfo is the same as
# SVr4 up to this point, but has a different set afterwards.
#
char_padding rmp str rP - - ----- like ip but when in insert mode
acs_chars acsc str ac - - ----- graphics charset pairs, based on vt100
plab_norm pln str pn - - ----- program label #1 to show string #2
key_btab kcbt str kB KEY_BTAB 0541 ----- back-tab key
enter_xon_mode smxon str SX - - ----- turn on xon/xoff handshaking
exit_xon_mode rmxon str RX - - ----- turn off xon/xoff handshaking
enter_am_mode smam str SA - - ----- turn on automatic margins
exit_am_mode rmam str RA - - ----- turn off automatic margins
xon_character xonc str XN - - ----- XON character
xoff_character xoffc str XF - - ----- XOFF character
ena_acs enacs str eA - - ----- enable alternate char set
label_on smln str LO - - ----- turn on soft labels
label_off rmln str LF - - ----- turn off soft labels
key_beg kbeg str @1 KEY_BEG 0542 ----- begin key
key_cancel kcan str @2 KEY_CANCEL 0543 ----- cancel key
key_close kclo str @3 KEY_CLOSE 0544 ----- close key
key_command kcmd str @4 KEY_COMMAND 0545 ----- command key
key_copy kcpy str @5 KEY_COPY 0546 ----- copy key
key_create kcrt str @6 KEY_CREATE 0547 ----- create key
key_end kend str @7 KEY_END 0550 ----- end key
key_enter kent str @8 KEY_ENTER 0527 ----- enter/send key
key_exit kext str @9 KEY_EXIT 0551 ----- exit key
key_find kfnd str @0 KEY_FIND 0552 ----- find key
key_help khlp str %1 KEY_HELP 0553 ----- help key
key_mark kmrk str %2 KEY_MARK 0554 ----- mark key
key_message kmsg str %3 KEY_MESSAGE 0555 ----- message key
key_move kmov str %4 KEY_MOVE 0556 ----- move key
key_next knxt str %5 KEY_NEXT 0557 ----- next key
key_open kopn str %6 KEY_OPEN 0560 ----- open key
key_options kopt str %7 KEY_OPTIONS 0561 ----- options key
key_previous kprv str %8 KEY_PREVIOUS 0562 ----- previous key
key_print kprt str %9 KEY_PRINT 0532 ----- print key
key_redo krdo str %0 KEY_REDO 0563 ----- redo key
key_reference kref str &1 KEY_REFERENCE 0564 ----- reference key
key_refresh krfr str &2 KEY_REFRESH 0565 ----- refresh key
key_replace krpl str &3 KEY_REPLACE 0566 ----- replace key
key_restart krst str &4 KEY_RESTART 0567 ----- restart key
key_resume kres str &5 KEY_RESUME 0570 ----- resume key
key_save ksav str &6 KEY_SAVE 0571 ----- save key
key_suspend kspd str &7 KEY_SUSPEND 0627 ----- suspend key
key_undo kund str &8 KEY_UNDO 0630 ----- undo key
key_sbeg kBEG str &9 KEY_SBEG 0572 ----- shifted begin key
key_scancel kCAN str &0 KEY_SCANCEL 0573 ----- shifted cancel key
key_scommand kCMD str *1 KEY_SCOMMAND 0574 ----- shifted command key
key_scopy kCPY str *2 KEY_SCOPY 0575 ----- shifted copy key
key_screate kCRT str *3 KEY_SCREATE 0576 ----- shifted create key
key_sdc kDC str *4 KEY_SDC 0577 ----- shifted delete-character key
key_sdl kDL str *5 KEY_SDL 0600 ----- shifted delete-line key
key_select kslt str *6 KEY_SELECT 0601 ----- select key
key_send kEND str *7 KEY_SEND 0602 ----- shifted end key
key_seol kEOL str *8 KEY_SEOL 0603 ----- shifted clear-to-end-of-line key
key_sexit kEXT str *9 KEY_SEXIT 0604 ----- shifted exit key
key_sfind kFND str *0 KEY_SFIND 0605 ----- shifted find key
key_shelp kHLP str #1 KEY_SHELP 0606 ----- shifted help key
key_shome kHOM str #2 KEY_SHOME 0607 ----- shifted home key
key_sic kIC str #3 KEY_SIC 0610 ----- shifted insert-character key
key_sleft kLFT str #4 KEY_SLEFT 0611 ----- shifted left-arrow key
key_smessage kMSG str %a KEY_SMESSAGE 0612 ----- shifted message key
key_smove kMOV str %b KEY_SMOVE 0613 ----- shifted move key
key_snext kNXT str %c KEY_SNEXT 0614 ----- shifted next key
key_soptions kOPT str %d KEY_SOPTIONS 0615 ----- shifted options key
key_sprevious kPRV str %e KEY_SPREVIOUS 0616 ----- shifted previous key
key_sprint kPRT str %f KEY_SPRINT 0617 ----- shifted print key
key_sredo kRDO str %g KEY_SREDO 0620 ----- shifted redo key
key_sreplace kRPL str %h KEY_SREPLACE 0621 ----- shifted replace key
key_sright kRIT str %i KEY_SRIGHT 0622 ----- shifted right-arrow key
key_srsume kRES str %j KEY_SRSUME 0623 ----- shifted resume key
key_ssave kSAV str !1 KEY_SSAVE 0624 ----- shifted save key
key_ssuspend kSPD str !2 KEY_SSUSPEND 0625 ----- shifted suspend key
key_sundo kUND str !3 KEY_SUNDO 0626 ----- shifted undo key
req_for_input rfi str RF - - ----- send next input char (for ptys)
key_f11 kf11 str F1 KEY_F(11) - ----E F11 function key
key_f12 kf12 str F2 KEY_F(12) - ----E F12 function key
key_f13 kf13 str F3 KEY_F(13) - ----E F13 function key
key_f14 kf14 str F4 KEY_F(14) - ----E F14 function key
key_f15 kf15 str F5 KEY_F(15) - ----E F15 function key
key_f16 kf16 str F6 KEY_F(16) - ----E F16 function key
key_f17 kf17 str F7 KEY_F(17) - ----E F17 function key
key_f18 kf18 str F8 KEY_F(18) - ----E F18 function key
key_f19 kf19 str F9 KEY_F(19) - ----E F19 function key
key_f20 kf20 str FA KEY_F(20) - ----E F20 function key
key_f21 kf21 str FB KEY_F(21) - ----E F21 function key
key_f22 kf22 str FC KEY_F(22) - ----E F22 function key
key_f23 kf23 str FD KEY_F(23) - ----E F23 function key
key_f24 kf24 str FE KEY_F(24) - ----E F24 function key
key_f25 kf25 str FF KEY_F(25) - ----E F25 function key
key_f26 kf26 str FG KEY_F(26) - ----E F26 function key
key_f27 kf27 str FH KEY_F(27) - ----E F27 function key
key_f28 kf28 str FI KEY_F(28) - ----E F28 function key
key_f29 kf29 str FJ KEY_F(29) - ----E F29 function key
key_f30 kf30 str FK KEY_F(30) - ----E F30 function key
key_f31 kf31 str FL KEY_F(31) - ----E F31 function key
key_f32 kf32 str FM KEY_F(32) - ----E F32 function key
key_f33 kf33 str FN KEY_F(33) - ----E F33 function key
key_f34 kf34 str FO KEY_F(34) - ----E F34 function key
key_f35 kf35 str FP KEY_F(35) - ----E F35 function key
key_f36 kf36 str FQ KEY_F(36) - ----E F36 function key
key_f37 kf37 str FR KEY_F(37) - ----E F37 function key
key_f38 kf38 str FS KEY_F(38) - ----E F38 function key
key_f39 kf39 str FT KEY_F(39) - ----E F39 function key
key_f40 kf40 str FU KEY_F(40) - ----E F40 function key
key_f41 kf41 str FV KEY_F(41) - ----E F41 function key
key_f42 kf42 str FW KEY_F(42) - ----E F42 function key
key_f43 kf43 str FX KEY_F(43) - ----E F43 function key
key_f44 kf44 str FY KEY_F(44) - ----E F44 function key
key_f45 kf45 str FZ KEY_F(45) - ----E F45 function key
key_f46 kf46 str Fa KEY_F(46) - ----E F46 function key
key_f47 kf47 str Fb KEY_F(47) - ----E F47 function key
key_f48 kf48 str Fc KEY_F(48) - ----E F48 function key
key_f49 kf49 str Fd KEY_F(49) - ----E F49 function key
key_f50 kf50 str Fe KEY_F(50) - ----E F50 function key
key_f51 kf51 str Ff KEY_F(51) - ----E F51 function key
key_f52 kf52 str Fg KEY_F(52) - ----E F52 function key
key_f53 kf53 str Fh KEY_F(53) - ----E F53 function key
key_f54 kf54 str Fi KEY_F(54) - ----E F54 function key
key_f55 kf55 str Fj KEY_F(55) - ----E F55 function key
key_f56 kf56 str Fk KEY_F(56) - ----E F56 function key
key_f57 kf57 str Fl KEY_F(57) - ----E F57 function key
key_f58 kf58 str Fm KEY_F(58) - ----E F58 function key
key_f59 kf59 str Fn KEY_F(59) - ----E F59 function key
key_f60 kf60 str Fo KEY_F(60) - ----E F60 function key
key_f61 kf61 str Fp KEY_F(61) - ----E F61 function key
key_f62 kf62 str Fq KEY_F(62) - ----E F62 function key
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
set_right_margin smgr str MR - - ----- set right soft margin at current column
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
set0_des_seq s0ds str s0 - - ----- Shift to codeset 0 (EUC set 0, ASCII)
set1_des_seq s1ds str s1 - - ----- Shift to codeset 1
set2_des_seq s2ds str s2 - - ----- Shift to codeset 2
set3_des_seq s3ds str s3 - - ----- Shift to codeset 3
key_mouse kmous str Km KEY_MOUSE 0631 ----- Mouse event has occurred
mouse_info minfo str Mi - - ----- Mouse status information
req_mouse_pos reqmp str RQ - - ----- Request mouse position
get_mouse getm str Gm - - ----- Curses should get button events, parameter #1 not documented.
release_mouse relm str Rm - - ----- Curses should release the mouse */
color_names colornm str Yw - - ----- Give name for color #1
initialize_color initc str Ic - - ----- initialize color #1 to (#2,#3,#4)
initialize_pair initp str Ip - - ----- Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
orig_colors oc str oc - - ----- Set all color pairs to the original ones
orig_pair op str op - - ----- Set default pair to its original value
set_a_background setab str AB - - ----- Set background color to #1, using ANSI escape
set_a_foreground setaf str AF - - ----- Set foreground color to #1, using ANSI escape
set_background setb str Sb - - ----- Set background color #1
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
#%.TE
#%.ad
#%
# The magic token below tells the tic compiler-generator code that all the caps
# past it should be ignored (not written out) when dumping terminfo objects. It
# also tells the man page table generator not to pass through following lines
# This means we can have obsolete capabilities and pseudo-capabilities that are
# recognized for termcap or terminfo compilation, but not output.
#
# %%-STOP-HERE-%%
#
# Don't move this casually! In fact, don't move it at all unless you're
# either doing it to add System V or XPG4 extensions, or have decided you
# don't care about SVr4 binary compatibility.
#
#############################################################################
#
# TERMCAP EXTENSION CAPABILITIES
#
# The capabilities below are either obsolete or extensions on certain systems.
# They are not used by SVR4 terminfo. Some are used by captoinfo to translate
# termcap sources; the rest are listed for completeness, and in case somebody
# cares about them enough to hack in code that will translate them into
# terminfo capabilities.
#
# The first part of the list is from Ross Ridge's `mytinfo' package
# (comp.sources.unix, volume 26); the variable names and terminfo names (as
# well as the termcap codes) match his list.
#
# This group of codes is not marked obsolete in 4.4BSD, but have no direct
# terminfo equivalents. The rs capability is specially translated to terminfo
# r2, and vice versa, if an entry does not already have an r2. Similarly,
# i2 is translated to r3 if there is no r3 (because SV terminfo maps is to i2).
# The ug capability is thrown away, but assumed to be whatever sg is if the
# latter is nonzero and we're dumping in termcap format.
#
termcap_init2 OTi2 str i2 - - YB--- secondary initialization string
termcap_reset OTrs str rs - - YB-G- terminal reset string
magic_cookie_glitch_ul OTug num ug - - YBCGE number of blanks left by ul
#
# Obsolete termcap capabilities. Some are used for termcap translation. The
# code uses the 'OT' prefix we put on obsolete capabilities to suppress
# printing them in terminfo source dumps of compiled entries.
#
backspaces_with_bs OTbs bool bs - - YBCGE uses ^H to move left
crt_no_scrolling OTns bool ns - - YBCG- crt cannot scroll
no_correctly_working_cr OTnc bool nc - - YBCG- no way to go to start of line
carriage_return_delay OTdC num dC - - YB-G- pad needed for CR
new_line_delay OTdN num dN - - YB-G- pad needed for LF
linefeed_if_not_lf OTnl str nl - - YBCGE use to move down
backspace_if_not_bs OTbc str bc - - YBCGE move left, if not ^H
#
# GNU termcap library extensions. The GNU termcap file distributed with
# Emacs no longer uses these, but MT showed up in pre-9.0 versions of the
# BSD termcap file. The name clash with terminfo MT is resolved by type
# info; MT is converted to km.
#
gnu_has_meta_key OTMT bool MT - - ----E has meta key
# gnu_tab_width OTtw num tw - - ----E tab width in spaces
#
# GNU termcap *does* include the following extended capability, Only the
# now-obsolete Ann Arbor terminals used it.
#
# gnu_change_scroll_region OTcS str cS - - ---GE alternate set scrolling region
#
# The following comments describe capnames so ancient that I believe no
# software uses them any longer. Some of these have to go because they
# clash with terminfo names in ways that cannot be resolved by type
# information.
#
# These mytinfo codes are not used in the 4.4BSD curses code. They are
# marked obsolete in the 4.4BSD manual pages.
#
# There is one conflict with terminfo; ma is in both. This conflict is
# resolved by type information.
#
# The `ko' capability is translated by special code. It should contain a
# comma-separated list of capabilities for which there are corresponding keys.
# The `kn' code is accepted but ignored.
#
# The `ma' capability was a 4.0BSD feature used by vi version 2.
# It consists of pairs of characters corresponding to kl, kr, ku, kd, and kh.
# Besides being obsolete, that interpretation conflicts with max_attributes.
#
# Here is a description of memory_lock_above and memory_unlock:
# "You can 'freeze' data on the screen by turning on Memory Lock in a line of
# text. All lines above the cursor's current line become locked in place on
# the screen. Then enter data normally. When the screen fills up, any
# further data entered forces the first line of unfrozen line text to scroll
# under the frozen data. Lines scrolled off the screen are inserted into
# memory immediately preceding the first frozen line." (from the HP 700/96
# User's manual). VT100/ANSI memory lock set is \E[>2h, reset is \E[>2l.
#
# Applications that use terminfo are supposed to behave as though xr is
# always true.
#
linefeed_is_newline OTNL bool NL - - YB--- move down with \n
# even_parity OTEP bool EP - - -B--- terminal requires even parity
# odd_parity OTOP bool OP - - -B--- terminal requires odd parity
# half_duplex OTHD bool HD - - -B--- terminal is half-duplex
# lower_case_only OTLC bool LC - - -B--- terminal has only lower case
# upper_case_only OTUC bool UC - - -B--- terminal has only upper case
backspace_delay OTdB num dB - - YB-G- padding required for ^H
# form_feed_delay OTdF num dF - - -B-G- padding required for ^L
horizontal_tab_delay OTdT num dT - - YB-G- padding required for ^I
# vertical_tab_delay OTdV num dV - - -B--- padding required for ^V
number_of_function_keys OTkn num kn - - -B-G- count of function keys
other_non_function_keys OTko str ko - - -B-G- list of self-mapped keycaps
arrow_key_map OTma str ma - - YBC-- map motion-keys for vi version 2
# memory_lock_above OTml str ml - - -B--- lock visible screen memory above the current line
# memory_unlock OTmu str mu - - -B--- unlock visible screen memory above the current line
has_hardware_tabs OTpt bool pt - - YB--- has 8-char tabs invoked with ^I
return_does_clr_eol OTxr bool xr - - YB--- return clears the line
# tek_4025_insert_line OTxx bool xx - - -BC-- Tektronix 4025 insert-line glitch
#
# mytinfo described this as a termcap capability, but it is not listed in the
# 4.4BSD man pages, and not found in the 4.4BSD termcap file. The ncurses
# package, like System V, behaves as though it is always true.
#
# rind_only_at_top OTxq bool xq - - ----- reverse index only works from top line
#
# University of Waterloo termcap extensions (as described in mytinfo).
# The `xl' termcap file clashes with a terminfo name; this ambiguity cannot
# be resolved by a type check. The descriptions are guesses from what was
# in the mytinfo tables.
#
# key_interrupt_char OTki str ki - - ----- string set by interrupt key (?)
# key_kill_char OTkk str kk - - ----- string set by kill key (?)
# key_suspend_char OTkz str kz - - ----- string set by suspend key (?)
# initialization_messy OTxc bool xc - - ----- initialization leaves garbage on the screen (?)
# ind_at_bottom_does_cr OTxl bool xl - - ----- index does a carriage return
#
# Nonstandard capabilities unique to Ross Ridge's `mytinfo' package.
# SR clashes with a terminfo name; this ambiguity cannot be resolved by a type
# check.
#
# scroll_left OTsl1 str Sl - - ----- scroll screen leftward
# scroll_right OTsr1 str Sr - - ----- scroll screen rightward
# parm_scroll_left OTsl str SL - - ----- scroll screen leftward #1 characters
# parm_scroll_right OTsr str SR - - ----- scroll screen rightward #1 characters
#
# The mytinfo capabilities end here.
#
# XENIX extensions:
#
# Xenix defined its own set of forms-drawing capabilities:
#
# cap IBM ASCII description ACS ASCII
# --- ----------- -------------------- ------------- ------
# G1 191 \277 M-? single upper right ACS_URCORNER
# G2 218 \332 M-Z single upper left ACS_ULCORNER
# G3 192 \300 M-@ single lower left ACS_LLCORNER
# G4 217 \331 M-Y single lower right ACS_LRCORNER
# G5 187 \273 M-; double upper right
# G6 201 \311 M-I double upper left
# G7 200 \310 M-H double lower left
# G8 188 \274 M-< double lower right
# GC 197 \305 M-E single intersection ACS_PLUS _ _
# GD 194 \302 M-B single down-tick ACS_TTEE |
# GH 196 \304 M-D single horizontal line ACS_HLINE
# GL 180 \264 M-4 single left tick ACS_RTEE -|
# GR 195 \303 M-C single right tick ACS_LTEE |-
# GU 193 \301 M-A single up tick ACS_BTEE _|_
# GV 179 \263 M-3 single vertical line ACS_VLINE
# Gc 206 \316 M-N double intersection
# Gd 203 \313 M-K double down tick
# Gh 205 \315 M-M double horizontal line
# Gl 204 \204 M-L double left tick
# Gr 185 \271 M-9 double right tick
# Gu 202 \312 M-J double up tick
# Gv 186 \272 M-: double vertical line
#
# The compiler will translate the single-line caps and discard the others
# (via IGNORE aliases further down). We don't want to do normal pad
# translation on these, they're often single-character printable ASCII
# strings that happen to be numerics. There's awk code in parametrized.sh
# that detects the acs_ prefix and uses it to suppress pad translation.
# These terminfo names are invented.
#
acs_ulcorner OTG2 str G2 - - ----- single upper left
acs_llcorner OTG3 str G3 - - ----- single lower left
acs_urcorner OTG1 str G1 - - ----- single upper right
acs_lrcorner OTG4 str G4 - - ----- single lower right
acs_ltee OTGR str GR - - ----- tee pointing right
acs_rtee OTGL str GL - - ----- tee pointing left
acs_btee OTGU str GU - - ----- tee pointing up
acs_ttee OTGD str GD - - ----- tee pointing down
acs_hline OTGH str GH - - ----- single horizontal line
acs_vline OTGV str GV - - ----- single vertical line
acs_plus OTGC str GC - - ----- single intersection
#
#############################################################################
#
# TERMINFO EXTENSION CAPABILITIES
#
# (see Caps-ncurses for the complete set of comments)
#
memory_lock meml str ml - - ----K lock memory above cursor
memory_unlock memu str mu - - ----K unlock memory
box_chars_1 box1 str bx - - ----K box characters primary set
#
#############################################################################

View File

@@ -1,43 +0,0 @@
#!/bin/sh
##############################################################################
# Copyright 2019,2020 Thomas E. Dickey #
# Copyright 1998,2006 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: MKhashsize.sh,v 1.9 2020/02/02 23:34:34 tom Exp $
#
# MKhashsize.sh --- generate size include for hash functions
#
echo "/*"
echo " * hashsize.h -- hash and token table constants"
echo " */"
test $# = 0 && set Caps
TABSIZE=`cat "$@" | grep -v '^[ #]' | grep -v "^$" | grep -v "^capalias"| grep -v "^infoalias" | grep -v "^userdef" | grep -v "^used_by" | wc -l`
echo ""
echo "#define CAPTABSIZE ${TABSIZE}"
echo "#define HASHTABSIZE (${TABSIZE} * 2)"

View File

@@ -1,196 +0,0 @@
#! /bin/sh
# $Id: MKkey_defs.sh,v 1.21 2020/08/17 10:45:33 tom Exp $
##############################################################################
# Copyright 2019,2020 Thomas E. Dickey #
# Copyright 2001-2013,2017 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# MKkey_defs.sh -- generate function-key definitions for curses.h
#
# Author: Thomas E. Dickey 2001
#
# Extract function-key definitions from the Caps file
#
: ${AWK-awk}
test $# = 0 && set Caps
data=data$$
pass1=pass1_$$
pass2=pass2_$$
pass3=pass3_$$
pass4=pass4_$$
trap 'rm -f $data pass[1234]_$$' EXIT INT QUIT TERM HUP
# change repeated tabs (used for readability) to single tabs (needed to make
# awk see the right field alignment of the corresponding columns):
if sort -k 6 "$@" >$data 2>/dev/null
then
# POSIX
sed -e 's/[ ][ ]*/ /g' "$@" |sort -n -k 6 >$data
elif sort -n +5 "$@" >$data 2>/dev/null
then
# SunOS (and SVr4, marked as obsolete but still recognized)
sed -e 's/[ ][ ]*/ /g' "$@" |sort -n +5 >$data
else
echo "Your sort utility is broken. Please install one that works." >&2
exit 1
fi
# add keys that we generate automatically:
cat >>$data <<EOF
key_resize kr1 str R1 KEY_RESIZE + NCURSES_EXT_FUNCS Terminal resize event
EOF
THIS=./`basename $0`
cat <<EOF
/*
* These definitions were generated by $THIS $*
*/
EOF
# KEY_RESET
maxkey=345
for pass in 1 2 3 4
do
output=pass${pass}_$$
${AWK-awk} >$output <$data '
function print_cols(text,cols) {
printf "%s", text
len = length(text);
while (len < cols) {
printf " "
len += 8;
}
}
function decode(keycode) {
result = 0;
if (substr(keycode, 1, 2) == "0x") {
digits="0123456789abcdef";
} else if (substr(keycode, 1, 1) == "0") {
digits="01234567";
} else {
digits="0123456789";
}
while (length(keycode) != 0) {
digit=substr(keycode, 1, 1);
keycode=substr(keycode, 2);
result = result * length(digits) + index(digits, digit) - 1;
}
return result;
}
BEGIN {
maxkey='$maxkey';
pass='$pass';
key_max=1;
bits=1;
while (key_max < maxkey) {
bits = bits + 1;
key_max = (key_max * 2) + 1;
}
octal_fmt = sprintf ("%%0%do", (bits + 2) / 3 + 1);
}
/^$/ {next;}
/^#/ {next;}
/^capalias/ {next;}
/^infoalias/ {next;}
/^used_by/ {next;}
/^userdef/ {next;}
$5 != "-" && $6 != "-" {
if ($6 == "+") {
if (pass == 1 || pass == 2)
next;
thiskey=maxkey + 1;
} else {
if (pass == 3)
next;
thiskey=decode($6);
}
if (thiskey > maxkey)
maxkey = thiskey;
if (pass == 2 || pass == 3) {
showkey=sprintf(octal_fmt, thiskey);
ifdef = 0;
if (index($7,"NCURSES_") == 1) {
ifdef = 1;
printf "\n";
printf "#ifdef %s\n", $7;
}
if ($5 == "KEY_F(0)" ) {
printf "#define "
print_cols("KEY_F0", 16);
print_cols(showkey, 16);
print "/* Function keys. Space for 64 */";
printf "#define "
print_cols("KEY_F(n)", 16);
print_cols("(KEY_F0+(n))", 16);
print "/* Value of function key n */"
} else {
printf "#define "
print_cols($5, 16);
print_cols(showkey, 16);
printf "/*"
for (i = 8; i <= NF; i++)
printf " %s", $i
print " */"
}
if (ifdef != 0) {
printf "#endif\n";
}
}
}
END {
if (pass == 1) {
print maxkey;
} else if (pass == 4) {
print "";
printf "#define ";
print_cols("KEY_MAX", 16);
result = sprintf (octal_fmt, key_max);
print_cols(result, 16);
printf "/* Maximum key value is ";
printf octal_fmt, maxkey;
print " */";
}
}
'
if test $pass = 1 ; then
maxkey=`cat $pass1`
fi
done
cat $pass2
cat $pass3
cat $pass4

View File

@@ -1,81 +0,0 @@
#! /bin/sh
# $Id: MKncurses_def.sh,v 1.4 2020/02/02 23:34:34 tom Exp $
##############################################################################
# Copyright 2020 Thomas E. Dickey #
# Copyright 2000,2003 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# MKncurses_def.sh -- generate fallback definitions for ncurses_cfg.h
#
# Author: Thomas E. Dickey 2000
#
# Given the choice between constructs such as
#
# #if defined(foo) && foo
# #if foo
#
# we chose the latter. It is guaranteed by the language standard, and there
# appear to be no broken compilers that do not honor that detail. But some
# people want to use gcc's -Wundef option (corresponding to one of the less
# useful features in Watcom's compiler) to check for misspellings. So we
# generate a set of fallback definitions to quiet the warnings without making
# the code ugly.
#
DEFS="${1-ncurses_defs}"
cat <<EOF
/*
* This file is generated by $0
*/
#ifndef NC_DEFINE_H
#define NC_DEFINE_H 1
EOF
${AWK-awk} <$DEFS '
!/^[@#]/ {
if ( NF == 1 )
{
print "#ifndef", $1
print "#define", $1, "0"
print "#endif"
print ""
} else if ( NF != 0 ) {
print "#ifndef", $1
printf "#define"
for (n = 1; n <= NF; n++) {
printf " %s", $n
}
print ""
print "#endif"
print ""
}
}
END {
print "#endif /* NC_DEFINE_H */"
}
'

View File

@@ -1,75 +0,0 @@
#!/bin/sh
##############################################################################
# Copyright 2019,2020 Thomas E. Dickey #
# Copyright 1998-2014,2017 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: MKparametrized.sh,v 1.10 2020/02/02 23:34:34 tom Exp $
#
# MKparametrized.sh -- generate indirection vectors for various sort methods
#
# The output of this script is C source for an array specifying whether
# termcap strings should undergo parameter and padding translation.
#
[ $# = 0 ] && set - Caps
cat <<EOF
#ifndef PARAMETRIZED_H
#define PARAMETRIZED_H 1
/*
* parametrized.h --- is a termcap capability parametrized?
*
* Note: this file is generated using MKparametrized.sh, do not edit by hand.
* A value of -1 in the table means suppress both pad and % translations.
* A value of 0 in the table means do pad but not % translations.
* A value of 1 in the table means do both pad and % translations.
*/
static short const parametrized[] = {
EOF
# We detect whether % translations should be done by looking for #[0-9] in the
# description field. We presently suppress padding translation only for the
# XENIX acs_* capabilities. Maybe someday we'll dedicate a flag field for
# this, that would be cleaner....
cat "$@" | ${AWK-awk} '
/^#/ { next ; }
/^capalias/ { next ; }
/^infoalias/ { next ; }
/^used_by/ { next ; }
/^userdef/ { next ; }
$3 != "str" {next;}
$1 ~ /^acs_/ {print "-1,\t/* ", $2, " */"; count++; next;}
$1 ~ /^label_format/ {print "-1,\t/* ", $2, " */"; count++; next;}
$0 ~ /#[0-9]/ {print "1,\t/* ", $2, " */"; count++; next;}
{print "0,\t/* ", $2, " */"; count++;}
END {printf("} /* %d entries */;\n\n", count);}
'
echo "#endif /* PARAMETRIZED_H */"

View File

@@ -1,416 +0,0 @@
# vile:awkmode
function declare_termtype(number,suffix) {
printf "typedef struct termtype%s { /* in-core form of terminfo data */\n", suffix;
print " char *term_names; /* str_table offset of term names */"
print " char *str_table; /* pointer to string table */"
print " NCURSES_SBOOL *Booleans; /* array of boolean values */"
printf " %-5s *Numbers; /* array of integer values */\n", number;
print " char **Strings; /* array of string offsets */"
print ""
print "#if NCURSES_XNAMES"
print " char *ext_str_table; /* pointer to extended string table */"
print " char **ext_Names; /* corresponding names */"
print ""
print " unsigned short num_Booleans;/* count total Booleans */";
print " unsigned short num_Numbers; /* count total Numbers */";
print " unsigned short num_Strings; /* count total Strings */";
print ""
print " unsigned short ext_Booleans;/* count extensions to Booleans */";
print " unsigned short ext_Numbers; /* count extensions to Numbers */";
print " unsigned short ext_Strings; /* count extensions to Strings */";
print "#endif /* NCURSES_XNAMES */"
print ""
printf "} TERMTYPE%s;\n", suffix;
}
BEGIN {
lcurl = "{";
rcurl = "}";
print "/****************************************************************************"
print " * Copyright 2018-2020,2021 Thomas E. Dickey *"
print " * Copyright 1998-2013,2017 Free Software Foundation, Inc. *"
print " * *"
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
print " * copy of this software and associated documentation files (the *"
print " * \"Software\"), to deal in the Software without restriction, including *"
print " * without limitation the rights to use, copy, modify, merge, publish, *"
print " * distribute, distribute with modifications, sublicense, and/or sell *"
print " * copies of the Software, and to permit persons to whom the Software is *"
print " * furnished to do so, subject to the following conditions: *"
print " * *"
print " * The above copyright notice and this permission notice shall be included *"
print " * in all copies or substantial portions of the Software. *"
print " * *"
print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *"
print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *"
print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *"
print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *"
print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *"
print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *"
print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *"
print " * *"
print " * Except as contained in this notice, the name(s) of the above copyright *"
print " * holders shall not be used in advertising or otherwise to promote the *"
print " * sale, use or other dealings in this Software without prior written *"
print " * authorization. *"
print " ****************************************************************************/"
print ""
print "/****************************************************************************/"
print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */"
print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */"
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
print "/* $Id: MKterm.h.awk.in,v 1.82 2021/09/24 17:02:46 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print "*/"
print ""
print "#ifndef NCURSES_TERM_H_incl"
print "#define NCURSES_TERM_H_incl 1"
print ""
print "#undef NCURSES_VERSION"
print "#define NCURSES_VERSION \"6.3\""
print ""
print "#include <ncurses_dll.h>"
print ""
print "#ifdef __cplusplus"
printf "extern \"C\" %s\n", lcurl;
print "#endif"
print ""
print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
print " * definition (based on the system for which this was configured)."
print " */"
print ""
print "#ifndef __NCURSES_H"
print ""
print "typedef struct screen SCREEN;"
print ""
print "#if 1"
print "#undef NCURSES_SP_FUNCS"
print "#define NCURSES_SP_FUNCS 20211021"
print "#undef NCURSES_SP_NAME"
print "#define NCURSES_SP_NAME(name) name##_sp"
print ""
print "/* Define the sp-funcs helper function */"
print "#undef NCURSES_SP_OUTC"
print "#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)"
print "typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);"
print "#endif"
print ""
print "#endif /* __NCURSES_H */"
print ""
print "#undef NCURSES_CONST"
print "#define NCURSES_CONST const"
print ""
print "#undef NCURSES_SBOOL"
print "#define NCURSES_SBOOL char"
print ""
print "#undef NCURSES_USE_DATABASE"
print "#define NCURSES_USE_DATABASE 1"
print ""
print "#undef NCURSES_USE_TERMCAP"
print "#define NCURSES_USE_TERMCAP 0"
print ""
print "#undef NCURSES_XNAMES"
print "#define NCURSES_XNAMES 1"
print ""
print "/* We will use these symbols to hide differences between"
print " * termios/termio/sgttyb interfaces."
print " */"
print "#undef TTY"
print "#undef SET_TTY"
print "#undef GET_TTY"
print ""
print "/* Assume POSIX termio if we have the header and function */"
print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
print "#if 1 && 1"
print ""
print "#undef TERMIOS"
print "#define TERMIOS 1"
print ""
print "#include <termios.h>"
print "#define TTY struct termios"
print ""
print "#else /* !HAVE_TERMIOS_H */"
print ""
print "/* #if HAVE_TERMIO_H */"
print "#if 1"
print ""
print "#undef TERMIOS"
print "#define TERMIOS 1"
print ""
print "#include <termio.h>"
print "#define TTY struct termio"
print ""
print "#else /* !HAVE_TERMIO_H */"
print ""
print "#if (defined(_WIN32) || defined(_WIN64))"
print "#if 0"
print "#include <win32_curses.h>"
print "#define TTY struct winconmode"
print "#else"
print "#include <ncurses_mingw.h>"
print "#define TTY struct termios"
print "#endif"
print "#else"
print "#undef TERMIOS"
print "#include <sgtty.h>"
print "#include <sys/ioctl.h>"
print "#define TTY struct sgttyb"
print "#endif /* MINGW32 */"
print "#endif /* HAVE_TERMIO_H */"
print ""
print "#endif /* HAVE_TERMIOS_H */"
print ""
print "#ifdef TERMIOS"
print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
print "#elif 0 && (defined(_WIN32) || defined(_WIN64))"
print "#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)"
print "#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)"
print "#else"
print "#define GET_TTY(fd, buf) gtty(fd, buf)"
print "#define SET_TTY(fd, buf) stty(fd, buf)"
print "#endif"
print ""
print "#ifndef GCC_NORETURN"
print "#define GCC_NORETURN /* nothing */"
print "#endif"
print ""
print "#define NAMESIZE 256"
print ""
print "/* The cast works because TERMTYPE is the first data in TERMINAL */"
print "#define CUR ((TERMTYPE *)(cur_term))->"
print ""
}
$2 == "%%-STOP-HERE-%%" {
print ""
printf "#define BOOLWRITE %d\n", BoolCount
printf "#define NUMWRITE %d\n", NumberCount
printf "#define STRWRITE %d\n", StringCount
print ""
print "/* older synonyms for some capabilities */"
print "#define beehive_glitch no_esc_ctlc"
print "#define teleray_glitch dest_tabs_magic_smso"
print ""
print "/* HPUX-11 uses this name rather than the standard one */"
print "#ifndef micro_char_size"
print "#define micro_char_size micro_col_size"
print "#endif"
print ""
print "#ifdef __INTERNAL_CAPS_VISIBLE"
}
/^#/ { next; }
/^used_by/ { next ; }
/^userdef/ { next ; }
$1 == "acs_chars" {
acsindex = StringCount;
}
$3 == "bool" {
printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
}
$3 == "num" {
printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
}
$3 == "str" {
printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
}
END {
print "#endif /* __INTERNAL_CAPS_VISIBLE */"
print ""
print ""
print "/*"
print " * Predefined terminfo array sizes"
print " */"
printf "#define BOOLCOUNT %d\n", BoolCount
printf "#define NUMCOUNT %d\n", NumberCount
printf "#define STRCOUNT %d\n", StringCount
print ""
print "/* used by code for comparing entries */"
print "#define acs_chars_index ", acsindex
print ""
declare_termtype("short","");
print ""
print "/*"
print " * The only reason these structures are visible is for read-only use."
print " * Programs which modify the data are not, never were, portable across"
print " * curses implementations."
print " *"
print " * The first field in TERMINAL is used in macros."
print " * The remaining fields are private."
print " */"
print "#ifdef NCURSES_INTERNALS"
print ""
print "#undef TERMINAL"
print "#define TERMINAL struct term"
print "TERMINAL;"
print ""
if (0) {
declare_termtype("int","2");
} else {
print "#undef TERMTYPE2"
print "#define TERMTYPE2 TERMTYPE"
}
print "#else"
print ""
print "typedef struct term { /* describe an actual terminal */"
print " TERMTYPE type; /* terminal type description */"
print "} TERMINAL;"
print ""
print "#endif /* NCURSES_INTERNALS */"
print ""
print ""
print "#if 0 && !1"
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
print "#elif 1"
print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
print "#else"
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
print "#endif"
print ""
print "#if 0 || 1"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
print ""
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
print ""
print "#else"
print ""
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
print ""
print "#endif"
print ""
print "/*"
print " * These entrypoints are used only by the ncurses utilities such as tic."
print " */"
print "#ifdef NCURSES_INTERNALS"
print ""
print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
print "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);"
print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);"
print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);"
print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
print "extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);"
print ""
print "#endif /* NCURSES_INTERNALS */"
print ""
print ""
print "/*"
print " * These entrypoints are used by tack 1.07."
print " */"
print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
print ""
print "/*"
print " * Normal entry points"
print " */"
print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
print ""
print "/* miscellaneous entry points */"
print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);"
print ""
print "/* terminfo entry points, also declared in curses.h */"
print "#if !defined(__NCURSES_H)"
print "extern NCURSES_EXPORT(char *) tigetstr (const char *);"
print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
print "extern NCURSES_EXPORT(int) putp (const char *);"
print "extern NCURSES_EXPORT(int) tigetflag (const char *);"
print "extern NCURSES_EXPORT(int) tigetnum (const char *);"
print ""
print "#if 1 /* NCURSES_TPARM_VARARGS */"
print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */"
print "#else"
print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */"
print "#endif"
print ""
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
print ""
print "#endif /* __NCURSES_H */"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "#if !defined(NCURSES_TERMCAP_H_incl)"
print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);"
print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
print "extern NCURSES_EXPORT(int) tgetflag (const char *);"
print "extern NCURSES_EXPORT(int) tgetnum (const char *);"
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
print "#endif /* NCURSES_TERMCAP_H_incl */"
print ""
print "/*"
print " * Include curses.h before term.h to enable these extensions."
print " */"
print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
print ""
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);"
print ""
print "#if 1 /* NCURSES_TPARM_VARARGS */"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */"
print "#else"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */"
print "#endif"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
print ""
print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
print ""
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
print "#endif /* NCURSES_SP_FUNCS */"
print ""
print "/*"
print " * Debugging features."
print " */"
print "extern GCC_NORETURN NCURSES_EXPORT(void) exit_terminfo(int);"
print ""
print "#ifdef __cplusplus"
printf "%s\n", rcurl;
print "#endif"
print ""
print "#endif /* NCURSES_TERM_H_incl */"
}

View File

@@ -1,416 +0,0 @@
# vile:awkmode
function declare_termtype(number,suffix) {
printf "typedef struct termtype%s { /* in-core form of terminfo data */\n", suffix;
print " char *term_names; /* str_table offset of term names */"
print " char *str_table; /* pointer to string table */"
print " NCURSES_SBOOL *Booleans; /* array of boolean values */"
printf " %-5s *Numbers; /* array of integer values */\n", number;
print " char **Strings; /* array of string offsets */"
print ""
print "#if NCURSES_XNAMES"
print " char *ext_str_table; /* pointer to extended string table */"
print " char **ext_Names; /* corresponding names */"
print ""
print " unsigned short num_Booleans;/* count total Booleans */";
print " unsigned short num_Numbers; /* count total Numbers */";
print " unsigned short num_Strings; /* count total Strings */";
print ""
print " unsigned short ext_Booleans;/* count extensions to Booleans */";
print " unsigned short ext_Numbers; /* count extensions to Numbers */";
print " unsigned short ext_Strings; /* count extensions to Strings */";
print "#endif /* NCURSES_XNAMES */"
print ""
printf "} TERMTYPE%s;\n", suffix;
}
BEGIN {
lcurl = "{";
rcurl = "}";
print "/****************************************************************************"
print " * Copyright 2018-2020,2021 Thomas E. Dickey *"
print " * Copyright 1998-2013,2017 Free Software Foundation, Inc. *"
print " * *"
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
print " * copy of this software and associated documentation files (the *"
print " * \"Software\"), to deal in the Software without restriction, including *"
print " * without limitation the rights to use, copy, modify, merge, publish, *"
print " * distribute, distribute with modifications, sublicense, and/or sell *"
print " * copies of the Software, and to permit persons to whom the Software is *"
print " * furnished to do so, subject to the following conditions: *"
print " * *"
print " * The above copyright notice and this permission notice shall be included *"
print " * in all copies or substantial portions of the Software. *"
print " * *"
print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *"
print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *"
print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *"
print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *"
print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *"
print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *"
print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *"
print " * *"
print " * Except as contained in this notice, the name(s) of the above copyright *"
print " * holders shall not be used in advertising or otherwise to promote the *"
print " * sale, use or other dealings in this Software without prior written *"
print " * authorization. *"
print " ****************************************************************************/"
print ""
print "/****************************************************************************/"
print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */"
print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */"
print "/* and: Thomas E. Dickey 1995-on */"
print "/****************************************************************************/"
print ""
print "/* $Id: MKterm.h.awk.in,v 1.82 2021/09/24 17:02:46 tom Exp $ */"
print ""
print "/*"
print "** term.h -- Definition of struct term"
print "*/"
print ""
print "#ifndef NCURSES_TERM_H_incl"
print "#define NCURSES_TERM_H_incl 1"
print ""
print "#undef NCURSES_VERSION"
print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\""
print ""
print "#include <ncurses_dll.h>"
print ""
print "#ifdef __cplusplus"
printf "extern \"C\" %s\n", lcurl;
print "#endif"
print ""
print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
print " * definition (based on the system for which this was configured)."
print " */"
print ""
print "#ifndef __NCURSES_H"
print ""
print "typedef struct screen SCREEN;"
print ""
print "#if @NCURSES_SP_FUNCS@"
print "#undef NCURSES_SP_FUNCS"
print "#define NCURSES_SP_FUNCS @NCURSES_PATCH@"
print "#undef NCURSES_SP_NAME"
print "#define NCURSES_SP_NAME(name) name##_sp"
print ""
print "/* Define the sp-funcs helper function */"
print "#undef NCURSES_SP_OUTC"
print "#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)"
print "typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);"
print "#endif"
print ""
print "#endif /* __NCURSES_H */"
print ""
print "#undef NCURSES_CONST"
print "#define NCURSES_CONST @NCURSES_CONST@"
print ""
print "#undef NCURSES_SBOOL"
print "#define NCURSES_SBOOL @NCURSES_SBOOL@"
print ""
print "#undef NCURSES_USE_DATABASE"
print "#define NCURSES_USE_DATABASE @NCURSES_USE_DATABASE@"
print ""
print "#undef NCURSES_USE_TERMCAP"
print "#define NCURSES_USE_TERMCAP @NCURSES_USE_TERMCAP@"
print ""
print "#undef NCURSES_XNAMES"
print "#define NCURSES_XNAMES @NCURSES_XNAMES@"
print ""
print "/* We will use these symbols to hide differences between"
print " * termios/termio/sgttyb interfaces."
print " */"
print "#undef TTY"
print "#undef SET_TTY"
print "#undef GET_TTY"
print ""
print "/* Assume POSIX termio if we have the header and function */"
print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
print "#if @HAVE_TERMIOS_H@ && @HAVE_TCGETATTR@"
print ""
print "#undef TERMIOS"
print "#define TERMIOS 1"
print ""
print "#include <termios.h>"
print "#define TTY struct termios"
print ""
print "#else /* !HAVE_TERMIOS_H */"
print ""
print "/* #if HAVE_TERMIO_H */"
print "#if @HAVE_TERMIO_H@"
print ""
print "#undef TERMIOS"
print "#define TERMIOS 1"
print ""
print "#include <termio.h>"
print "#define TTY struct termio"
print ""
print "#else /* !HAVE_TERMIO_H */"
print ""
print "#if (defined(_WIN32) || defined(_WIN64))"
print "#if @EXP_WIN32_DRIVER@"
print "#include <win32_curses.h>"
print "#define TTY struct winconmode"
print "#else"
print "#include <ncurses_mingw.h>"
print "#define TTY struct termios"
print "#endif"
print "#else"
print "#undef TERMIOS"
print "#include <sgtty.h>"
print "#include <sys/ioctl.h>"
print "#define TTY struct sgttyb"
print "#endif /* MINGW32 */"
print "#endif /* HAVE_TERMIO_H */"
print ""
print "#endif /* HAVE_TERMIOS_H */"
print ""
print "#ifdef TERMIOS"
print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
print "#elif @EXP_WIN32_DRIVER@ && (defined(_WIN32) || defined(_WIN64))"
print "#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)"
print "#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)"
print "#else"
print "#define GET_TTY(fd, buf) gtty(fd, buf)"
print "#define SET_TTY(fd, buf) stty(fd, buf)"
print "#endif"
print ""
print "#ifndef GCC_NORETURN"
print "#define GCC_NORETURN /* nothing */"
print "#endif"
print ""
print "#define NAMESIZE 256"
print ""
print "/* The cast works because TERMTYPE is the first data in TERMINAL */"
print "#define CUR ((TERMTYPE *)(cur_term))->"
print ""
}
$2 == "%%-STOP-HERE-%%" {
print ""
printf "#define BOOLWRITE %d\n", BoolCount
printf "#define NUMWRITE %d\n", NumberCount
printf "#define STRWRITE %d\n", StringCount
print ""
print "/* older synonyms for some capabilities */"
print "#define beehive_glitch no_esc_ctlc"
print "#define teleray_glitch dest_tabs_magic_smso"
print ""
print "/* HPUX-11 uses this name rather than the standard one */"
print "#ifndef micro_char_size"
print "#define micro_char_size micro_col_size"
print "#endif"
print ""
print "#ifdef __INTERNAL_CAPS_VISIBLE"
}
/^#/ { next; }
/^used_by/ { next ; }
/^userdef/ { next ; }
$1 == "acs_chars" {
acsindex = StringCount;
}
$3 == "bool" {
printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
}
$3 == "num" {
printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
}
$3 == "str" {
printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
}
END {
print "#endif /* __INTERNAL_CAPS_VISIBLE */"
print ""
print ""
print "/*"
print " * Predefined terminfo array sizes"
print " */"
printf "#define BOOLCOUNT %d\n", BoolCount
printf "#define NUMCOUNT %d\n", NumberCount
printf "#define STRCOUNT %d\n", StringCount
print ""
print "/* used by code for comparing entries */"
print "#define acs_chars_index ", acsindex
print ""
declare_termtype("short","");
print ""
print "/*"
print " * The only reason these structures are visible is for read-only use."
print " * Programs which modify the data are not, never were, portable across"
print " * curses implementations."
print " *"
print " * The first field in TERMINAL is used in macros."
print " * The remaining fields are private."
print " */"
print "#ifdef NCURSES_INTERNALS"
print ""
print "#undef TERMINAL"
print "#define TERMINAL struct term"
print "TERMINAL;"
print ""
if (@NCURSES_EXT_COLORS@) {
declare_termtype("int","2");
} else {
print "#undef TERMTYPE2"
print "#define TERMTYPE2 TERMTYPE"
}
print "#else"
print ""
print "typedef struct term { /* describe an actual terminal */"
print " TERMTYPE type; /* terminal type description */"
print "} TERMINAL;"
print ""
print "#endif /* NCURSES_INTERNALS */"
print ""
print ""
print "#if @BROKEN_LINKER@ && !@cf_cv_enable_reentrant@"
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
print "#elif @cf_cv_enable_reentrant@"
print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
print "#else"
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
print "#endif"
print ""
print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
print ""
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
print "#define numnames NCURSES_PUBLIC_VAR(numnames())"
print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())"
print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())"
print "#define strnames NCURSES_PUBLIC_VAR(strnames())"
print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())"
print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())"
print ""
print "#else"
print ""
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
print ""
print "#endif"
print ""
print "/*"
print " * These entrypoints are used only by the ncurses utilities such as tic."
print " */"
print "#ifdef NCURSES_INTERNALS"
print ""
print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
print "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);"
print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);"
print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);"
print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
print "extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);"
print ""
print "#endif /* NCURSES_INTERNALS */"
print ""
print ""
print "/*"
print " * These entrypoints are used by tack 1.07."
print " */"
print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
print ""
print "/*"
print " * Normal entry points"
print " */"
print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
print ""
print "/* miscellaneous entry points */"
print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);"
print ""
print "/* terminfo entry points, also declared in curses.h */"
print "#if !defined(__NCURSES_H)"
print "extern NCURSES_EXPORT(char *) tigetstr (const char *);"
print "extern NCURSES_EXPORT_VAR(char) ttytype[];"
print "extern NCURSES_EXPORT(int) putp (const char *);"
print "extern NCURSES_EXPORT(int) tigetflag (const char *);"
print "extern NCURSES_EXPORT(int) tigetnum (const char *);"
print ""
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */"
print "#else"
print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */"
print "#endif"
print ""
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
print ""
print "#endif /* __NCURSES_H */"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "#if !defined(NCURSES_TERMCAP_H_incl)"
print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);"
print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
print "extern NCURSES_EXPORT(int) tgetflag (const char *);"
print "extern NCURSES_EXPORT(int) tgetnum (const char *);"
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
print "#endif /* NCURSES_TERMCAP_H_incl */"
print ""
print "/*"
print " * Include curses.h before term.h to enable these extensions."
print " */"
print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
print ""
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);"
print ""
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */"
print "#else"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */"
print "#endif"
print ""
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);"
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
print ""
print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
print ""
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
print "#endif /* NCURSES_SP_FUNCS */"
print ""
print "/*"
print " * Debugging features."
print " */"
print "extern GCC_NORETURN NCURSES_EXPORT(void) exit_terminfo(int);"
print ""
print "#ifdef __cplusplus"
printf "%s\n", rcurl;
print "#endif"
print ""
print "#endif /* NCURSES_TERM_H_incl */"
}

View File

@@ -1,218 +0,0 @@
# $Id: Makefile.in,v 1.53 2021/07/03 18:56:51 tom Exp $
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 1998-2013,2015 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey 1996-on
#
# Makefile for ncurses source code.
#
# This makes/installs ncurses include-files
#
# The variable 'srcdir' refers to the source-distribution, and can be set with
# the configure script by "--srcdir=DIR".
# turn off _all_ suffix rules; we'll generate our own
.SUFFIXES:
SHELL = /bin/sh
THIS = Makefile
DESTDIR =
srcdir = .
prefix = /usr
exec_prefix = ${prefix}
includedir = ${prefix}/include
includesubdir =
INCLUDEDIR = $(DESTDIR)$(includedir)$(includesubdir)
INSTALL = /usr/bin/install -c
INSTALL_DATA = ${INSTALL} -m 644
AWK = gawk
LN_S = ln -s -f
CC = gcc
CFLAGS = -O2 --param max-inline-insns-single=1200
CPPFLAGS = -DHAVE_CONFIG_H -I. -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
CTAGS =
ETAGS =
VERSION = 6.3
# The "Caps" file specifies the terminfo database format, as well as the list
# of function keys.
TERMINFO_CAPS = $(srcdir)/Caps
CAPLIST = $(TERMINFO_CAPS) \
$(srcdir)/Caps-ncurses
# These files are generated by the configure script
CONFIG_SRC = \
MKterm.h.awk \
curses.head \
ncurses_dll.h \
termcap.h \
unctrl.h
# These files are generated by this makefile
AUTO_SRC = \
curses.h \
hashsize.h \
ncurses_def.h \
parametrized.h \
config.h \
term.h
################################################################################
.PHONY : all
.PHONY : check
.PHONY : clean
.PHONY : depend
.PHONY : distclean
.PHONY : install
.PHONY : install.libs
.PHONY : libs
.PHONY : mostlyclean
.PHONY : realclean
.PHONY : sources
.PHONY : uninstall
.PHONY : uninstall.libs
all \
libs \
depend \
sources \
install :: $(AUTO_SRC)
curses.h : $(CAPLIST) \
curses.head \
$(srcdir)/curses.tail \
$(srcdir)/MKkey_defs.sh
cat curses.head >$@
AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(CAPLIST) >>$@
$(SHELL) -c 'if test "0" = "1" ; then cat $(srcdir)/curses.events >>$@ ; fi'
$(SHELL) -c 'if test "chtype" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi'
cat $(srcdir)/curses.tail >>$@
term.h: $(CAPLIST) \
MKterm.h.awk
$(AWK) -f MKterm.h.awk $(CAPLIST) > $@
$(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
hashsize.h: $(CAPLIST) \
$(srcdir)/MKhashsize.sh
$(SHELL) $(srcdir)/MKhashsize.sh $(CAPLIST) >$@
ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
parametrized.h: $(CAPLIST) \
$(srcdir)/MKparametrized.sh
AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(CAPLIST) >$@
# This is required by pthread.h on MinGW
config.h:
touch $@
tags:
$(CTAGS) *.[ch]
#TAGS:
# $(ETAGS) *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
clean :: mostlyclean
-rm -f $(AUTO_SRC)
-rm -rf *.dSYM
distclean :: clean
-rm -f Makefile $(CONFIG_SRC) config.h
realclean :: distclean
# Verify that each header-file can be compiled without including another.
check:
@$(SHELL) -c "for header in *.h;\
do \
echo \"** testing \$${header}\" ; \
echo \"#include <\$${header}>\" >headers.c; \
echo \"int main(void) { return 0; }\" >>headers.c; \
$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
done"
-@rm -f headers.*
###############################################################################
# The remainder of this file is automatically generated during configuration
###############################################################################
# generated by mk-hdr.awk
# subset: ticlib+termlib+ext_tinfo+base+ext_funcs
# compat: yes
${INCLUDEDIR} :
mkdir -p $@
install \
install.libs \
install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
curses.h \
unctrl.h \
ncurses_dll.h \
term.h \
termcap.h \
$(srcdir)/tic.h \
$(srcdir)/term_entry.h \
$(srcdir)/nc_tparm.h
@ (cd ${INCLUDEDIR} && rm -f curses.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} curses.h
@ (cd ${INCLUDEDIR} && rm -f ncurses.h && ${LN_S} curses.h ncurses.h)
@ (cd ${INCLUDEDIR} && rm -f unctrl.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} unctrl.h
@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} ncurses_dll.h
@ (cd ${INCLUDEDIR} && rm -f term.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} term.h
@ (cd ${INCLUDEDIR} && rm -f termcap.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} termcap.h
@ (cd ${INCLUDEDIR} && rm -f tic.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/tic.h
@ (cd ${INCLUDEDIR} && rm -f term_entry.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/term_entry.h
@ (cd ${INCLUDEDIR} && rm -f nc_tparm.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/nc_tparm.h
uninstall \
uninstall.libs \
uninstall.includes ::
-@ (cd ${INCLUDEDIR} && rm -f curses.h)
-@ (cd ${INCLUDEDIR} && rm -f ncurses.h)
-@ (cd ${INCLUDEDIR} && rm -f unctrl.h)
-@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h)
-@ (cd ${INCLUDEDIR} && rm -f term.h)
-@ (cd ${INCLUDEDIR} && rm -f termcap.h)
-@ (cd ${INCLUDEDIR} && rm -f tic.h)
-@ (cd ${INCLUDEDIR} && rm -f term_entry.h)
-@ (cd ${INCLUDEDIR} && rm -f nc_tparm.h)

View File

@@ -1,177 +0,0 @@
# $Id: Makefile.in,v 1.53 2021/07/03 18:56:51 tom Exp $
##############################################################################
# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 1998-2013,2015 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey 1996-on
#
# Makefile for ncurses source code.
#
# This makes/installs ncurses include-files
#
# The variable 'srcdir' refers to the source-distribution, and can be set with
# the configure script by "--srcdir=DIR".
# turn off _all_ suffix rules; we'll generate our own
.SUFFIXES:
SHELL = @SHELL@
VPATH = @srcdir@
THIS = Makefile
DESTDIR = @DESTDIR@
srcdir = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@
includedir = @includedir@
includesubdir = @includesubdir@
INCLUDEDIR = $(DESTDIR)$(includedir)$(includesubdir)
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
AWK = @AWK@
LN_S = @LN_S@
CC = @CC@
CFLAGS = @CFLAGS@ @EXTRA_CFLAGS@
CPPFLAGS = -DHAVE_CONFIG_H -I. @CPPFLAGS@
CTAGS = @CTAGS@
ETAGS = @ETAGS@
VERSION = @cf_cv_rel_version@
# The "Caps" file specifies the terminfo database format, as well as the list
# of function keys.
TERMINFO_CAPS = $(srcdir)/@TERMINFO_CAPS@
CAPLIST = $(TERMINFO_CAPS) \
$(srcdir)/Caps-ncurses
# These files are generated by the configure script
CONFIG_SRC = \
MKterm.h.awk \
curses.head \
ncurses_dll.h \
termcap.h \
unctrl.h
# These files are generated by this makefile
AUTO_SRC = \
curses.h \
hashsize.h \
ncurses_def.h \
parametrized.h \
config.h \
term.h
################################################################################
@MAKE_PHONY@.PHONY : all
@MAKE_PHONY@.PHONY : check
@MAKE_PHONY@.PHONY : clean
@MAKE_PHONY@.PHONY : depend
@MAKE_PHONY@.PHONY : distclean
@MAKE_PHONY@.PHONY : install
@MAKE_PHONY@.PHONY : install.libs
@MAKE_PHONY@.PHONY : libs
@MAKE_PHONY@.PHONY : mostlyclean
@MAKE_PHONY@.PHONY : realclean
@MAKE_PHONY@.PHONY : sources
@MAKE_PHONY@.PHONY : uninstall
@MAKE_PHONY@.PHONY : uninstall.libs
all \
libs \
depend \
sources \
install :: $(AUTO_SRC)
curses.h : $(CAPLIST) \
curses.head \
$(srcdir)/curses.tail \
$(srcdir)/MKkey_defs.sh
cat curses.head >$@
AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(CAPLIST) >>$@
$(SHELL) -c 'if test "@NCURSES_WGETCH_EVENTS@" = "1" ; then cat $(srcdir)/curses.events >>$@ ; fi'
$(SHELL) -c 'if test "@NCURSES_CH_T@" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi'
cat $(srcdir)/curses.tail >>$@
term.h: $(CAPLIST) \
MKterm.h.awk
$(AWK) -f MKterm.h.awk $(CAPLIST) > $@
$(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
hashsize.h: $(CAPLIST) \
$(srcdir)/MKhashsize.sh
$(SHELL) $(srcdir)/MKhashsize.sh $(CAPLIST) >$@
ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
parametrized.h: $(CAPLIST) \
$(srcdir)/MKparametrized.sh
AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(CAPLIST) >$@
# This is required by pthread.h on MinGW
config.h:
touch $@
tags:
$(CTAGS) *.[ch]
@MAKE_UPPER_TAGS@TAGS:
@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch]
mostlyclean ::
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
clean :: mostlyclean
-rm -f $(AUTO_SRC)
-rm -rf *.dSYM
distclean :: clean
-rm -f Makefile $(CONFIG_SRC) config.h
realclean :: distclean
# Verify that each header-file can be compiled without including another.
check:
@$(SHELL) -c "for header in *.h;\
do \
echo \"** testing \$${header}\" ; \
echo \"#include <\$${header}>\" >headers.c; \
echo \"int main(void) { return 0; }\" >>headers.c; \
$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
done"
-@rm -f headers.*
###############################################################################
# The remainder of this file is automatically generated during configuration
###############################################################################

View File

@@ -1,87 +0,0 @@
/****************************************************************************
* Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2000,2008 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: capdefaults.c,v 1.16 2021/09/04 10:52:55 tom Exp $ */
/*
* Compute obsolete capabilities. The reason this is an include file is
* that the two places where it is needed require the macros to generate
* offsets to different structures. See the file Caps for explanations of
* these conversions.
*
* Note: This code is the functional inverse of the first part of
* postprocess_termcap().
*/
{
char *strp;
short capval;
#define EXTRACT_DELAY(str) \
(short) (strp = strchr(str, '*'), strp ? atoi(strp+1) : 0)
/* current (4.4BSD) capabilities marked obsolete */
if (VALID_STRING(carriage_return)
&& (capval = EXTRACT_DELAY(carriage_return)))
carriage_return_delay = capval;
if (VALID_STRING(newline) && (capval = EXTRACT_DELAY(newline)))
new_line_delay = capval;
/* current (4.4BSD) capabilities not obsolete */
if (!VALID_STRING(termcap_init2) && VALID_STRING(init_3string)) {
termcap_init2 = init_3string;
init_3string = ABSENT_STRING;
}
if (!VALID_STRING(termcap_reset)
&& VALID_STRING(reset_2string)
&& !VALID_STRING(reset_1string)
&& !VALID_STRING(reset_3string)) {
termcap_reset = reset_2string;
reset_2string = ABSENT_STRING;
}
if (magic_cookie_glitch_ul == ABSENT_NUMERIC
&& magic_cookie_glitch != ABSENT_NUMERIC
&& VALID_STRING(enter_underline_mode))
magic_cookie_glitch_ul = magic_cookie_glitch;
/* totally obsolete capabilities */
linefeed_is_newline = (char) (VALID_STRING(newline)
&& (strcmp("\n", newline) == 0));
if (VALID_STRING(cursor_left)
&& (capval = EXTRACT_DELAY(cursor_left)))
backspace_delay = capval;
if (VALID_STRING(tab) && (capval = EXTRACT_DELAY(tab)))
horizontal_tab_delay = capval;
#undef EXTRACT_DELAY
}

View File

View File

@@ -1,55 +0,0 @@
/* $Id*/
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in
* (see that file for the relevant copyright).
*/
/*
* This is an extension to support events...
*/
#ifdef NCURSES_WGETCH_EVENTS
#if !defined(__BEOS__) || defined(__HAIKU__)
/* Fix _nc_timed_wait() on BEOS... */
# define NCURSES_EVENT_VERSION 1
#endif /* !defined(__BEOS__) */
/*
* Bits to set in _nc_event.data.flags
*/
# define _NC_EVENT_TIMEOUT_MSEC 1
# define _NC_EVENT_FILE 2
# define _NC_EVENT_FILE_READABLE 2
# if 0 /* Not supported yet... */
# define _NC_EVENT_FILE_WRITABLE 4
# define _NC_EVENT_FILE_EXCEPTION 8
# endif
typedef struct
{
int type;
union
{
long timeout_msec; /* _NC_EVENT_TIMEOUT_MSEC */
struct
{
unsigned int flags;
int fd;
unsigned int result;
} fev; /* _NC_EVENT_FILE */
} data;
} _nc_event;
typedef struct
{
int count;
int result_flags; /* _NC_EVENT_TIMEOUT_MSEC or _NC_EVENT_FILE_READABLE */
_nc_event *events[1];
} _nc_eventlist;
extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */
extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *) GCC_DEPRECATED(experimental option); /* experimental */
#define KEY_EVENT 0633 /* We were interrupted by an event */
#endif /* NCURSES_WGETCH_EVENTS */

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,197 +0,0 @@
/* $Id: curses.tail,v 1.26 2021/03/20 15:49:25 tom Exp $ */
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in
* (see that file for the relevant copyright).
*/
/* mouse interface */
#if NCURSES_MOUSE_VERSION > 1
#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5))
#else
#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6))
#endif
#define NCURSES_BUTTON_RELEASED 001L
#define NCURSES_BUTTON_PRESSED 002L
#define NCURSES_BUTTON_CLICKED 004L
#define NCURSES_DOUBLE_CLICKED 010L
#define NCURSES_TRIPLE_CLICKED 020L
#define NCURSES_RESERVED_EVENT 040L
/* event masks */
#define BUTTON1_RELEASED NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED)
#define BUTTON1_PRESSED NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED)
#define BUTTON1_CLICKED NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_CLICKED)
#define BUTTON1_DOUBLE_CLICKED NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED)
#define BUTTON1_TRIPLE_CLICKED NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED)
#define BUTTON2_RELEASED NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_RELEASED)
#define BUTTON2_PRESSED NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_PRESSED)
#define BUTTON2_CLICKED NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_CLICKED)
#define BUTTON2_DOUBLE_CLICKED NCURSES_MOUSE_MASK(2, NCURSES_DOUBLE_CLICKED)
#define BUTTON2_TRIPLE_CLICKED NCURSES_MOUSE_MASK(2, NCURSES_TRIPLE_CLICKED)
#define BUTTON3_RELEASED NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_RELEASED)
#define BUTTON3_PRESSED NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_PRESSED)
#define BUTTON3_CLICKED NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_CLICKED)
#define BUTTON3_DOUBLE_CLICKED NCURSES_MOUSE_MASK(3, NCURSES_DOUBLE_CLICKED)
#define BUTTON3_TRIPLE_CLICKED NCURSES_MOUSE_MASK(3, NCURSES_TRIPLE_CLICKED)
#define BUTTON4_RELEASED NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_RELEASED)
#define BUTTON4_PRESSED NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_PRESSED)
#define BUTTON4_CLICKED NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_CLICKED)
#define BUTTON4_DOUBLE_CLICKED NCURSES_MOUSE_MASK(4, NCURSES_DOUBLE_CLICKED)
#define BUTTON4_TRIPLE_CLICKED NCURSES_MOUSE_MASK(4, NCURSES_TRIPLE_CLICKED)
/*
* In 32 bits the version-1 scheme does not provide enough space for a 5th
* button, unless we choose to change the ABI by omitting the reserved-events.
*/
#if NCURSES_MOUSE_VERSION > 1
#define BUTTON5_RELEASED NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_RELEASED)
#define BUTTON5_PRESSED NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_PRESSED)
#define BUTTON5_CLICKED NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_CLICKED)
#define BUTTON5_DOUBLE_CLICKED NCURSES_MOUSE_MASK(5, NCURSES_DOUBLE_CLICKED)
#define BUTTON5_TRIPLE_CLICKED NCURSES_MOUSE_MASK(5, NCURSES_TRIPLE_CLICKED)
#define BUTTON_CTRL NCURSES_MOUSE_MASK(6, 0001L)
#define BUTTON_SHIFT NCURSES_MOUSE_MASK(6, 0002L)
#define BUTTON_ALT NCURSES_MOUSE_MASK(6, 0004L)
#define REPORT_MOUSE_POSITION NCURSES_MOUSE_MASK(6, 0010L)
#else
#define BUTTON1_RESERVED_EVENT NCURSES_MOUSE_MASK(1, NCURSES_RESERVED_EVENT)
#define BUTTON2_RESERVED_EVENT NCURSES_MOUSE_MASK(2, NCURSES_RESERVED_EVENT)
#define BUTTON3_RESERVED_EVENT NCURSES_MOUSE_MASK(3, NCURSES_RESERVED_EVENT)
#define BUTTON4_RESERVED_EVENT NCURSES_MOUSE_MASK(4, NCURSES_RESERVED_EVENT)
#define BUTTON_CTRL NCURSES_MOUSE_MASK(5, 0001L)
#define BUTTON_SHIFT NCURSES_MOUSE_MASK(5, 0002L)
#define BUTTON_ALT NCURSES_MOUSE_MASK(5, 0004L)
#define REPORT_MOUSE_POSITION NCURSES_MOUSE_MASK(5, 0010L)
#endif
#define ALL_MOUSE_EVENTS (REPORT_MOUSE_POSITION - 1)
/* macros to extract single event-bits from masks */
#define BUTTON_RELEASE(e, x) ((e) & NCURSES_MOUSE_MASK(x, 001))
#define BUTTON_PRESS(e, x) ((e) & NCURSES_MOUSE_MASK(x, 002))
#define BUTTON_CLICK(e, x) ((e) & NCURSES_MOUSE_MASK(x, 004))
#define BUTTON_DOUBLE_CLICK(e, x) ((e) & NCURSES_MOUSE_MASK(x, 010))
#define BUTTON_TRIPLE_CLICK(e, x) ((e) & NCURSES_MOUSE_MASK(x, 020))
#define BUTTON_RESERVED_EVENT(e, x) ((e) & NCURSES_MOUSE_MASK(x, 040))
typedef struct
{
short id; /* ID to distinguish multiple devices */
int x, y, z; /* event coordinates (character-cell) */
mmask_t bstate; /* button state bits */
}
MEVENT;
extern NCURSES_EXPORT(bool) has_mouse(void);
extern NCURSES_EXPORT(int) getmouse (MEVENT *);
extern NCURSES_EXPORT(int) ungetmouse (MEVENT *);
extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *);
extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int);
extern NCURSES_EXPORT(int) mouseinterval (int);
extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool);
extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_mouse) (SCREEN*);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(getmouse) (SCREEN*, MEVENT *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetmouse) (SCREEN*,MEVENT *);
extern NCURSES_EXPORT(mmask_t) NCURSES_SP_NAME(mousemask) (SCREEN*, mmask_t, mmask_t *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mouseinterval) (SCREEN*, int);
#endif
#ifndef NCURSES_NOMACROS
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
#endif
/* other non-XSI functions */
extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */
extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(has_key) (SCREEN*, int); /* do we have given key? */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mcprint) (SCREEN*, char *, int); /* direct data to printer */
#endif
/* Debugging : use with libncurses_g.a */
extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);
extern NCURSES_EXPORT(char *) _traceattr (attr_t);
extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype);
extern NCURSES_EXPORT(char *) _tracechar (int);
extern NCURSES_EXPORT(char *) _tracechtype (chtype);
extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
#if NCURSES_WIDECHAR
#define _tracech_t _tracecchar_t
extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
#define _tracech_t2 _tracecchar_t2
extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *);
#else
#define _tracech_t _tracechtype
#define _tracech_t2 _tracechtype2
#endif
extern NCURSES_EXPORT(void) trace (const unsigned) GCC_DEPRECATED("use curses_trace");
extern NCURSES_EXPORT(unsigned) curses_trace (const unsigned);
/* trace masks */
#define TRACE_DISABLE 0x0000 /* turn off tracing */
#define TRACE_TIMES 0x0001 /* trace user and system times of updates */
#define TRACE_TPUTS 0x0002 /* trace tputs calls */
#define TRACE_UPDATE 0x0004 /* trace update actions, old & new screens */
#define TRACE_MOVE 0x0008 /* trace cursor moves and scrolls */
#define TRACE_CHARPUT 0x0010 /* trace all character outputs */
#define TRACE_ORDINARY 0x001F /* trace all update actions */
#define TRACE_CALLS 0x0020 /* trace all curses calls */
#define TRACE_VIRTPUT 0x0040 /* trace virtual character puts */
#define TRACE_IEVENT 0x0080 /* trace low-level input processing */
#define TRACE_BITS 0x0100 /* trace state of TTY control bits */
#define TRACE_ICALLS 0x0200 /* trace internal/nested calls */
#define TRACE_CCALLS 0x0400 /* trace per-character calls */
#define TRACE_DATABASE 0x0800 /* trace read/write of terminfo/termcap data */
#define TRACE_ATTRS 0x1000 /* trace attribute updates */
#define TRACE_SHIFT 13 /* number of bits in the trace masks */
#define TRACE_MAXIMUM ((1 << TRACE_SHIFT) - 1) /* maximum trace level */
#if defined(TRACE) || defined(NCURSES_TEST)
extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable; /* enable optimizations */
extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
#define OPTIMIZE_MVCUR 0x01 /* cursor movement optimization */
#define OPTIMIZE_HASHMAP 0x02 /* diff hashing to detect scrolls */
#define OPTIMIZE_SCROLL 0x04 /* scroll optimization */
#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */
#endif
extern GCC_NORETURN NCURSES_EXPORT(void) exit_curses (int);
#include <unctrl.h>
#ifdef __cplusplus
#ifndef NCURSES_NOMACROS
/* these names conflict with STL */
#undef box
#undef clear
#undef erase
#undef move
#undef refresh
#endif /* NCURSES_NOMACROS */
}
#endif
#endif /* __NCURSES_H */

View File

@@ -1,314 +0,0 @@
/* $Id: curses.wide,v 1.51 2021/05/22 20:28:29 tom Exp $ */
/*
* vile:cmode:
* This file is part of ncurses, designed to be appended after curses.h.in
* (see that file for the relevant copyright).
*/
#define _XOPEN_CURSES 1
#if NCURSES_WIDECHAR
extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
#define NCURSES_WACS(c) (&_nc_wacs[NCURSES_CAST(unsigned char,(c))])
#define WACS_BSSB NCURSES_WACS('l')
#define WACS_SSBB NCURSES_WACS('m')
#define WACS_BBSS NCURSES_WACS('k')
#define WACS_SBBS NCURSES_WACS('j')
#define WACS_SBSS NCURSES_WACS('u')
#define WACS_SSSB NCURSES_WACS('t')
#define WACS_SSBS NCURSES_WACS('v')
#define WACS_BSSS NCURSES_WACS('w')
#define WACS_BSBS NCURSES_WACS('q')
#define WACS_SBSB NCURSES_WACS('x')
#define WACS_SSSS NCURSES_WACS('n')
#define WACS_ULCORNER WACS_BSSB
#define WACS_LLCORNER WACS_SSBB
#define WACS_URCORNER WACS_BBSS
#define WACS_LRCORNER WACS_SBBS
#define WACS_RTEE WACS_SBSS
#define WACS_LTEE WACS_SSSB
#define WACS_BTEE WACS_SSBS
#define WACS_TTEE WACS_BSSS
#define WACS_HLINE WACS_BSBS
#define WACS_VLINE WACS_SBSB
#define WACS_PLUS WACS_SSSS
#define WACS_S1 NCURSES_WACS('o') /* scan line 1 */
#define WACS_S9 NCURSES_WACS('s') /* scan line 9 */
#define WACS_DIAMOND NCURSES_WACS('`') /* diamond */
#define WACS_CKBOARD NCURSES_WACS('a') /* checker board */
#define WACS_DEGREE NCURSES_WACS('f') /* degree symbol */
#define WACS_PLMINUS NCURSES_WACS('g') /* plus/minus */
#define WACS_BULLET NCURSES_WACS('~') /* bullet */
/* Teletype 5410v1 symbols */
#define WACS_LARROW NCURSES_WACS(',') /* arrow left */
#define WACS_RARROW NCURSES_WACS('+') /* arrow right */
#define WACS_DARROW NCURSES_WACS('.') /* arrow down */
#define WACS_UARROW NCURSES_WACS('-') /* arrow up */
#define WACS_BOARD NCURSES_WACS('h') /* board of squares */
#define WACS_LANTERN NCURSES_WACS('i') /* lantern symbol */
#define WACS_BLOCK NCURSES_WACS('0') /* solid square block */
/* ncurses extensions */
#define WACS_S3 NCURSES_WACS('p') /* scan line 3 */
#define WACS_S7 NCURSES_WACS('r') /* scan line 7 */
#define WACS_LEQUAL NCURSES_WACS('y') /* less/equal */
#define WACS_GEQUAL NCURSES_WACS('z') /* greater/equal */
#define WACS_PI NCURSES_WACS('{') /* Pi */
#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */
#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */
/* double lines */
#define WACS_BDDB NCURSES_WACS('C')
#define WACS_DDBB NCURSES_WACS('D')
#define WACS_BBDD NCURSES_WACS('B')
#define WACS_DBBD NCURSES_WACS('A')
#define WACS_DBDD NCURSES_WACS('G')
#define WACS_DDDB NCURSES_WACS('F')
#define WACS_DDBD NCURSES_WACS('H')
#define WACS_BDDD NCURSES_WACS('I')
#define WACS_BDBD NCURSES_WACS('R')
#define WACS_DBDB NCURSES_WACS('Y')
#define WACS_DDDD NCURSES_WACS('E')
#define WACS_D_ULCORNER WACS_BDDB
#define WACS_D_LLCORNER WACS_DDBB
#define WACS_D_URCORNER WACS_BBDD
#define WACS_D_LRCORNER WACS_DBBD
#define WACS_D_RTEE WACS_DBDD
#define WACS_D_LTEE WACS_DDDB
#define WACS_D_BTEE WACS_DDBD
#define WACS_D_TTEE WACS_BDDD
#define WACS_D_HLINE WACS_BDBD
#define WACS_D_VLINE WACS_DBDB
#define WACS_D_PLUS WACS_DDDD
/* thick lines */
#define WACS_BTTB NCURSES_WACS('L')
#define WACS_TTBB NCURSES_WACS('M')
#define WACS_BBTT NCURSES_WACS('K')
#define WACS_TBBT NCURSES_WACS('J')
#define WACS_TBTT NCURSES_WACS('U')
#define WACS_TTTB NCURSES_WACS('T')
#define WACS_TTBT NCURSES_WACS('V')
#define WACS_BTTT NCURSES_WACS('W')
#define WACS_BTBT NCURSES_WACS('Q')
#define WACS_TBTB NCURSES_WACS('X')
#define WACS_TTTT NCURSES_WACS('N')
#define WACS_T_ULCORNER WACS_BTTB
#define WACS_T_LLCORNER WACS_TTBB
#define WACS_T_URCORNER WACS_BBTT
#define WACS_T_LRCORNER WACS_TBBT
#define WACS_T_RTEE WACS_TBTT
#define WACS_T_LTEE WACS_TTTB
#define WACS_T_BTEE WACS_TTBT
#define WACS_T_TTEE WACS_BTTT
#define WACS_T_HLINE WACS_BTBT
#define WACS_T_VLINE WACS_TBTB
#define WACS_T_PLUS WACS_TTTT
/*
* Function prototypes for wide-character operations.
*
* "generated" comments should include ":WIDEC" to make the corresponding
* functions ifdef'd in lib_gen.c
*
* "implemented" comments do not need this marker.
*/
extern NCURSES_EXPORT(int) add_wch (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) add_wchstr (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) addwstr (const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) bkgrnd (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(void) bkgrndset (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) border_set (const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*); /* generated:WIDEC */
extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) echo_wchar (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) erasewchar (wchar_t*); /* implemented */
extern NCURSES_EXPORT(int) get_wch (wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) get_wstr (wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) getbkgrnd (cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*); /* implemented */
extern NCURSES_EXPORT(int) getn_wstr (wint_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) in_wch (cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) in_wchstr (cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) innwstr (wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) ins_wch (const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) ins_wstr (const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) inwstr (wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t); /* implemented */
extern NCURSES_EXPORT(int) killwchar (wchar_t *); /* implemented */
extern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */
extern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *); /* implemented */
extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented */
extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */
extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */
extern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *); /* implemented */
extern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */
extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */
extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */
extern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int); /* implemented */
extern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *); /* implemented */
extern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) wborder_set (WINDOW *,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*); /* implemented */
extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *); /* implemented */
extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int); /* implemented */
extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int); /* implemented */
extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int); /* implemented */
extern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int); /* implemented */
extern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int); /* implemented */
extern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *); /* generated:WIDEC */
extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */
extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */
extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* implemented */
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(erasewchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(killwchar) (SCREEN*, wchar_t *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented:SP_FUNC */
#endif
#ifndef NCURSES_NOMACROS
/*
* XSI curses macros for XPG4 conformance.
*/
#define add_wch(c) wadd_wch(stdscr,(c))
#define add_wchnstr(str,n) wadd_wchnstr(stdscr,(str),(n))
#define add_wchstr(str) wadd_wchstr(stdscr,(str))
#define addnwstr(wstr,n) waddnwstr(stdscr,(wstr),(n))
#define addwstr(wstr) waddwstr(stdscr,(wstr))
#define bkgrnd(c) wbkgrnd(stdscr,(c))
#define bkgrndset(c) wbkgrndset(stdscr,(c))
#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br)
#define box_set(w,v,h) wborder_set((w),(v),(v),(h),(h),0,0,0,0)
#define echo_wchar(c) wecho_wchar(stdscr,(c))
#define get_wch(c) wget_wch(stdscr,(c))
#define get_wstr(t) wget_wstr(stdscr,(t))
#define getbkgrnd(wch) wgetbkgrnd(stdscr,(wch))
#define getn_wstr(t,n) wgetn_wstr(stdscr,(t),(n))
#define hline_set(c,n) whline_set(stdscr,(c),(n))
#define in_wch(c) win_wch(stdscr,(c))
#define in_wchnstr(c,n) win_wchnstr(stdscr,(c),(n))
#define in_wchstr(c) win_wchstr(stdscr,(c))
#define innwstr(c,n) winnwstr(stdscr,(c),(n))
#define ins_nwstr(t,n) wins_nwstr(stdscr,(t),(n))
#define ins_wch(c) wins_wch(stdscr,(c))
#define ins_wstr(t) wins_wstr(stdscr,(t))
#define inwstr(c) winwstr(stdscr,(c))
#define vline_set(c,n) wvline_set(stdscr,(c),(n))
#define wadd_wchstr(win,str) wadd_wchnstr((win),(str),-1)
#define waddwstr(win,wstr) waddnwstr((win),(wstr),-1)
#define wget_wstr(w,t) wgetn_wstr((w),(t),-1)
#define win_wchstr(w,c) win_wchnstr((w),(c),-1)
#define wins_wstr(w,t) wins_nwstr((w),(t),-1)
#if !NCURSES_OPAQUE
#define wgetbkgrnd(win,wch) (NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR)
#endif
#define mvadd_wch(y,x,c) mvwadd_wch(stdscr,(y),(x),(c))
#define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,(y),(x),(s),(n))
#define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,(y),(x),(s))
#define mvaddnwstr(y,x,wstr,n) mvwaddnwstr(stdscr,(y),(x),(wstr),(n))
#define mvaddwstr(y,x,wstr) mvwaddwstr(stdscr,(y),(x),(wstr))
#define mvget_wch(y,x,c) mvwget_wch(stdscr,(y),(x),(c))
#define mvget_wstr(y,x,t) mvwget_wstr(stdscr,(y),(x),(t))
#define mvgetn_wstr(y,x,t,n) mvwgetn_wstr(stdscr,(y),(x),(t),(n))
#define mvhline_set(y,x,c,n) mvwhline_set(stdscr,(y),(x),(c),(n))
#define mvin_wch(y,x,c) mvwin_wch(stdscr,(y),(x),(c))
#define mvin_wchnstr(y,x,c,n) mvwin_wchnstr(stdscr,(y),(x),(c),(n))
#define mvin_wchstr(y,x,c) mvwin_wchstr(stdscr,(y),(x),(c))
#define mvinnwstr(y,x,c,n) mvwinnwstr(stdscr,(y),(x),(c),(n))
#define mvins_nwstr(y,x,t,n) mvwins_nwstr(stdscr,(y),(x),(t),(n))
#define mvins_wch(y,x,c) mvwins_wch(stdscr,(y),(x),(c))
#define mvins_wstr(y,x,t) mvwins_wstr(stdscr,(y),(x),(t))
#define mvinwstr(y,x,c) mvwinwstr(stdscr,(y),(x),(c))
#define mvvline_set(y,x,c,n) mvwvline_set(stdscr,(y),(x),(c),(n))
#define mvwadd_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c)))
#define mvwadd_wchnstr(win,y,x,s,n) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n)))
#define mvwadd_wchstr(win,y,x,s) (wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s)))
#define mvwaddnwstr(win,y,x,wstr,n) (wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n)))
#define mvwaddwstr(win,y,x,wstr) (wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr)))
#define mvwget_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c)))
#define mvwget_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t)))
#define mvwgetn_wstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n)))
#define mvwhline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n)))
#define mvwin_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c)))
#define mvwin_wchnstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n)))
#define mvwin_wchstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c)))
#define mvwinnwstr(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n)))
#define mvwins_nwstr(win,y,x,t,n) (wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n)))
#define mvwins_wch(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c)))
#define mvwins_wstr(win,y,x,t) (wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t)))
#define mvwinwstr(win,y,x,c) (wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c)))
#define mvwvline_set(win,y,x,c,n) (wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n)))
#endif /* NCURSES_NOMACROS */
#if defined(TRACE) || defined(NCURSES_TEST)
extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *);
#endif
#endif /* NCURSES_WIDECHAR */

View File

@@ -1,68 +0,0 @@
#!/bin/sh
# $Id: edit_cfg.sh,v 1.14 2020/02/02 23:34:34 tom Exp $
##############################################################################
# Copyright 2020 Thomas E. Dickey #
# Copyright 1998-2001,2017 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997,2000
#
# Edit the default value of the term.h file based on the autoconf-generated
# values:
#
# $1 = ncurses_cfg.h
# $2 = term.h
#
BAK=save$$
TMP=edit$$
trap "rm -f $BAK $TMP" 0 1 2 3 15
for name in \
HAVE_TCGETATTR \
HAVE_TERMIOS_H \
HAVE_TERMIO_H \
BROKEN_LINKER
do
mv $2 $BAK
if ( grep "[ ]$name[ ]" $1 2>&1 >$TMP )
then
value=1
else
value=0
fi
echo '** edit: '$name $value
sed \
-e "s@#define ${name}.*\$@#define $name $value@" \
-e "s@#if $name\$@#if $value /* $name */@" \
-e "s@#if !$name\$@#if $value /* !$name */@" \
$BAK >$2
if (cmp -s $2 $BAK)
then
mv $BAK $2
else
rm -f $BAK
fi
done

View File

@@ -1,55 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2002,2003 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
/* $Id: eti.h,v 1.9 2020/02/02 23:34:34 tom Exp $ */
#ifndef NCURSES_ETI_H_incl
#define NCURSES_ETI_H_incl 1
#define E_OK (0)
#define E_SYSTEM_ERROR (-1)
#define E_BAD_ARGUMENT (-2)
#define E_POSTED (-3)
#define E_CONNECTED (-4)
#define E_BAD_STATE (-5)
#define E_NO_ROOM (-6)
#define E_NOT_POSTED (-7)
#define E_UNKNOWN_COMMAND (-8)
#define E_NO_MATCH (-9)
#define E_NOT_SELECTABLE (-10)
#define E_NOT_CONNECTED (-11)
#define E_REQUEST_DENIED (-12)
#define E_INVALID_FIELD (-13)
#define E_CURRENT (-14)
#endif

View File

@@ -1,460 +0,0 @@
/****************************************************************************
* Copyright 2018-2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
/* $Id: form.h,v 0.32 2021/06/17 21:26:02 tom Exp $ */
#ifndef FORM_H
#define FORM_H
/* *INDENT-OFF*/
#include <curses.h>
#include <eti.h>
#ifdef __cplusplus
extern "C" {
#endif
#if defined(BUILDING_FORM)
# define FORM_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
#else
# define FORM_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
#endif
#define FORM_WRAPPED_VAR(type,name) extern FORM_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
#define FORM_EXPORT(type) FORM_IMPEXP type NCURSES_API
#define FORM_EXPORT_VAR(type) FORM_IMPEXP type
#ifndef FORM_PRIV_H
typedef void *FIELD_CELL;
#endif
#ifndef NCURSES_FIELD_INTERNALS
#define NCURSES_FIELD_INTERNALS /* nothing */
#endif
typedef int Form_Options;
typedef int Field_Options;
/**********
* _PAGE *
**********/
typedef struct pagenode
#if !NCURSES_OPAQUE_FORM
{
short pmin; /* index of first field on page */
short pmax; /* index of last field on page */
short smin; /* index of top leftmost field on page */
short smax; /* index of bottom rightmost field on page */
}
#endif /* !NCURSES_OPAQUE_FORM */
_PAGE;
/**********
* FIELD *
**********/
typedef struct fieldnode
#if 1 /* not yet: !NCURSES_OPAQUE_FORM */
{
unsigned short status; /* flags */
short rows; /* size in rows */
short cols; /* size in cols */
short frow; /* first row */
short fcol; /* first col */
int drows; /* dynamic rows */
int dcols; /* dynamic cols */
int maxgrow; /* maximum field growth */
int nrow; /* off-screen rows */
short nbuf; /* additional buffers */
short just; /* justification */
short page; /* page on form */
short index; /* into form -> field */
int pad; /* pad character */
chtype fore; /* foreground attribute */
chtype back; /* background attribute */
Field_Options opts; /* options */
struct fieldnode * snext; /* sorted order pointer */
struct fieldnode * sprev; /* sorted order pointer */
struct fieldnode * link; /* linked field chain */
struct formnode * form; /* containing form */
struct typenode * type; /* field type */
void * arg; /* argument for type */
FIELD_CELL * buf; /* field buffers */
void * usrptr; /* user pointer */
/*
* The wide-character configuration requires extra information. Because
* there are existing applications that manipulate the members of FIELD
* directly, we cannot make the struct opaque, except by changing the ABI.
* Offsets of members up to this point are the same in the narrow- and
* wide-character configuration. But note that the type of buf depends on
* the configuration, and is made opaque for that reason.
*/
NCURSES_FIELD_INTERNALS
}
#endif /* NCURSES_OPAQUE_FORM */
FIELD;
/*********
* FORM *
*********/
typedef struct formnode
#if 1 /* not yet: !NCURSES_OPAQUE_FORM */
{
unsigned short status; /* flags */
short rows; /* size in rows */
short cols; /* size in cols */
int currow; /* current row in field window */
int curcol; /* current col in field window */
int toprow; /* in scrollable field window */
int begincol; /* in horiz. scrollable field */
short maxfield; /* number of fields */
short maxpage; /* number of pages */
short curpage; /* index into page */
Form_Options opts; /* options */
WINDOW * win; /* window */
WINDOW * sub; /* subwindow */
WINDOW * w; /* window for current field */
FIELD ** field; /* field [maxfield] */
FIELD * current; /* current field */
_PAGE * page; /* page [maxpage] */
void * usrptr; /* user pointer */
void (*forminit)(struct formnode *);
void (*formterm)(struct formnode *);
void (*fieldinit)(struct formnode *);
void (*fieldterm)(struct formnode *);
}
#endif /* !NCURSES_OPAQUE_FORM */
FORM;
/**************
* FIELDTYPE *
**************/
typedef struct typenode
#if !NCURSES_OPAQUE_FORM
{
unsigned short status; /* flags */
long ref; /* reference count */
struct typenode * left; /* ptr to operand for | */
struct typenode * right; /* ptr to operand for | */
void* (*makearg)(va_list *); /* make fieldtype arg */
void* (*copyarg)(const void *); /* copy fieldtype arg */
void (*freearg)(void *); /* free fieldtype arg */
#if NCURSES_INTEROP_FUNCS
union {
bool (*ofcheck)(FIELD *,const void *); /* field validation */
bool (*gfcheck)(FORM*,FIELD *,const void*); /* generic field validation */
} fieldcheck;
union {
bool (*occheck)(int,const void *); /* character validation */
bool (*gccheck)(int,FORM*,
FIELD*,const void*); /* generic char validation */
} charcheck;
union {
bool (*onext)(FIELD *,const void *); /* enumerate next value */
bool (*gnext)(FORM*,FIELD*,const void*); /* generic enumerate next */
} enum_next;
union {
bool (*oprev)(FIELD *,const void *); /* enumerate prev value */
bool (*gprev)(FORM*,FIELD*,const void*); /* generic enumerate prev */
} enum_prev;
void* (*genericarg)(void*); /* Alternate Arg method */
#else
bool (*fcheck)(FIELD *,const void *); /* field validation */
bool (*ccheck)(int,const void *); /* character validation */
bool (*next)(FIELD *,const void *); /* enumerate next value */
bool (*prev)(FIELD *,const void *); /* enumerate prev value */
#endif
}
#endif /* !NCURSES_OPAQUE_FORM */
FIELDTYPE;
typedef void (*Form_Hook)(FORM *);
/***************************
* miscellaneous #defines *
***************************/
/* field justification */
#define NO_JUSTIFICATION (0)
#define JUSTIFY_LEFT (1)
#define JUSTIFY_CENTER (2)
#define JUSTIFY_RIGHT (3)
/* field options */
#define O_VISIBLE (0x0001U)
#define O_ACTIVE (0x0002U)
#define O_PUBLIC (0x0004U)
#define O_EDIT (0x0008U)
#define O_WRAP (0x0010U)
#define O_BLANK (0x0020U)
#define O_AUTOSKIP (0x0040U)
#define O_NULLOK (0x0080U)
#define O_PASSOK (0x0100U)
#define O_STATIC (0x0200U)
#define O_DYNAMIC_JUSTIFY (0x0400U) /* ncurses extension */
#define O_NO_LEFT_STRIP (0x0800U) /* ncurses extension */
#define O_EDGE_INSERT_STAY (0x1000U) /* ncurses extension */
#define O_INPUT_LIMIT (0x2000U) /* ncurses extension */
/* form options */
#define O_NL_OVERLOAD (0x0001U)
#define O_BS_OVERLOAD (0x0002U)
/* form driver commands */
#define REQ_NEXT_PAGE (KEY_MAX + 1) /* move to next page */
#define REQ_PREV_PAGE (KEY_MAX + 2) /* move to previous page */
#define REQ_FIRST_PAGE (KEY_MAX + 3) /* move to first page */
#define REQ_LAST_PAGE (KEY_MAX + 4) /* move to last page */
#define REQ_NEXT_FIELD (KEY_MAX + 5) /* move to next field */
#define REQ_PREV_FIELD (KEY_MAX + 6) /* move to previous field */
#define REQ_FIRST_FIELD (KEY_MAX + 7) /* move to first field */
#define REQ_LAST_FIELD (KEY_MAX + 8) /* move to last field */
#define REQ_SNEXT_FIELD (KEY_MAX + 9) /* move to sorted next field */
#define REQ_SPREV_FIELD (KEY_MAX + 10) /* move to sorted prev field */
#define REQ_SFIRST_FIELD (KEY_MAX + 11) /* move to sorted first field */
#define REQ_SLAST_FIELD (KEY_MAX + 12) /* move to sorted last field */
#define REQ_LEFT_FIELD (KEY_MAX + 13) /* move to left to field */
#define REQ_RIGHT_FIELD (KEY_MAX + 14) /* move to right to field */
#define REQ_UP_FIELD (KEY_MAX + 15) /* move to up to field */
#define REQ_DOWN_FIELD (KEY_MAX + 16) /* move to down to field */
#define REQ_NEXT_CHAR (KEY_MAX + 17) /* move to next char in field */
#define REQ_PREV_CHAR (KEY_MAX + 18) /* move to prev char in field */
#define REQ_NEXT_LINE (KEY_MAX + 19) /* move to next line in field */
#define REQ_PREV_LINE (KEY_MAX + 20) /* move to prev line in field */
#define REQ_NEXT_WORD (KEY_MAX + 21) /* move to next word in field */
#define REQ_PREV_WORD (KEY_MAX + 22) /* move to prev word in field */
#define REQ_BEG_FIELD (KEY_MAX + 23) /* move to first char in field */
#define REQ_END_FIELD (KEY_MAX + 24) /* move after last char in fld */
#define REQ_BEG_LINE (KEY_MAX + 25) /* move to beginning of line */
#define REQ_END_LINE (KEY_MAX + 26) /* move after last char in line */
#define REQ_LEFT_CHAR (KEY_MAX + 27) /* move left in field */
#define REQ_RIGHT_CHAR (KEY_MAX + 28) /* move right in field */
#define REQ_UP_CHAR (KEY_MAX + 29) /* move up in field */
#define REQ_DOWN_CHAR (KEY_MAX + 30) /* move down in field */
#define REQ_NEW_LINE (KEY_MAX + 31) /* insert/overlay new line */
#define REQ_INS_CHAR (KEY_MAX + 32) /* insert blank char at cursor */
#define REQ_INS_LINE (KEY_MAX + 33) /* insert blank line at cursor */
#define REQ_DEL_CHAR (KEY_MAX + 34) /* delete char at cursor */
#define REQ_DEL_PREV (KEY_MAX + 35) /* delete char before cursor */
#define REQ_DEL_LINE (KEY_MAX + 36) /* delete line at cursor */
#define REQ_DEL_WORD (KEY_MAX + 37) /* delete word at cursor */
#define REQ_CLR_EOL (KEY_MAX + 38) /* clear to end of line */
#define REQ_CLR_EOF (KEY_MAX + 39) /* clear to end of field */
#define REQ_CLR_FIELD (KEY_MAX + 40) /* clear entire field */
#define REQ_OVL_MODE (KEY_MAX + 41) /* begin overlay mode */
#define REQ_INS_MODE (KEY_MAX + 42) /* begin insert mode */
#define REQ_SCR_FLINE (KEY_MAX + 43) /* scroll field forward a line */
#define REQ_SCR_BLINE (KEY_MAX + 44) /* scroll field backward a line */
#define REQ_SCR_FPAGE (KEY_MAX + 45) /* scroll field forward a page */
#define REQ_SCR_BPAGE (KEY_MAX + 46) /* scroll field backward a page */
#define REQ_SCR_FHPAGE (KEY_MAX + 47) /* scroll field forward half page */
#define REQ_SCR_BHPAGE (KEY_MAX + 48) /* scroll field backward half page */
#define REQ_SCR_FCHAR (KEY_MAX + 49) /* horizontal scroll char */
#define REQ_SCR_BCHAR (KEY_MAX + 50) /* horizontal scroll char */
#define REQ_SCR_HFLINE (KEY_MAX + 51) /* horizontal scroll line */
#define REQ_SCR_HBLINE (KEY_MAX + 52) /* horizontal scroll line */
#define REQ_SCR_HFHALF (KEY_MAX + 53) /* horizontal scroll half line */
#define REQ_SCR_HBHALF (KEY_MAX + 54) /* horizontal scroll half line */
#define REQ_VALIDATION (KEY_MAX + 55) /* validate field */
#define REQ_NEXT_CHOICE (KEY_MAX + 56) /* display next field choice */
#define REQ_PREV_CHOICE (KEY_MAX + 57) /* display prev field choice */
#define MIN_FORM_COMMAND (KEY_MAX + 1) /* used by form_driver */
#define MAX_FORM_COMMAND (KEY_MAX + 57) /* used by form_driver */
#if defined(MAX_COMMAND)
# if (MAX_FORM_COMMAND > MAX_COMMAND)
# error Something is wrong -- MAX_FORM_COMMAND is greater than MAX_COMMAND
# elif (MAX_COMMAND != (KEY_MAX + 128))
# error Something is wrong -- MAX_COMMAND is already inconsistently defined.
# endif
#else
# define MAX_COMMAND (KEY_MAX + 128)
#endif
/*************************
* standard field types *
*************************/
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
/************************************
* built-in additional field types *
* They are not defined in SVr4 *
************************************/
extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
/***********************
* FIELDTYPE routines *
***********************/
extern FORM_EXPORT(FIELDTYPE *) new_fieldtype (
bool (* const field_check)(FIELD *,const void *),
bool (* const char_check)(int,const void *));
extern FORM_EXPORT(FIELDTYPE *) link_fieldtype(
FIELDTYPE *, FIELDTYPE *);
extern FORM_EXPORT(int) free_fieldtype (FIELDTYPE *);
extern FORM_EXPORT(int) set_fieldtype_arg (FIELDTYPE *,
void * (* const make_arg)(va_list *),
void * (* const copy_arg)(const void *),
void (* const free_arg)(void *));
extern FORM_EXPORT(int) set_fieldtype_choice (FIELDTYPE *,
bool (* const next_choice)(FIELD *,const void *),
bool (* const prev_choice)(FIELD *,const void *));
/*******************
* FIELD routines *
*******************/
extern FORM_EXPORT(FIELD *) new_field (int,int,int,int,int,int);
extern FORM_EXPORT(FIELD *) dup_field (FIELD *,int,int);
extern FORM_EXPORT(FIELD *) link_field (FIELD *,int,int);
extern FORM_EXPORT(int) free_field (FIELD *);
extern FORM_EXPORT(int) field_info (const FIELD *,int *,int *,int *,int *,int *,int *);
extern FORM_EXPORT(int) dynamic_field_info (const FIELD *,int *,int *,int *);
extern FORM_EXPORT(int) set_max_field ( FIELD *,int);
extern FORM_EXPORT(int) move_field (FIELD *,int,int);
extern FORM_EXPORT(int) set_field_type (FIELD *,FIELDTYPE *,...);
extern FORM_EXPORT(int) set_new_page (FIELD *,bool);
extern FORM_EXPORT(int) set_field_just (FIELD *,int);
extern FORM_EXPORT(int) field_just (const FIELD *);
extern FORM_EXPORT(int) set_field_fore (FIELD *,chtype);
extern FORM_EXPORT(int) set_field_back (FIELD *,chtype);
extern FORM_EXPORT(int) set_field_pad (FIELD *,int);
extern FORM_EXPORT(int) field_pad (const FIELD *);
extern FORM_EXPORT(int) set_field_buffer (FIELD *,int,const char *);
extern FORM_EXPORT(int) set_field_status (FIELD *,bool);
extern FORM_EXPORT(int) set_field_userptr (FIELD *, void *);
extern FORM_EXPORT(int) set_field_opts (FIELD *,Field_Options);
extern FORM_EXPORT(int) field_opts_on (FIELD *,Field_Options);
extern FORM_EXPORT(int) field_opts_off (FIELD *,Field_Options);
extern FORM_EXPORT(chtype) field_fore (const FIELD *);
extern FORM_EXPORT(chtype) field_back (const FIELD *);
extern FORM_EXPORT(bool) new_page (const FIELD *);
extern FORM_EXPORT(bool) field_status (const FIELD *);
extern FORM_EXPORT(void *) field_arg (const FIELD *);
extern FORM_EXPORT(void *) field_userptr (const FIELD *);
extern FORM_EXPORT(FIELDTYPE *) field_type (const FIELD *);
extern FORM_EXPORT(char *) field_buffer (const FIELD *,int);
extern FORM_EXPORT(Field_Options) field_opts (const FIELD *);
/******************
* FORM routines *
******************/
extern FORM_EXPORT(FORM *) new_form (FIELD **);
extern FORM_EXPORT(FIELD **) form_fields (const FORM *);
extern FORM_EXPORT(FIELD *) current_field (const FORM *);
extern FORM_EXPORT(WINDOW *) form_win (const FORM *);
extern FORM_EXPORT(WINDOW *) form_sub (const FORM *);
extern FORM_EXPORT(Form_Hook) form_init (const FORM *);
extern FORM_EXPORT(Form_Hook) form_term (const FORM *);
extern FORM_EXPORT(Form_Hook) field_init (const FORM *);
extern FORM_EXPORT(Form_Hook) field_term (const FORM *);
extern FORM_EXPORT(int) free_form (FORM *);
extern FORM_EXPORT(int) set_form_fields (FORM *,FIELD **);
extern FORM_EXPORT(int) field_count (const FORM *);
extern FORM_EXPORT(int) set_form_win (FORM *,WINDOW *);
extern FORM_EXPORT(int) set_form_sub (FORM *,WINDOW *);
extern FORM_EXPORT(int) set_current_field (FORM *,FIELD *);
extern FORM_EXPORT(int) unfocus_current_field (FORM *);
extern FORM_EXPORT(int) field_index (const FIELD *);
extern FORM_EXPORT(int) set_form_page (FORM *,int);
extern FORM_EXPORT(int) form_page (const FORM *);
extern FORM_EXPORT(int) scale_form (const FORM *,int *,int *);
extern FORM_EXPORT(int) set_form_init (FORM *,Form_Hook);
extern FORM_EXPORT(int) set_form_term (FORM *,Form_Hook);
extern FORM_EXPORT(int) set_field_init (FORM *,Form_Hook);
extern FORM_EXPORT(int) set_field_term (FORM *,Form_Hook);
extern FORM_EXPORT(int) post_form (FORM *);
extern FORM_EXPORT(int) unpost_form (FORM *);
extern FORM_EXPORT(int) pos_form_cursor (FORM *);
extern FORM_EXPORT(int) form_driver (FORM *,int);
# if NCURSES_WIDECHAR
extern FORM_EXPORT(int) form_driver_w (FORM *,int,wchar_t);
# endif
extern FORM_EXPORT(int) set_form_userptr (FORM *,void *);
extern FORM_EXPORT(int) set_form_opts (FORM *,Form_Options);
extern FORM_EXPORT(int) form_opts_on (FORM *,Form_Options);
extern FORM_EXPORT(int) form_opts_off (FORM *,Form_Options);
extern FORM_EXPORT(int) form_request_by_name (const char *);
extern FORM_EXPORT(const char *) form_request_name (int);
extern FORM_EXPORT(void *) form_userptr (const FORM *);
extern FORM_EXPORT(Form_Options) form_opts (const FORM *);
extern FORM_EXPORT(bool) data_ahead (const FORM *);
extern FORM_EXPORT(bool) data_behind (const FORM *);
#if NCURSES_SP_FUNCS
extern FORM_EXPORT(FORM *) NCURSES_SP_NAME(new_form) (SCREEN*, FIELD **);
#endif
#ifdef __cplusplus
}
#endif
/* *INDENT-ON*/
#endif /* FORM_H */

View File

@@ -1,72 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 2006-2014,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 2006 *
****************************************************************************/
/*
* $Id: hashed_db.h,v 1.9 2020/02/02 23:34:34 tom Exp $
*/
#ifndef HASHED_DB_H
#define HASHED_DB_H 1
#include <ncurses_cfg.h>
#include <curses.h>
#if USE_HASHED_DB
#define DB_DBM_HSEARCH 0 /* quiet gcc -Wundef with db6 */
#include <db.h>
#ifndef DBM_SUFFIX
#define DBM_SUFFIX ".db"
#endif
#ifdef DB_VERSION_MAJOR
#define HASHED_DB_API DB_VERSION_MAJOR
#else
#define HASHED_DB_API 1 /* e.g., db 1.8.5 */
#endif
extern NCURSES_EXPORT(DB *) _nc_db_open(const char * /* path */, bool /* modify */);
extern NCURSES_EXPORT(bool) _nc_db_have_data(DBT * /* key */, DBT * /* data */, char ** /* buffer */, int * /* size */);
extern NCURSES_EXPORT(bool) _nc_db_have_index(DBT * /* key */, DBT * /* data */, char ** /* buffer */, int * /* size */);
extern NCURSES_EXPORT(int) _nc_db_close(DB * /* db */);
extern NCURSES_EXPORT(int) _nc_db_first(DB * /* db */, DBT * /* key */, DBT * /* data */);
extern NCURSES_EXPORT(int) _nc_db_next(DB * /* db */, DBT * /* key */, DBT * /* data */);
extern NCURSES_EXPORT(int) _nc_db_get(DB * /* db */, DBT * /* key */, DBT * /* data */);
extern NCURSES_EXPORT(int) _nc_db_put(DB * /* db */, DBT * /* key */, DBT * /* data */);
#endif
#endif /* HASHED_DB_H */

View File

@@ -1,6 +0,0 @@
/*
* hashsize.h -- hash and token table constants
*/
#define CAPTABSIZE 497
#define HASHTABSIZE (497 * 2)

View File

@@ -1,55 +0,0 @@
# $Id: headers,v 1.15 2020/08/29 18:51:13 tom Exp $
##############################################################################
# Copyright 2020 Thomas E. Dickey #
# Copyright 1998-2012,2013 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# Author: Thomas E. Dickey 1996-on
#
curses.h
unctrl.h
ncurses_dll.h
# Support for termcap (and tic, etc.), which can be a separate library
@ termlib
term.h
termcap.h
# Headers used only for tic, other programs using internal interfaces
@ ticlib
$(srcdir)/tic.h
$(srcdir)/term_entry.h
$(srcdir)/nc_tparm.h
# Porting
@ port_win32con
$(srcdir)/ncurses_mingw.h
$(srcdir)/nc_mingw.h
@ port_win32
$(srcdir)/win32_curses.h
# vile:makemode

View File

@@ -1,281 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
/* $Id: menu.h,v 1.26 2020/12/12 00:38:02 tom Exp $ */
#ifndef ETI_MENU
#define ETI_MENU
#ifdef AMIGA
#define TEXT TEXT_ncurses
#endif
#include <curses.h>
#include <eti.h>
#ifdef __cplusplus
extern "C"
{
#endif
#if defined(BUILDING_MENU)
# define MENU_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
#else
# define MENU_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
#endif
#define MENU_WRAPPED_VAR(type,name) extern MENU_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
#define MENU_EXPORT(type) MENU_IMPEXP type NCURSES_API
#define MENU_EXPORT_VAR(type) MENU_IMPEXP type
typedef int Menu_Options;
typedef int Item_Options;
/* Menu options: */
#define O_ONEVALUE (0x01)
#define O_SHOWDESC (0x02)
#define O_ROWMAJOR (0x04)
#define O_IGNORECASE (0x08)
#define O_SHOWMATCH (0x10)
#define O_NONCYCLIC (0x20)
#define O_MOUSE_MENU (0x40)
/* Item options: */
#define O_SELECTABLE (0x01)
#if !NCURSES_OPAQUE_MENU
typedef struct
{
const char *str;
unsigned short length;
}
TEXT;
#endif /* !NCURSES_OPAQUE_MENU */
struct tagMENU;
typedef struct tagITEM
#if !NCURSES_OPAQUE_MENU
{
TEXT name; /* name of menu item */
TEXT description; /* description of item, optional in display */
struct tagMENU *imenu; /* Pointer to parent menu */
void *userptr; /* Pointer to user defined per item data */
Item_Options opt; /* Item options */
short index; /* Item number if connected to a menu */
short y; /* y and x location of item in menu */
short x;
bool value; /* Selection value */
struct tagITEM *left; /* neighbor items */
struct tagITEM *right;
struct tagITEM *up;
struct tagITEM *down;
}
#endif /* !NCURSES_OPAQUE_MENU */
ITEM;
typedef void (*Menu_Hook) (struct tagMENU *);
typedef struct tagMENU
#if 1 /* not yet: !NCURSES_OPAQUE_MENU */
{
short height; /* Nr. of chars high */
short width; /* Nr. of chars wide */
short rows; /* Nr. of items high */
short cols; /* Nr. of items wide */
short frows; /* Nr. of formatted items high */
short fcols; /* Nr. of formatted items wide */
short arows; /* Nr. of items high (actual) */
short namelen; /* Max. name length */
short desclen; /* Max. description length */
short marklen; /* Length of mark, if any */
short itemlen; /* Length of one item */
short spc_desc; /* Spacing for descriptor */
short spc_cols; /* Spacing for columns */
short spc_rows; /* Spacing for rows */
char *pattern; /* Buffer to store match chars */
short pindex; /* Index into pattern buffer */
WINDOW *win; /* Window containing menu */
WINDOW *sub; /* Subwindow for menu display */
WINDOW *userwin; /* User's window */
WINDOW *usersub; /* User's subwindow */
ITEM **items; /* array of items */
short nitems; /* Nr. of items in menu */
ITEM *curitem; /* Current item */
short toprow; /* Top row of menu */
chtype fore; /* Selection attribute */
chtype back; /* Nonselection attribute */
chtype grey; /* Inactive attribute */
unsigned char pad; /* Pad character */
Menu_Hook menuinit; /* User hooks */
Menu_Hook menuterm;
Menu_Hook iteminit;
Menu_Hook itemterm;
void *userptr; /* Pointer to menus user data */
char *mark; /* Pointer to marker string */
Menu_Options opt; /* Menu options */
unsigned short status; /* Internal state of menu */
}
#endif /* !NCURSES_OPAQUE_MENU */
MENU;
/* Define keys */
#define REQ_LEFT_ITEM (KEY_MAX + 1)
#define REQ_RIGHT_ITEM (KEY_MAX + 2)
#define REQ_UP_ITEM (KEY_MAX + 3)
#define REQ_DOWN_ITEM (KEY_MAX + 4)
#define REQ_SCR_ULINE (KEY_MAX + 5)
#define REQ_SCR_DLINE (KEY_MAX + 6)
#define REQ_SCR_DPAGE (KEY_MAX + 7)
#define REQ_SCR_UPAGE (KEY_MAX + 8)
#define REQ_FIRST_ITEM (KEY_MAX + 9)
#define REQ_LAST_ITEM (KEY_MAX + 10)
#define REQ_NEXT_ITEM (KEY_MAX + 11)
#define REQ_PREV_ITEM (KEY_MAX + 12)
#define REQ_TOGGLE_ITEM (KEY_MAX + 13)
#define REQ_CLEAR_PATTERN (KEY_MAX + 14)
#define REQ_BACK_PATTERN (KEY_MAX + 15)
#define REQ_NEXT_MATCH (KEY_MAX + 16)
#define REQ_PREV_MATCH (KEY_MAX + 17)
#define MIN_MENU_COMMAND (KEY_MAX + 1)
#define MAX_MENU_COMMAND (KEY_MAX + 17)
/*
* Some AT&T code expects MAX_COMMAND to be out-of-band not
* just for menu commands but for forms ones as well.
*/
#if defined(MAX_COMMAND)
# if (MAX_MENU_COMMAND > MAX_COMMAND)
# error Something is wrong -- MAX_MENU_COMMAND is greater than MAX_COMMAND
# elif (MAX_COMMAND != (KEY_MAX + 128))
# error Something is wrong -- MAX_COMMAND is already inconsistently defined.
# endif
#else
# define MAX_COMMAND (KEY_MAX + 128)
#endif
/* --------- prototypes for libmenu functions ----------------------------- */
extern MENU_EXPORT(ITEM **) menu_items(const MENU *);
extern MENU_EXPORT(ITEM *) current_item(const MENU *);
extern MENU_EXPORT(ITEM *) new_item(const char *, const char *);
extern MENU_EXPORT(MENU *) new_menu(ITEM **);
extern MENU_EXPORT(Item_Options) item_opts(const ITEM *);
extern MENU_EXPORT(Menu_Options) menu_opts(const MENU *);
extern MENU_EXPORT(Menu_Hook) item_init(const MENU *);
extern MENU_EXPORT(Menu_Hook) item_term(const MENU *);
extern MENU_EXPORT(Menu_Hook) menu_init(const MENU *);
extern MENU_EXPORT(Menu_Hook) menu_term(const MENU *);
extern MENU_EXPORT(WINDOW *) menu_sub(const MENU *);
extern MENU_EXPORT(WINDOW *) menu_win(const MENU *);
extern MENU_EXPORT(const char *) item_description(const ITEM *);
extern MENU_EXPORT(const char *) item_name(const ITEM *);
extern MENU_EXPORT(const char *) menu_mark(const MENU *);
extern MENU_EXPORT(const char *) menu_request_name(int);
extern MENU_EXPORT(char *) menu_pattern(const MENU *);
extern MENU_EXPORT(void *) menu_userptr(const MENU *);
extern MENU_EXPORT(void *) item_userptr(const ITEM *);
extern MENU_EXPORT(chtype) menu_back(const MENU *);
extern MENU_EXPORT(chtype) menu_fore(const MENU *);
extern MENU_EXPORT(chtype) menu_grey(const MENU *);
extern MENU_EXPORT(int) free_item(ITEM *);
extern MENU_EXPORT(int) free_menu(MENU *);
extern MENU_EXPORT(int) item_count(const MENU *);
extern MENU_EXPORT(int) item_index(const ITEM *);
extern MENU_EXPORT(int) item_opts_off(ITEM *, Item_Options);
extern MENU_EXPORT(int) item_opts_on(ITEM *, Item_Options);
extern MENU_EXPORT(int) menu_driver(MENU *, int);
extern MENU_EXPORT(int) menu_opts_off(MENU *, Menu_Options);
extern MENU_EXPORT(int) menu_opts_on(MENU *, Menu_Options);
extern MENU_EXPORT(int) menu_pad(const MENU *);
extern MENU_EXPORT(int) pos_menu_cursor(const MENU *);
extern MENU_EXPORT(int) post_menu(MENU *);
extern MENU_EXPORT(int) scale_menu(const MENU *, int *, int *);
extern MENU_EXPORT(int) set_current_item(MENU *menu, ITEM *item);
extern MENU_EXPORT(int) set_item_init(MENU *, Menu_Hook);
extern MENU_EXPORT(int) set_item_opts(ITEM *, Item_Options);
extern MENU_EXPORT(int) set_item_term(MENU *, Menu_Hook);
extern MENU_EXPORT(int) set_item_userptr(ITEM *, void *);
extern MENU_EXPORT(int) set_item_value(ITEM *, bool);
extern MENU_EXPORT(int) set_menu_back(MENU *, chtype);
extern MENU_EXPORT(int) set_menu_fore(MENU *, chtype);
extern MENU_EXPORT(int) set_menu_format(MENU *, int, int);
extern MENU_EXPORT(int) set_menu_grey(MENU *, chtype);
extern MENU_EXPORT(int) set_menu_init(MENU *, Menu_Hook);
extern MENU_EXPORT(int) set_menu_items(MENU *, ITEM **);
extern MENU_EXPORT(int) set_menu_mark(MENU *, const char *);
extern MENU_EXPORT(int) set_menu_opts(MENU *, Menu_Options);
extern MENU_EXPORT(int) set_menu_pad(MENU *, int);
extern MENU_EXPORT(int) set_menu_pattern(MENU *, const char *);
extern MENU_EXPORT(int) set_menu_sub(MENU *, WINDOW *);
extern MENU_EXPORT(int) set_menu_term(MENU *, Menu_Hook);
extern MENU_EXPORT(int) set_menu_userptr(MENU *, void *);
extern MENU_EXPORT(int) set_menu_win(MENU *, WINDOW *);
extern MENU_EXPORT(int) set_top_row(MENU *, int);
extern MENU_EXPORT(int) top_row(const MENU *);
extern MENU_EXPORT(int) unpost_menu(MENU *);
extern MENU_EXPORT(int) menu_request_by_name(const char *);
extern MENU_EXPORT(int) set_menu_spacing(MENU *, int, int, int);
extern MENU_EXPORT(int) menu_spacing(const MENU *, int *, int *, int *);
extern MENU_EXPORT(bool) item_value(const ITEM *);
extern MENU_EXPORT(bool) item_visible(const ITEM *);
extern MENU_EXPORT(void) menu_format(const MENU *, int *, int *);
#if NCURSES_SP_FUNCS
extern MENU_EXPORT(MENU *) NCURSES_SP_NAME(new_menu) (SCREEN *, ITEM **);
#endif
#ifdef __cplusplus
}
#endif
#endif /* ETI_MENU */

View File

@@ -1,98 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2005,2012 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
/* $Id: mf_common.h,v 0.25 2020/02/02 23:34:34 tom Exp $ */
/* Common internal header for menu and form library */
#ifndef MF_COMMON_H_incl
#define MF_COMMON_H_incl 1
#include <ncurses_cfg.h>
#include <curses.h>
#include <stdlib.h>
#include <sys/types.h>
#include <assert.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#if DECL_ERRNO
extern int errno;
#endif
/* in case of debug version we ignore the suppression of assertions */
#ifdef TRACE
# ifdef NDEBUG
# undef NDEBUG
# endif
#endif
#include <nc_alloc.h>
#if USE_RCS_IDS
#define MODULE_ID(id) static const char Ident[] = id;
#else
#define MODULE_ID(id) /*nothing */
#endif
/* Maximum regular 8-bit character code */
#define MAX_REGULAR_CHARACTER (0xff)
#define SET_ERROR(code) (errno=(code))
#define GET_ERROR() (errno)
#ifdef TRACE
#define RETURN(code) returnCode( SET_ERROR(code) )
#else
#define RETURN(code) return( SET_ERROR(code) )
#endif
/* The few common values in the status fields for menus and forms */
#define _POSTED (0x01U) /* menu or form is posted */
#define _IN_DRIVER (0x02U) /* menu or form is processing hook routine */
#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask)
#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask))
/* Call object hook */
#define Call_Hook( object, handler ) \
if ( (object) != 0 && ((object)->handler) != (void *) 0 )\
{\
SetStatus(object, _IN_DRIVER);\
(object)->handler(object);\
ClrStatus(object, _IN_DRIVER);\
}
#endif /* MF_COMMON_H_incl */

View File

@@ -1,80 +0,0 @@
/****************************************************************************
* Copyright 2021 Thomas E. Dickey *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/* $Id: nc_access.h,v 1.2 2021/07/10 22:07:06 tom Exp $ */
#ifndef NC_ACCESS_included
#define NC_ACCESS_included 1
/* *INDENT-OFF* */
#include <ncurses_cfg.h>
#include <curses.h>
#include <sys/types.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Turn off this symbol to limit access to environment variables when root.
*/
#ifdef USE_ROOT_ENVIRON
#define use_terminfo_vars() 1
#else
#define use_terminfo_vars() _nc_env_access()
extern NCURSES_EXPORT(int) _nc_env_access (void);
#endif
/*
* Turn off this symbol to limit access to files when running setuid.
*/
#ifdef USE_ROOT_ACCESS
#define safe_fopen(name,mode) fopen(name,mode)
#define safe_open3(name,flags,mode) open(name,flags,mode)
#else
#define safe_fopen(name,mode) fopen(name,mode)
#define safe_open3(name,flags,mode) open(name,flags,mode)
extern NCURSES_EXPORT(FILE *) _nc_safe_fopen (const char *, const char *);
extern NCURSES_EXPORT(int) _nc_safe_open3 (const char *, int, mode_t);
#endif
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */
#endif /* NC_ACCESS_included */

View File

@@ -1,128 +0,0 @@
/****************************************************************************
* Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2013,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: nc_alloc.h,v 1.28 2021/03/20 16:07:29 tom Exp $ */
#ifndef NC_ALLOC_included
#define NC_ALLOC_included 1
/* *INDENT-OFF* */
#include <ncurses_cfg.h>
#include <curses.h>
#ifdef __cplusplus
extern "C" {
#endif
#if defined(HAVE_LIBDMALLOC) && HAVE_LIBDMALLOC
#include <string.h>
#undef strndup /* workaround for #define in GLIBC 2.7 */
#include <dmalloc.h> /* Gray Watson's library */
#else
#undef HAVE_LIBDMALLOC
#define HAVE_LIBDMALLOC 0
#endif
#if defined(HAVE_LIBDBMALLOC) && HAVE_LIBDBMALLOC
#include <dbmalloc.h> /* Conor Cahill's library */
#else
#undef HAVE_LIBDBMALLOC
#define HAVE_LIBDBMALLOC 0
#endif
#if defined(HAVE_LIBMPATROL) && HAVE_LIBMPATROL
#include <mpatrol.h> /* Memory-Patrol library */
#else
#undef HAVE_LIBMPATROL
#define HAVE_LIBMPATROL 0
#endif
#ifndef NO_LEAKS
#define NO_LEAKS 0
#endif
#if HAVE_LIBDBMALLOC || HAVE_LIBDMALLOC || NO_LEAKS
#define HAVE_NC_FREEALL 1
struct termtype;
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_DEPRECATED("use exit_terminfo");
#ifdef NCURSES_INTERNALS
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_free_tic(int);
extern NCURSES_EXPORT(void) _nc_free_tparm(void);
extern void _nc_leaks_dump_entry(void);
extern NCURSES_EXPORT(void) _nc_leaks_tic(void);
#if NCURSES_SP_FUNCS
extern GCC_NORETURN NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int);
#endif
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_free_and_exit(int);
#else /* !NCURSES_INTERNALS */
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_DEPRECATED("use exit_curses");
#endif
#define ExitProgram(code) exit_curses(code)
#else
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_DEPRECATED("use exit_curses");
#endif /* NO_LEAKS, etc */
#ifndef HAVE_NC_FREEALL
#define HAVE_NC_FREEALL 0
#endif
#ifndef ExitProgram
#define ExitProgram(code) exit(code)
#endif
/* doalloc.c */
extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t);
#if !HAVE_STRDUP
#undef strdup
#define strdup _nc_strdup
extern NCURSES_EXPORT(char *) _nc_strdup(const char *);
#endif
/* entries.c */
extern NCURSES_EXPORT(void) _nc_leaks_tinfo(void);
#define typeMalloc(type,elts) (type *)malloc((size_t)(elts)*sizeof(type))
#define typeCalloc(type,elts) (type *)calloc((size_t)(elts),sizeof(type))
#define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (size_t)(elts)*sizeof(type))
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */
#endif /* NC_ALLOC_included */

View File

@@ -1,89 +0,0 @@
/****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2008-2010,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
/* $Id: nc_mingw.h,v 1.9 2020/07/11 22:13:19 tom Exp $ */
#ifndef NC_MINGW_H
#define NC_MINGW_H 1
#ifdef _WIN32
#ifdef WINVER
# if WINVER < 0x0501
# error WINVER must at least be 0x0501
# endif
#else
# define WINVER 0x0501
#endif
#include <windows.h>
#undef sleep
#define sleep(n) Sleep((n) * 1000)
#undef gettimeofday
#define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
#if HAVE_SYS_TIME_H
#include <sys/time.h> /* for struct timeval */
#endif
#ifdef _MSC_VER
#include <winsock2.h> /* for struct timeval */
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses_dll.h>
NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
#undef HAVE_GETTIMEOFDAY
#define HAVE_GETTIMEOFDAY 1
#define SIGHUP 1
#define SIGKILL 9
#define getlogin() "username"
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
#ifdef __cplusplus
}
#endif
#endif /* _WIN32 */
#endif /* NC_MINGW_H */

View File

@@ -1,80 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2009,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer 1997 *
* and: Thomas E. Dickey *
****************************************************************************/
/*
* $Id: nc_panel.h,v 1.10 2020/02/02 23:34:34 tom Exp $
*
* nc_panel.h
*
* Headerfile to provide an interface for the panel layer into
* the SCREEN structure of the ncurses core.
*/
#ifndef NC_PANEL_H
#define NC_PANEL_H 1
#include <ncurses_cfg.h>
#include <curses.h>
#ifdef __cplusplus
extern "C"
{
#endif
struct panel; /* Forward Declaration */
struct panelhook
{
struct panel *top_panel;
struct panel *bottom_panel;
struct panel *stdscr_pseudo_panel;
#if NO_LEAKS
int (*destroy) (struct panel *);
#endif
};
struct screen; /* Forward declaration */
/* Retrieve the panelhook of the specified screen */
extern NCURSES_EXPORT(struct panelhook *)
_nc_panelhook (void);
#if NCURSES_SP_FUNCS
extern NCURSES_EXPORT(struct panelhook *)
NCURSES_SP_NAME(_nc_panelhook) (SCREEN *);
#endif
#ifdef __cplusplus
}
#endif
#endif /* NC_PANEL_H */

View File

@@ -1,90 +0,0 @@
/****************************************************************************
* Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2012-2013,2016 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 2012 *
****************************************************************************/
#ifndef STRING_HACKS_H
#define STRING_HACKS_H 1
#include <ncurses_cfg.h>
#if HAVE_BSD_STRING_H
#include <bsd/string.h>
#endif
/*
* $Id: nc_string.h,v 1.9 2021/04/25 00:10:43 tom Exp $
*
* String-hacks. Use these macros to stifle warnings on (presumably) correct
* uses of strcat, strcpy and sprintf.
*
* By the way -
* A fundamental limitation of the interfaces (and frequent issue in bug
* reports using these functions) is that sizes are passed as unsigned values
* (with associated sign-extension problems), limiting their effectiveness
* when checking for buffer overflow.
*/
#ifdef __cplusplus
#define NCURSES_VOID /* nothing */
#else
#define NCURSES_VOID (void)
#endif
#if USE_STRING_HACKS && HAVE_STRLCAT
#define _nc_STRCAT(d,s,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,n))
#define _nc_STRNCAT(d,s,m,n) NCURSES_VOID strlcat((d),(s),NCURSES_CAST(size_t,m))
#else
#define _nc_STRCAT(d,s,n) NCURSES_VOID strcat((d),(s))
#define _nc_STRNCAT(d,s,m,n) NCURSES_VOID strncat((d),(s),(n))
#endif
#if USE_STRING_HACKS && HAVE_STRLCPY
#define _nc_STRCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),NCURSES_CAST(size_t,n))
#define _nc_STRNCPY(d,s,n) NCURSES_VOID strlcpy((d),(s),NCURSES_CAST(size_t,n))
#else
#define _nc_STRCPY(d,s,n) NCURSES_VOID strcpy((d),(s))
#define _nc_STRNCPY(d,s,n) NCURSES_VOID strncpy((d),(s),(n))
#endif
#if USE_STRING_HACKS && HAVE_SNPRINTF
#ifdef __cplusplus
#define _nc_SPRINTF NCURSES_VOID snprintf
#else
#define _nc_SPRINTF NCURSES_VOID (snprintf)
#endif
#define _nc_SLIMIT(n) NCURSES_CAST(size_t,n),
#else
#define _nc_SPRINTF NCURSES_VOID sprintf
#define _nc_SLIMIT(n) /* nothing */
#endif
#endif /* STRING_HACKS_H */

View File

@@ -1,168 +0,0 @@
/****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2011-2014,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 2011 *
****************************************************************************/
/* $Id: nc_termios.h,v 1.8 2020/08/29 20:53:19 tom Exp $ */
#ifndef NC_TERMIOS_included
#define NC_TERMIOS_included 1
#include <ncurses_cfg.h>
#if HAVE_TERMIOS_H && HAVE_TCGETATTR
#else /* !HAVE_TERMIOS_H */
#if HAVE_TERMIO_H
/* Add definitions to make termio look like termios.
* But ifdef it, since there are some implementations
* that try to do this for us in a fake <termio.h>.
*/
#ifndef TCSADRAIN
#define TCSADRAIN TCSETAW
#endif
#ifndef TCSAFLUSH
#define TCSAFLUSH TCSETAF
#endif
#ifndef tcsetattr
#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)
#endif
#ifndef tcgetattr
#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)
#endif
#ifndef cfgetospeed
#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
#endif
#ifndef TCIFLUSH
#define TCIFLUSH 0
#endif
#ifndef tcflush
#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)
#endif
#if defined(EXP_WIN32_DRIVER)
#undef TERMIOS
#endif
#else /* !HAVE_TERMIO_H */
#if defined(_WIN32) && !defined(EXP_WIN32_DRIVER)
/* lflag bits */
#define ISIG 0x0001
#define ICANON 0x0002
#define ECHO 0x0004
#define ECHOE 0x0008
#define ECHOK 0x0010
#define ECHONL 0x0020
#define NOFLSH 0x0040
#define IEXTEN 0x0100
#define VEOF 4
#define VERASE 5
#define VINTR 6
#define VKILL 7
#define VMIN 9
#define VQUIT 10
#define VTIME 16
/* iflag bits */
#define IGNBRK 0x00001
#define BRKINT 0x00002
#define IGNPAR 0x00004
#define INPCK 0x00010
#define ISTRIP 0x00020
#define INLCR 0x00040
#define IGNCR 0x00080
#define ICRNL 0x00100
#define IXON 0x00400
#define IXOFF 0x01000
#define PARMRK 0x10000
/* oflag bits */
#define OPOST 0x00001
/* cflag bits */
#define CBAUD 0x0100f
#define B0 0x00000
#define B50 0x00001
#define B75 0x00002
#define B110 0x00003
#define B134 0x00004
#define B150 0x00005
#define B200 0x00006
#define B300 0x00007
#define B600 0x00008
#define B1200 0x00009
#define B1800 0x0000a
#define B2400 0x0000b
#define B4800 0x0000c
#define B9600 0x0000d
#define CSIZE 0x00030
#define CS8 0x00030
#define CSTOPB 0x00040
#define CREAD 0x00080
#define PARENB 0x00100
#define PARODD 0x00200
#define HUPCL 0x00400
#define CLOCAL 0x00800
#define TCIFLUSH 0
#define TCSADRAIN 3
#ifndef cfgetospeed
#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
#endif
#ifndef tcsetattr
#define tcsetattr(fd, opt, arg) _nc_mingw_tcsetattr(fd, opt, arg)
#endif
#ifndef tcgetattr
#define tcgetattr(fd, arg) _nc_mingw_tcgetattr(fd, arg)
#endif
#ifndef tcflush
#define tcflush(fd, queue) _nc_mingw_tcflush(fd, queue)
#endif
#undef ttyname
#define ttyname(fd) NULL
#endif /* _WIN32 */
#endif /* HAVE_TERMIO_H */
#endif /* HAVE_TERMIOS_H */
#endif /* NC_TERMIOS_included */

View File

@@ -1,92 +0,0 @@
/****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2006-2012,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 2006 *
****************************************************************************/
/* $Id: nc_tparm.h,v 1.11 2020/05/27 23:33:31 tom Exp $ */
#ifndef NC_TPARM_included
#define NC_TPARM_included 1
#include <ncurses_cfg.h>
#include <curses.h>
/*
* Cast parameters past the formatting-string for tparm() to match the
* assumption of the varargs code.
*/
#ifndef TPARM_ARG
#ifdef NCURSES_TPARM_ARG
#define TPARM_ARG NCURSES_TPARM_ARG
#else
#define TPARM_ARG long
#endif
#endif /* TPARAM_ARG */
#define TPARM_N(n) (TPARM_ARG)(n)
#define TPARM_9(a,b,c,d,e,f,g,h,i,j) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i),TPARM_N(j))
#if NCURSES_TPARM_VARARGS
#define TPARM_8(a,b,c,d,e,f,g,h,i) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h),TPARM_N(i))
#define TPARM_7(a,b,c,d,e,f,g,h) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e),TPARM_N(f),TPARM_N(g),TPARM_N(h))
#define TPARM_6(a,b,c,d,e,f,g) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e),TPARM_N(f),TPARM_N(g))
#define TPARM_5(a,b,c,d,e,f) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e),TPARM_N(f))
#define TPARM_4(a,b,c,d,e) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d),TPARM_N(e))
#define TPARM_3(a,b,c,d) tparm(a,TPARM_N(b),TPARM_N(c),TPARM_N(d))
#define TPARM_2(a,b,c) tparm(a,TPARM_N(b),TPARM_N(c))
#define TPARM_1(a,b) tparm(a,TPARM_N(b))
#define TPARM_0(a) tparm(a)
#else
#define TPARM_8(a,b,c,d,e,f,g,h,i) TPARM_9(a,b,c,d,e,f,g,h,i,0)
#define TPARM_7(a,b,c,d,e,f,g,h) TPARM_8(a,b,c,d,e,f,g,h,0)
#define TPARM_6(a,b,c,d,e,f,g) TPARM_7(a,b,c,d,e,f,g,0)
#define TPARM_5(a,b,c,d,e,f) TPARM_6(a,b,c,d,e,f,0)
#define TPARM_4(a,b,c,d,e) TPARM_5(a,b,c,d,e,0)
#define TPARM_3(a,b,c,d) TPARM_4(a,b,c,d,0)
#define TPARM_2(a,b,c) TPARM_3(a,b,c,0)
#define TPARM_1(a,b) TPARM_2(a,b,0)
#define TPARM_0(a) TPARM_1(a,0)
#endif
#ifdef NCURSES_INTERNALS
#define TIPARM_1(s,a) _nc_tiparm(1,s,a)
#define TIPARM_2(s,a,b) _nc_tiparm(2,s,a,b)
#define TIPARM_3(s,a,b,c) _nc_tiparm(3,s,a,b,c)
#define TIPARM_4(s,a,b,c,d) _nc_tiparm(4,s,a,b,c,d)
#define TIPARM_5(s,a,b,c,d,e) _nc_tiparm(5,s,a,b,c,d,e)
#define TIPARM_6(s,a,b,c,d,e,f) _nc_tiparm(6,s,a,b,c,d,e,f)
#define TIPARM_7(s,a,b,c,d,e,f,g) _nc_tiparm(7,s,a,b,c,d,e,f,g)
#define TIPARM_8(s,a,b,c,d,e,f,g,h) _nc_tiparm(8,s,a,b,c,d,e,f,g,h)
#define TIPARM_9(s,a,b,c,d,e,f,g,h,i) _nc_tiparm(9,s,a,b,c,d,e,f,g,h,i)
#endif
#endif /* NC_TPARM_included */

View File

@@ -1,183 +0,0 @@
/****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2008-2010,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
/* $Id: nc_win32.h,v 1.9 2020/09/13 00:17:30 tom Exp $ */
#ifndef NC_WIN32_H
#define NC_WIN32_H 1
#if defined(_WIN32) || defined(_WIN64)
#ifndef _NC_WINDOWS
#define _NC_WINDOWS
#endif
#ifdef TERMIOS
#error TERMIOS must not be defined on Windows
#endif
/* We no longer support WindowsXP.
Minimum requirement is Windows Vista or Server2008,
aka Windows NT 6.0
*/
#ifdef WINVER
# if WINVER < 0x0600
# error WINVER must at least be 0x0600
# endif
#else
# define WINVER 0x0600
#endif
#undef _NC_CHECK_MINTTY
#if WINVER >= 0x0600
#define _NC_CHECK_MINTTY
#endif
#include <windows.h>
#if HAVE_SYS_TIME_H
#include <sys/time.h> /* for struct timeval */
#endif
#ifdef _NC_MSC
#include <winsock2.h> /* for struct timeval */
#endif
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses_dll.h>
#undef HAVE_GETTIMEOFDAY
#define HAVE_GETTIMEOFDAY 1
extern NCURSES_EXPORT(int) _nc_gettimeofday(struct timeval *, void *);
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
extern NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
#ifdef EVENTLIST_2nd /* test.priv.h just needs the preceding */
extern NCURSES_EXPORT(void) _nc_console_size(int* Lines, int* Cols);
extern NCURSES_EXPORT(HANDLE) _nc_console_handle(int fd);
extern NCURSES_EXPORT(int) _nc_console_isatty(int fd);
extern NCURSES_EXPORT(int) _nc_console_test(int fd);
extern NCURSES_EXPORT(int) _nc_console_read(SCREEN *sp,HANDLE hdl,int *buf);
extern NCURSES_EXPORT(int) _nc_console_twait(SCREEN *, HANDLE,int,int,int * EVENTLIST_2nd(_nc_eventlist * evl));
extern NCURSES_EXPORT(WORD) _nc_console_MapColor(bool fore, int color);
extern NCURSES_EXPORT(void) _nc_console_selectActiveHandle(void);
extern NCURSES_EXPORT(bool) _nc_console_get_SBI(void);
extern NCURSES_EXPORT(void) _nc_console_set_scrollback(bool normal, CONSOLE_SCREEN_BUFFER_INFO * info);
extern NCURSES_EXPORT(int) _nc_console_testmouse(SCREEN *,HANDLE,int EVENTLIST_2nd(_nc_eventlist*));
extern NCURSES_EXPORT(int) _nc_console_keyok(int keycode,int flag);
extern NCURSES_EXPORT(bool) _nc_console_keyExist(int keycode);
extern NCURSES_EXPORT(bool) _nc_console_checkinit(bool initFlag, bool assumeTermInfo);
extern NCURSES_EXPORT(int) _nc_console_vt_supported(void);
#ifdef _NC_CHECK_MINTTY
extern NCURSES_EXPORT(int) _nc_console_checkmintty(int fd, LPHANDLE pMinTTY);
#endif
#undef VALID_TERM_ENV
#define MS_TERMINAL "ms-terminal"
#define VALID_TERM_ENV(term_env, no_terminal) \
(term_env = (NonEmpty(term_env) \
? term_env \
: (_nc_console_vt_supported() \
? MS_TERMINAL \
: no_terminal)), \
NonEmpty(term_env))
/*
* Various Console mode definitions
*/
/* Flags to enable virtual Terminal processing */
#define VT_FLAG_OUT ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define VT_FLAG_IN ENABLE_VIRTUAL_TERMINAL_INPUT
/* Default flags for input/output modes */
#define CONMODE_IN_DEFAULT (ENABLE_LINE_INPUT | ENABLE_PROCESSED_INPUT | ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT)
#define CONMODE_OUT_DEFAULT (ENABLE_PROCESSED_OUTPUT | DISABLE_NEWLINE_AUTO_RETURN | ENABLE_LVB_GRID_WORLDWIDE)
/* Flags to reset from RAW/CBREAK */
#define CONMODE_NORAW (ENABLE_PROCESSED_INPUT|ENABLE_LINE_INPUT)
#define CONMODE_NOCBREAK (ENABLE_LINE_INPUT)
#if defined(USE_TERM_DRIVER) && defined(USE_WIN32CON_DRIVER)
extern NCURSES_EXPORT_VAR(TERM_DRIVER) _nc_WIN_DRIVER;
#endif
#define CON_NUMPAIRS 64
typedef struct {
BOOL initialized;
BOOL buffered;
BOOL window_only;
BOOL progMode;
BOOL isMinTTY;
BOOL isTermInfoConsole;
HANDLE out;
HANDLE inp;
HANDLE hdl;
HANDLE lastOut;
int numButtons;
LPDWORD ansi_map;
LPDWORD map;
LPDWORD rmap;
WORD pairs[CON_NUMPAIRS];
COORD origin;
CHAR_INFO *save_screen;
COORD save_size;
SMALL_RECT save_region;
CONSOLE_SCREEN_BUFFER_INFO SBI;
CONSOLE_SCREEN_BUFFER_INFO save_SBI;
CONSOLE_CURSOR_INFO save_CI;
TTY originalMode;
} ConsoleInfo;
extern NCURSES_EXPORT_VAR(ConsoleInfo) _nc_CONSOLE;
#define WINCONSOLE _nc_CONSOLE
#define TypeAlloca(type,count)(type*) _alloca(sizeof(type)*(size_t)(count))
#endif /* EVENTLIST_2nd */
#ifdef __cplusplus
}
#endif
#endif /* _WIN32 || _WIN64 */
#endif /* NC_WIN32_H */

View File

@@ -1,237 +0,0 @@
/* include/ncurses_cfg.h. Generated automatically by configure. */
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 1997-on *
****************************************************************************/
/*
* $Id: ncurses_cfg.hin,v 1.13 2020/03/08 12:37:59 tom Exp $
*
* Both ncurses_cfg.h and ncurses_def.h are internal header-files used when
* building ncurses.
*
* This is a template-file used to generate the "ncurses_cfg.h" file.
*
* Rather than list every definition, the configuration script substitutes the
* definitions that it finds using 'sed'. You need a patch (original date
* 971222) to autoconf 2.12 or 2.13 to do this.
*
* See:
* https://invisible-island.net/autoconf/
* ftp://ftp.invisible-island.net/autoconf/
*/
#ifndef NC_CONFIG_H
#define NC_CONFIG_H
#define PACKAGE "ncurses"
#define NCURSES_VERSION "6.3"
#define NCURSES_PATCHDATE 20211021
#define SYSTEM_NAME "linux-gnu"
#if 0
#include <stdlib.h>
#endif
#define HAVE_LONG_FILE_NAMES 1
#define MIXEDCASE_FILENAMES 1
#define HAVE_GPM_H 1
#define HAVE_LIBDL 1
#define LIBGPM_SONAME "libgpm.so.2"
#define HAVE_LIBGPM 1
#define TERMINFO_DIRS "/usr/share/terminfo"
#define TERMINFO "/usr/share/terminfo"
#define HAVE_BIG_CORE 1
#define PURE_TERMINFO 1
#define USE_HOME_TERMINFO 1
#define USE_ROOT_ENVIRON 1
#define USE_ROOT_ACCESS 1
#define HAVE_UNISTD_H 1
#define HAVE_REMOVE 1
#define HAVE_UNLINK 1
#define HAVE_LINK 1
#define HAVE_SYMLINK 1
#define USE_LINKS 1
#define HAVE_LANGINFO_CODESET 1
#define HAVE_FSEEKO 1
#define RGB_PATH "/usr/lib64/X11/rgb.txt"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define SIZEOF_SIGNED_CHAR 1
#define NCURSES_EXT_FUNCS 1
#define HAVE_ASSUME_DEFAULT_COLORS 1
#define HAVE_CURSES_VERSION 1
#define HAVE_HAS_KEY 1
#define HAVE_RESIZETERM 1
#define HAVE_RESIZE_TERM 1
#define HAVE_TERM_ENTRY_H 1
#define HAVE_USE_DEFAULT_COLORS 1
#define HAVE_USE_EXTENDED_NAMES 1
#define HAVE_USE_SCREEN 1
#define HAVE_USE_WINDOW 1
#define HAVE_WRESIZE 1
#define NCURSES_SP_FUNCS 1
#define HAVE_TPUTS_SP 1
#define NCURSES_EXT_PUTWIN 1
#define NCURSES_NO_PADDING 1
#define USE_SIGWINCH 1
#define HAVE_PTHREADS_H 1
#define HAVE_LIBPTHREADS 1
#define USE_PTHREADS 1
#define USE_REENTRANT 1
#define NCURSES_WRAP_PREFIX "_nc_"
#define USE_ASSUMED_COLOR 1
#define USE_HASHMAP 1
#define GCC_SCANF 1
#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
#define GCC_PRINTF 1
#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
#define GCC_UNUSED __attribute__((unused))
#define GCC_NORETURN __attribute__((noreturn))
#define HAVE_NC_ALLOC_H 1
#define HAVE_GETTIMEOFDAY 1
#define STDC_HEADERS 1
#define HAVE_DIRENT_H 1
#define TIME_WITH_SYS_TIME 1
#define HAVE_REGEX_H_FUNCS 1
#define HAVE_FCNTL_H 1
#define HAVE_GETOPT_H 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
#define HAVE_MATH_H 1
#define HAVE_POLL_H 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_POLL_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TIMES_H 1
#define HAVE_TTYENT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_WCTYPE_H 1
#define HAVE_UNISTD_H 1
#define HAVE_GETOPT_H 1
#define HAVE_GETOPT_HEADER 1
#define DECL_ENVIRON 1
#define HAVE_ENVIRON 1
#define HAVE_PUTENV 1
#define HAVE_SETENV 1
#define HAVE_STRDUP 1
#define HAVE_SYS_TIME_SELECT 1
#define SIG_ATOMIC_T volatile sig_atomic_t
#define HAVE_GETCWD 1
#define HAVE_GETEGID 1
#define HAVE_GETEUID 1
#define HAVE_GETOPT 1
#define HAVE_GETTTYNAM 1
#define HAVE_LOCALECONV 1
#define HAVE_POLL 1
#define HAVE_PUTENV 1
#define HAVE_REMOVE 1
#define HAVE_SELECT 1
#define HAVE_SETBUF 1
#define HAVE_SETBUFFER 1
#define HAVE_SETENV 1
#define HAVE_SETFSUID 1
#define HAVE_SETVBUF 1
#define HAVE_SIGACTION 1
#define HAVE_SNPRINTF 1
#define HAVE_STRDUP 1
#define HAVE_STRSTR 1
#define HAVE_SYSCONF 1
#define HAVE_TCGETPGRP 1
#define HAVE_TIMES 1
#define HAVE_TSEARCH 1
#define HAVE_VSNPRINTF 1
#define HAVE_ISASCII 1
#define HAVE_NANOSLEEP 1
#define HAVE_TERMIO_H 1
#define HAVE_TERMIOS_H 1
#define HAVE_UNISTD_H 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_TCGETATTR 1
#define HAVE_VSSCANF 1
#define HAVE_UNISTD_H 1
#define HAVE_MKSTEMP 1
#define HAVE_SIZECHANGE 1
#define HAVE_WORKING_POLL 1
#define HAVE_VA_COPY 1
#define HAVE_UNISTD_H 1
#define HAVE_FORK 1
#define HAVE_VFORK 1
#define HAVE_WORKING_VFORK 1
#define HAVE_WORKING_FORK 1
#define USE_FOPEN_BIN_R 1
#define USE_OPENPTY_HEADER <pty.h>
#define USE_XTERM_PTY 1
#define HAVE_TYPEINFO 1
#define HAVE_IOSTREAM 1
#define IOSTREAM_NAMESPACE 1
#define SIZEOF_BOOL 1
#define CPP_HAS_STATIC_CAST 1
#define HAVE_SLK_COLOR 1
#define HAVE_PANEL_H 1
#define HAVE_LIBPANEL 1
#define HAVE_MENU_H 1
#define HAVE_LIBMENU 1
#define HAVE_FORM_H 1
#define HAVE_LIBFORM 1
#define NCURSES_PATHSEP ':'
#define NCURSES_VERSION_STRING "6.3.20211021"
#define NCURSES_OSPEED_COMPAT 1
#define HAVE_CURSES_DATA_BOOLNAMES 1
#include <ncurses_def.h>
/* The C compiler may not treat these properly but C++ has to */
#ifdef __cplusplus
#undef const
#undef inline
#endif
/* On HP-UX, the C compiler doesn't grok mbstate_t without
-D_XOPEN_SOURCE=500. However, this causes problems on
IRIX. So, we #define mbstate_t to int in configure.in
only for the C compiler if needed. */
#ifndef __cplusplus
#ifdef NEED_MBSTATE_T_DEF
#define mbstate_t int
#endif
#endif
/*
* vile:cmode
*/
#endif /* NC_CONFIG_H */

View File

@@ -1,74 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Thomas E. Dickey 1997-on *
****************************************************************************/
/*
* $Id: ncurses_cfg.hin,v 1.13 2020/03/08 12:37:59 tom Exp $
*
* Both ncurses_cfg.h and ncurses_def.h are internal header-files used when
* building ncurses.
*
* This is a template-file used to generate the "ncurses_cfg.h" file.
*
* Rather than list every definition, the configuration script substitutes the
* definitions that it finds using 'sed'. You need a patch (original date
* 971222) to autoconf 2.12 or 2.13 to do this.
*
* See:
* https://invisible-island.net/autoconf/
* ftp://ftp.invisible-island.net/autoconf/
*/
#ifndef NC_CONFIG_H
#define NC_CONFIG_H
@DEFS@
#include <ncurses_def.h>
/* The C compiler may not treat these properly but C++ has to */
#ifdef __cplusplus
#undef const
#undef inline
#endif
/* On HP-UX, the C compiler doesn't grok mbstate_t without
-D_XOPEN_SOURCE=500. However, this causes problems on
IRIX. So, we #define mbstate_t to int in configure.in
only for the C compiler if needed. */
#ifndef __cplusplus
#ifdef NEED_MBSTATE_T_DEF
#define mbstate_t int
#endif
#endif
/*
* vile:cmode
*/
#endif /* NC_CONFIG_H */

View File

@@ -1,928 +0,0 @@
/*
* This file is generated by ./MKncurses_def.sh
*/
#ifndef NC_DEFINE_H
#define NC_DEFINE_H 1
#ifndef BROKEN_LINKER
#define BROKEN_LINKER 0
#endif
#ifndef BSD_TPUTS
#define BSD_TPUTS 0
#endif
#ifndef CGETENT_CONST
#define CGETENT_CONST /* nothing */
#endif
#ifndef CPP_HAS_PARAM_INIT
#define CPP_HAS_PARAM_INIT 0
#endif
#ifndef CURSES_ACS_ARRAY
#define CURSES_ACS_ARRAY acs_map
#endif
#ifndef CURSES_WACS_ARRAY
#define CURSES_WACS_ARRAY _nc_wacs
#endif
#ifndef DECL_ERRNO
#define DECL_ERRNO 0
#endif
#ifndef ETIP_NEEDS_MATH_H
#define ETIP_NEEDS_MATH_H 0
#endif
#ifndef GCC_NORETURN
#define GCC_NORETURN /* nothing */
#endif
#ifndef GCC_UNUSED
#define GCC_UNUSED /* nothing */
#endif
#ifndef HAVE_ALLOC_PAIR
#define HAVE_ALLOC_PAIR 0
#endif
#ifndef HAVE_ASSUME_DEFAULT_COLORS
#define HAVE_ASSUME_DEFAULT_COLORS 0
#endif
#ifndef HAVE_BIG_CORE
#define HAVE_BIG_CORE 0
#endif
#ifndef HAVE_BSD_CGETENT
#define HAVE_BSD_CGETENT 0
#endif
#ifndef HAVE_BSD_SIGNAL_H
#define HAVE_BSD_SIGNAL_H 0
#endif
#ifndef HAVE_BSD_STRING_H
#define HAVE_BSD_STRING_H 0
#endif
#ifndef HAVE_BTOWC
#define HAVE_BTOWC 0
#endif
#ifndef HAVE_BUILTIN_H
#define HAVE_BUILTIN_H 0
#endif
#ifndef HAVE_CHGAT
#define HAVE_CHGAT 1
#endif
#ifndef HAVE_COLOR_CONTENT
#define HAVE_COLOR_CONTENT 1
#endif
#ifndef HAVE_COLOR_SET
#define HAVE_COLOR_SET 1
#endif
#ifndef HAVE_CONSISTENT_GETENV
#define HAVE_CONSISTENT_GETENV 0
#endif
#ifndef HAVE_COPYWIN
#define HAVE_COPYWIN 1
#endif
#ifndef HAVE_CURSCR
#define HAVE_CURSCR 1
#endif
#ifndef HAVE_CURSES_DATA_TABSIZE
#define HAVE_CURSES_DATA_TABSIZE 1
#endif
#ifndef HAVE_CURSES_DATA_TTYTYPE
#define HAVE_CURSES_DATA_TTYTYPE 1
#endif
#ifndef HAVE_DELSCREEN
#define HAVE_DELSCREEN 1
#endif
#ifndef HAVE_DERWIN
#define HAVE_DERWIN 1
#endif
#ifndef HAVE_DIRENT_H
#define HAVE_DIRENT_H 0
#endif
#ifndef HAVE_DUPWIN
#define HAVE_DUPWIN 1
#endif
#ifndef HAVE_ERRNO
#define HAVE_ERRNO 0
#endif
#ifndef HAVE_EXIT_CURSES
#define HAVE_EXIT_CURSES 1
#endif
#ifndef HAVE_EXIT_TERMINFO
#define HAVE_EXIT_TERMINFO 1
#endif
#ifndef HAVE_FCNTL_H
#define HAVE_FCNTL_H 0
#endif
#ifndef HAVE_FILTER
#define HAVE_FILTER 1
#endif
#ifndef HAVE_FORM_H
#define HAVE_FORM_H 0
#endif
#ifndef HAVE_GETBEGX
#define HAVE_GETBEGX 1
#endif
#ifndef HAVE_GETCURX
#define HAVE_GETCURX 1
#endif
#ifndef HAVE_GETCWD
#define HAVE_GETCWD 0
#endif
#ifndef HAVE_GETEGID
#define HAVE_GETEGID 0
#endif
#ifndef HAVE_GETEUID
#define HAVE_GETEUID 0
#endif
#ifndef HAVE_GETMAXX
#define HAVE_GETMAXX 1
#endif
#ifndef HAVE_GETNSTR
#define HAVE_GETNSTR 0
#endif
#ifndef HAVE_GETOPT_H
#define HAVE_GETOPT_H 0
#endif
#ifndef HAVE_GETPARX
#define HAVE_GETPARX 1
#endif
#ifndef HAVE_GETTIMEOFDAY
#define HAVE_GETTIMEOFDAY 0
#endif
#ifndef HAVE_GETTTYNAM
#define HAVE_GETTTYNAM 0
#endif
#ifndef HAVE_GETWIN
#define HAVE_GETWIN 1
#endif
#ifndef HAVE_GPM_H
#define HAVE_GPM_H 0
#endif
#ifndef HAVE_GPP_BUILTIN_H
#define HAVE_GPP_BUILTIN_H 0
#endif
#ifndef HAVE_GXX_BUILTIN_H
#define HAVE_GXX_BUILTIN_H 0
#endif
#ifndef HAVE_HALFDELAY
#define HAVE_HALFDELAY 1
#endif
#ifndef HAVE_HAS_KEY
#define HAVE_HAS_KEY 0
#endif
#ifndef HAVE_INIT_EXTENDED_COLOR
#define HAVE_INIT_EXTENDED_COLOR 0
#endif
#ifndef HAVE_INTTYPES_H
#define HAVE_INTTYPES_H 0
#endif
#ifndef HAVE_IOSTREAM
#define HAVE_IOSTREAM 0
#endif
#ifndef HAVE_ISASCII
#define HAVE_ISASCII 0
#endif
#ifndef HAVE_ISSETUGID
#define HAVE_ISSETUGID 0
#endif
#ifndef HAVE_LANGINFO_CODESET
#define HAVE_LANGINFO_CODESET 0
#endif
#ifndef HAVE_LIBC_H
#define HAVE_LIBC_H 0
#endif
#ifndef HAVE_LIBDBMALLOC
#define HAVE_LIBDBMALLOC 0
#endif
#ifndef HAVE_LIBDMALLOC
#define HAVE_LIBDMALLOC 0
#endif
#ifndef HAVE_LIBFORM
#define HAVE_LIBFORM 0
#endif
#ifndef HAVE_LIBGPM
#define HAVE_LIBGPM 0
#endif
#ifndef HAVE_LIBMENU
#define HAVE_LIBMENU 0
#endif
#ifndef HAVE_LIBMPATROL
#define HAVE_LIBMPATROL 0
#endif
#ifndef HAVE_LIBPANEL
#define HAVE_LIBPANEL 0
#endif
#ifndef HAVE_LIB_PCRE2
#define HAVE_LIB_PCRE2 0
#endif
#ifndef HAVE_LIMITS_H
#define HAVE_LIMITS_H 0
#endif
#ifndef HAVE_LINK
#define HAVE_LINK 0
#endif
#ifndef HAVE_LOCALECONV
#define HAVE_LOCALECONV 0
#endif
#ifndef HAVE_LOCALE_H
#define HAVE_LOCALE_H 0
#endif
#ifndef HAVE_LONG_FILE_NAMES
#define HAVE_LONG_FILE_NAMES 0
#endif
#ifndef HAVE_MATH_H
#define HAVE_MATH_H 0
#endif
#ifndef HAVE_MBLEN
#define HAVE_MBLEN 0
#endif
#ifndef HAVE_MBRLEN
#define HAVE_MBRLEN 0
#endif
#ifndef HAVE_MBRTOWC
#define HAVE_MBRTOWC 0
#endif
#ifndef HAVE_MBSRTOWCS
#define HAVE_MBSRTOWCS 0
#endif
#ifndef HAVE_MBSTOWCS
#define HAVE_MBSTOWCS 0
#endif
#ifndef HAVE_MBTOWC
#define HAVE_MBTOWC 0
#endif
#ifndef HAVE_MENU_H
#define HAVE_MENU_H 0
#endif
#ifndef HAVE_MKSTEMP
#define HAVE_MKSTEMP 0
#endif
#ifndef HAVE_MVDERWIN
#define HAVE_MVDERWIN 1
#endif
#ifndef HAVE_MVVLINE
#define HAVE_MVVLINE 1
#endif
#ifndef HAVE_MVWIN
#define HAVE_MVWIN 1
#endif
#ifndef HAVE_MVWVLINE
#define HAVE_MVWVLINE 1
#endif
#ifndef HAVE_NANOSLEEP
#define HAVE_NANOSLEEP 0
#endif
#ifndef HAVE_NC_ALLOC_H
#define HAVE_NC_ALLOC_H 0
#endif
#ifndef HAVE_NEWPAD
#define HAVE_NEWPAD 1
#endif
#ifndef HAVE_PANEL_H
#define HAVE_PANEL_H 0
#endif
#ifndef HAVE_PCRE2POSIX_H
#define HAVE_PCRE2POSIX_H 0
#endif
#ifndef HAVE_PCREPOSIX_H
#define HAVE_PCREPOSIX_H 0
#endif
#ifndef HAVE_POLL
#define HAVE_POLL 0
#endif
#ifndef HAVE_POLL_H
#define HAVE_POLL_H 0
#endif
#ifndef HAVE_PURIFY
#define HAVE_PURIFY 0
#endif
#ifndef HAVE_PUTENV
#define HAVE_PUTENV 0
#endif
#ifndef HAVE_PUTWC
#define HAVE_PUTWC 0
#endif
#ifndef HAVE_PUTWIN
#define HAVE_PUTWIN 1
#endif
#ifndef HAVE_REGEXPR_H_FUNCS
#define HAVE_REGEXPR_H_FUNCS 0
#endif
#ifndef HAVE_REGEXP_H_FUNCS
#define HAVE_REGEXP_H_FUNCS 0
#endif
#ifndef HAVE_REGEX_H_FUNCS
#define HAVE_REGEX_H_FUNCS 0
#endif
#ifndef HAVE_REMOVE
#define HAVE_REMOVE 0
#endif
#ifndef HAVE_RESET_COLOR_PAIRS
#define HAVE_RESET_COLOR_PAIRS 0
#endif
#ifndef HAVE_RESIZETERM
#define HAVE_RESIZETERM 0
#endif
#ifndef HAVE_RESIZE_TERM
#define HAVE_RESIZE_TERM 0
#endif
#ifndef HAVE_RESTARTTERM
#define HAVE_RESTARTTERM 1
#endif
#ifndef HAVE_RIPOFFLINE
#define HAVE_RIPOFFLINE 1
#endif
#ifndef HAVE_SCR_DUMP
#define HAVE_SCR_DUMP 1
#endif
#ifndef HAVE_SELECT
#define HAVE_SELECT 0
#endif
#ifndef HAVE_SETBUF
#define HAVE_SETBUF 0
#endif
#ifndef HAVE_SETBUFFER
#define HAVE_SETBUFFER 0
#endif
#ifndef HAVE_SETFSUID
#define HAVE_SETFSUID 0
#endif
#ifndef HAVE_SETENV
#define HAVE_SETENV 0
#endif
#ifndef HAVE_SETUPTERM
#define HAVE_SETUPTERM 1
#endif
#ifndef HAVE_SETVBUF
#define HAVE_SETVBUF 0
#endif
#ifndef HAVE_SGTTY_H
#define HAVE_SGTTY_H 0
#endif
#ifndef HAVE_SIGACTION
#define HAVE_SIGACTION 0
#endif
#ifndef HAVE_SIGVEC
#define HAVE_SIGVEC 0
#endif
#ifndef HAVE_SIZECHANGE
#define HAVE_SIZECHANGE 0
#endif
#ifndef HAVE_SLK_COLOR
#define HAVE_SLK_COLOR 0
#endif
#ifndef HAVE_SLK_INIT
#define HAVE_SLK_INIT 1
#endif
#ifndef HAVE_SNPRINTF
#define HAVE_SNPRINTF 0
#endif
#ifndef HAVE_STDINT_H
#define HAVE_STDINT_H 0
#endif
#ifndef HAVE_STRDUP
#define HAVE_STRDUP 0
#endif
#ifndef HAVE_STRLCAT
#define HAVE_STRLCAT 0
#endif
#ifndef HAVE_STRLCPY
#define HAVE_STRLCPY 0
#endif
#ifndef HAVE_STRSTR
#define HAVE_STRSTR 0
#endif
#ifndef HAVE_SYMLINK
#define HAVE_SYMLINK 0
#endif
#ifndef HAVE_SYSCONF
#define HAVE_SYSCONF 0
#endif
#ifndef HAVE_SYS_BSDTYPES_H
#define HAVE_SYS_BSDTYPES_H 0
#endif
#ifndef HAVE_SYS_IOCTL_H
#define HAVE_SYS_IOCTL_H 0
#endif
#ifndef HAVE_SYS_PARAM_H
#define HAVE_SYS_PARAM_H 0
#endif
#ifndef HAVE_SYS_POLL_H
#define HAVE_SYS_POLL_H 0
#endif
#ifndef HAVE_SYS_SELECT_H
#define HAVE_SYS_SELECT_H 0
#endif
#ifndef HAVE_SYS_TERMIO_H
#define HAVE_SYS_TERMIO_H 0
#endif
#ifndef HAVE_SYS_TIMES_H
#define HAVE_SYS_TIMES_H 0
#endif
#ifndef HAVE_SYS_TIME_H
#define HAVE_SYS_TIME_H 0
#endif
#ifndef HAVE_SYS_TIME_SELECT
#define HAVE_SYS_TIME_SELECT 0
#endif
#ifndef HAVE_TCGETATTR
#define HAVE_TCGETATTR 0
#endif
#ifndef HAVE_TCGETPGRP
#define HAVE_TCGETPGRP 0
#endif
#ifndef HAVE_TELL
#define HAVE_TELL 0
#endif
#ifndef HAVE_TERMATTRS
#define HAVE_TERMATTRS 1
#endif
#ifndef HAVE_TERMCAP_H
#define HAVE_TERMCAP_H 1
#endif
#ifndef HAVE_TERMIOS_H
#define HAVE_TERMIOS_H 0
#endif
#ifndef HAVE_TERMIO_H
#define HAVE_TERMIO_H 0
#endif
#ifndef HAVE_TERMNAME
#define HAVE_TERMNAME 1
#endif
#ifndef HAVE_TERM_ENTRY_H
#define HAVE_TERM_ENTRY_H 1
#endif
#ifndef HAVE_TERM_H
#define HAVE_TERM_H 1
#endif
#ifndef HAVE_TGETENT
#define HAVE_TGETENT 1
#endif
#ifndef HAVE_TIGETNUM
#define HAVE_TIGETNUM 1
#endif
#ifndef HAVE_TIGETSTR
#define HAVE_TIGETSTR 1
#endif
#ifndef HAVE_TIMES
#define HAVE_TIMES 0
#endif
#ifndef HAVE_TPUTS_SP
#define HAVE_TPUTS_SP 0
#endif
#ifndef HAVE_TSEARCH
#define HAVE_TSEARCH 0
#endif
#ifndef HAVE_TTYENT_H
#define HAVE_TTYENT_H 0
#endif
#ifndef HAVE_TYPEAHEAD
#define HAVE_TYPEAHEAD 1
#endif
#ifndef HAVE_TYPEINFO
#define HAVE_TYPEINFO 0
#endif
#ifndef HAVE_TYPE_ATTR_T
#define HAVE_TYPE_ATTR_T 0
#endif
#ifndef HAVE_TYPE_SIGACTION
#define HAVE_TYPE_SIGACTION 0
#endif
#ifndef HAVE_UNCTRL_H
#define HAVE_UNCTRL_H 1
#endif
#ifndef HAVE_UNISTD_H
#define HAVE_UNISTD_H 0
#endif
#ifndef HAVE_UNLINK
#define HAVE_UNLINK 0
#endif
#ifndef HAVE_USE_DEFAULT_COLORS
#define HAVE_USE_DEFAULT_COLORS 0
#endif
#ifndef HAVE_USE_ENV
#define HAVE_USE_ENV 1
#endif
#ifndef HAVE_USE_EXTENDED_NAMES
#define HAVE_USE_EXTENDED_NAMES 0
#endif
#ifndef HAVE_USE_SCREEN
#define HAVE_USE_SCREEN 0
#endif
#ifndef HAVE_USE_WINDOW
#define HAVE_USE_WINDOW 0
#endif
#ifndef HAVE_VFSCANF
#define HAVE_VFSCANF 0
#endif
#ifndef HAVE_VIDPUTS
#define HAVE_VIDPUTS 1
#endif
#ifndef HAVE_VID_PUTS
#define HAVE_VID_PUTS 1
#endif
#ifndef HAVE_VSNPRINTF
#define HAVE_VSNPRINTF 0
#endif
#ifndef HAVE_VSSCANF
#define HAVE_VSSCANF 0
#endif
#ifndef HAVE_VW_PRINTW
#define HAVE_VW_PRINTW 1
#endif
#ifndef HAVE_WCHGAT
#define HAVE_WCHGAT 1
#endif
#ifndef HAVE_WCSRTOMBS
#define HAVE_WCSRTOMBS 0
#endif
#ifndef HAVE_WCSTOMBS
#define HAVE_WCSTOMBS 0
#endif
#ifndef HAVE_WCTOB
#define HAVE_WCTOB 0
#endif
#ifndef HAVE_WCTOMB
#define HAVE_WCTOMB 0
#endif
#ifndef HAVE_WCTYPE_H
#define HAVE_WCTYPE_H 0
#endif
#ifndef HAVE_WINSDELLN
#define HAVE_WINSDELLN 1
#endif
#ifndef HAVE_WINSSTR
#define HAVE_WINSSTR 1
#endif
#ifndef HAVE_WORKING_POLL
#define HAVE_WORKING_POLL 0
#endif
#ifndef HAVE_WRESIZE
#define HAVE_WRESIZE 0
#endif
#ifndef HAVE_WSYNCDOWN
#define HAVE_WSYNCDOWN 1
#endif
#ifndef HAVE__DOSCAN
#define HAVE__DOSCAN 0
#endif
#ifndef HAVE__TRACEF
#define HAVE__TRACEF 0
#endif
#ifndef MIXEDCASE_FILENAMES
#define MIXEDCASE_FILENAMES 0
#endif
#ifndef NCURSES_CHAR_EQ
#define NCURSES_CHAR_EQ 0
#endif
#ifndef NCURSES_EXPANDED
#define NCURSES_EXPANDED 0
#endif
#ifndef NCURSES_EXT_COLORS
#define NCURSES_EXT_COLORS 0
#endif
#ifndef NCURSES_EXT_FUNCS
#define NCURSES_EXT_FUNCS 0
#endif
#ifndef NCURSES_EXT_PUTWIN
#define NCURSES_EXT_PUTWIN 0
#endif
#ifndef NCURSES_NO_PADDING
#define NCURSES_NO_PADDING 0
#endif
#ifndef NCURSES_OSPEED_COMPAT
#define NCURSES_OSPEED_COMPAT 0
#endif
#ifndef NCURSES_PATHSEP
#define NCURSES_PATHSEP ':'
#endif
#ifndef NCURSES_WIDECHAR
#define NCURSES_WIDECHAR 0
#endif
#ifndef NEED_PTEM_H
#define NEED_PTEM_H 0
#endif
#ifndef NO_LEAKS
#define NO_LEAKS 0
#endif
#ifndef PURE_TERMINFO
#define PURE_TERMINFO 0
#endif
#ifndef STDC_HEADERS
#define STDC_HEADERS 0
#endif
#ifndef SVR4_ACTION
#define SVR4_ACTION 0
#endif
#ifndef SVR4_TERMIO
#define SVR4_TERMIO 0
#endif
#ifndef SYSTEM_NAME
#define SYSTEM_NAME "unknown"
#endif
#ifndef TERMINFO
#define TERMINFO "none"
#endif
#ifndef TERMPATH
#define TERMPATH "none"
#endif
#ifndef TIME_WITH_SYS_TIME
#define TIME_WITH_SYS_TIME 0
#endif
#ifndef TYPEOF_CHTYPE
#define TYPEOF_CHTYPE 0
#endif
#ifndef USE_COLORFGBG
#define USE_COLORFGBG 0
#endif
#ifndef USE_FOPEN_BIN_R
#define USE_FOPEN_BIN_R 0
#endif
#ifndef USE_GETCAP
#define USE_GETCAP 0
#endif
#ifndef USE_GETCAP_CACHE
#define USE_GETCAP_CACHE 0
#endif
#ifndef USE_HARD_TABS
#define USE_HARD_TABS 0
#endif
#ifndef USE_HASHED_DB
#define USE_HASHED_DB 0
#endif
#ifndef USE_HASHMAP
#define USE_HASHMAP 0
#endif
#ifndef USE_HOME_TERMINFO
#define USE_HOME_TERMINFO 0
#endif
#ifndef USE_LINKS
#define USE_LINKS 0
#endif
#ifndef USE_MY_MEMMOVE
#define USE_MY_MEMMOVE 0
#endif
#ifndef USE_OK_BCOPY
#define USE_OK_BCOPY 0
#endif
#ifndef USE_PTHREADS_EINTR
#define USE_PTHREADS_EINTR 0
#endif
#ifndef USE_RCS_IDS
#define USE_RCS_IDS 0
#endif
#ifndef USE_REENTRANT
#define USE_REENTRANT 0
#endif
#ifndef USE_SAFE_SPRINTF
#define USE_SAFE_SPRINTF 0
#endif
#ifndef USE_SCROLL_HINTS
#define USE_SCROLL_HINTS 0
#endif
#ifndef USE_SIGWINCH
#define USE_SIGWINCH 0
#endif
#ifndef USE_STRING_HACKS
#define USE_STRING_HACKS 0
#endif
#ifndef USE_SYMLINKS
#define USE_SYMLINKS 0
#endif
#ifndef USE_SYSMOUSE
#define USE_SYSMOUSE 0
#endif
#ifndef USE_WEAK_SYMBOLS
#define USE_WEAK_SYMBOLS 0
#endif
#ifndef USE_WIDEC_SUPPORT
#define USE_WIDEC_SUPPORT 0
#endif
#ifndef USE_XMC_SUPPORT
#define USE_XMC_SUPPORT 0
#endif
#endif /* NC_DEFINE_H */

View File

@@ -1,264 +0,0 @@
# $Id: ncurses_defs,v 1.97 2021/06/26 18:56:32 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 2000-2016,2017 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 "Software"), #
# to deal in the Software without restriction, including without limitation #
# the rights to use, copy, modify, merge, publish, distribute, distribute #
# with modifications, sublicense, and/or sell copies of the Software, and to #
# permit persons to whom the Software is furnished to do so, subject to the #
# following conditions: #
# #
# The above copyright notice and this permission notice shall be included in #
# all copies or substantial portions of the Software. #
# #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL #
# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER #
# DEALINGS IN THE SOFTWARE. #
# #
# Except as contained in this notice, the name(s) of the above copyright #
# holders shall not be used in advertising or otherwise to promote the sale, #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
#
# See "MKncurses_def.sh" for an explanation.
#
# (hint: don't try to define NDEBUG ;-)
BROKEN_LINKER
BSD_TPUTS
CGETENT_CONST /* nothing */
CPP_HAS_PARAM_INIT
CURSES_ACS_ARRAY acs_map
CURSES_WACS_ARRAY _nc_wacs
DECL_ERRNO
ETIP_NEEDS_MATH_H
GCC_NORETURN /* nothing */
GCC_UNUSED /* nothing */
HAVE_ALLOC_PAIR
HAVE_ASSUME_DEFAULT_COLORS
HAVE_BIG_CORE
HAVE_BSD_CGETENT
HAVE_BSD_SIGNAL_H
HAVE_BSD_STRING_H
HAVE_BTOWC
HAVE_BUILTIN_H
HAVE_CHGAT 1
HAVE_COLOR_CONTENT 1
HAVE_COLOR_SET 1
HAVE_CONSISTENT_GETENV
HAVE_COPYWIN 1
HAVE_CURSCR 1
HAVE_CURSES_DATA_TABSIZE 1
HAVE_CURSES_DATA_TTYTYPE 1
HAVE_DELSCREEN 1
HAVE_DERWIN 1
HAVE_DIRENT_H
HAVE_DUPWIN 1
HAVE_ERRNO
HAVE_EXIT_CURSES 1
HAVE_EXIT_TERMINFO 1
HAVE_FCNTL_H
HAVE_FILTER 1
HAVE_FORM_H
HAVE_GETBEGX 1
HAVE_GETCURX 1
HAVE_GETCWD
HAVE_GETEGID
HAVE_GETEUID
HAVE_GETMAXX 1
HAVE_GETNSTR
HAVE_GETOPT_H
HAVE_GETPARX 1
HAVE_GETTIMEOFDAY
HAVE_GETTTYNAM
HAVE_GETWIN 1
HAVE_GPM_H
HAVE_GPP_BUILTIN_H
HAVE_GXX_BUILTIN_H
HAVE_HALFDELAY 1
HAVE_HAS_KEY
HAVE_INIT_EXTENDED_COLOR
HAVE_INTTYPES_H
HAVE_IOSTREAM
HAVE_ISASCII
HAVE_ISSETUGID
HAVE_LANGINFO_CODESET
HAVE_LIBC_H
HAVE_LIBDBMALLOC
HAVE_LIBDMALLOC
HAVE_LIBFORM
HAVE_LIBGPM
HAVE_LIBMENU
HAVE_LIBMPATROL
HAVE_LIBPANEL
HAVE_LIB_PCRE2
HAVE_LIMITS_H
HAVE_LINK
HAVE_LOCALECONV
HAVE_LOCALE_H
HAVE_LONG_FILE_NAMES
HAVE_MATH_H
HAVE_MBLEN
HAVE_MBRLEN
HAVE_MBRTOWC
HAVE_MBSRTOWCS
HAVE_MBSTOWCS
HAVE_MBTOWC
HAVE_MENU_H
HAVE_MKSTEMP
HAVE_MVDERWIN 1
HAVE_MVVLINE 1
HAVE_MVWIN 1
HAVE_MVWVLINE 1
HAVE_NANOSLEEP
HAVE_NC_ALLOC_H
HAVE_NEWPAD 1
HAVE_PANEL_H
HAVE_PCRE2POSIX_H
HAVE_PCREPOSIX_H
HAVE_POLL
HAVE_POLL_H
HAVE_PURIFY
HAVE_PUTENV
HAVE_PUTWC
HAVE_PUTWIN 1
HAVE_REGEXPR_H_FUNCS
HAVE_REGEXP_H_FUNCS
HAVE_REGEX_H_FUNCS
HAVE_REMOVE
HAVE_RESET_COLOR_PAIRS
HAVE_RESIZETERM
HAVE_RESIZE_TERM
HAVE_RESTARTTERM 1
HAVE_RIPOFFLINE 1
HAVE_SCR_DUMP 1
HAVE_SELECT
HAVE_SETBUF
HAVE_SETBUFFER
HAVE_SETFSUID
HAVE_SETENV
HAVE_SETUPTERM 1
HAVE_SETVBUF
HAVE_SGTTY_H
HAVE_SIGACTION
HAVE_SIGVEC
HAVE_SIZECHANGE
HAVE_SLK_COLOR
HAVE_SLK_INIT 1
HAVE_SNPRINTF
HAVE_STDINT_H
HAVE_STRDUP
HAVE_STRLCAT
HAVE_STRLCPY
HAVE_STRSTR
HAVE_SYMLINK
HAVE_SYSCONF
HAVE_SYS_BSDTYPES_H
HAVE_SYS_IOCTL_H
HAVE_SYS_PARAM_H
HAVE_SYS_POLL_H
HAVE_SYS_SELECT_H
HAVE_SYS_TERMIO_H
HAVE_SYS_TIMES_H
HAVE_SYS_TIME_H
HAVE_SYS_TIME_SELECT
HAVE_TCGETATTR
HAVE_TCGETPGRP
HAVE_TELL
HAVE_TERMATTRS 1
HAVE_TERMCAP_H 1
HAVE_TERMIOS_H
HAVE_TERMIO_H
HAVE_TERMNAME 1
HAVE_TERM_ENTRY_H 1
HAVE_TERM_H 1
HAVE_TGETENT 1
HAVE_TIGETNUM 1
HAVE_TIGETSTR 1
HAVE_TIMES
HAVE_TPUTS_SP
HAVE_TSEARCH
HAVE_TTYENT_H
HAVE_TYPEAHEAD 1
HAVE_TYPEINFO
HAVE_TYPE_ATTR_T
HAVE_TYPE_SIGACTION
HAVE_UNCTRL_H 1
HAVE_UNISTD_H
HAVE_UNLINK
HAVE_USE_DEFAULT_COLORS
HAVE_USE_ENV 1
HAVE_USE_EXTENDED_NAMES
HAVE_USE_SCREEN
HAVE_USE_WINDOW
HAVE_VFSCANF
HAVE_VIDPUTS 1
HAVE_VID_PUTS 1
HAVE_VSNPRINTF
HAVE_VSSCANF
HAVE_VW_PRINTW 1
HAVE_WCHGAT 1
HAVE_WCSRTOMBS
HAVE_WCSTOMBS
HAVE_WCTOB
HAVE_WCTOMB
HAVE_WCTYPE_H
HAVE_WINSDELLN 1
HAVE_WINSSTR 1
HAVE_WORKING_POLL
HAVE_WRESIZE
HAVE_WSYNCDOWN 1
HAVE__DOSCAN
HAVE__TRACEF
MIXEDCASE_FILENAMES
NCURSES_CHAR_EQ
NCURSES_EXPANDED
NCURSES_EXT_COLORS
NCURSES_EXT_FUNCS
NCURSES_EXT_PUTWIN
NCURSES_NO_PADDING
NCURSES_OSPEED_COMPAT
NCURSES_PATHSEP ':'
NCURSES_WIDECHAR
NEED_PTEM_H
NO_LEAKS
PURE_TERMINFO
STDC_HEADERS
SVR4_ACTION
SVR4_TERMIO
SYSTEM_NAME "unknown"
TERMINFO "none"
TERMPATH "none"
TIME_WITH_SYS_TIME
TYPEOF_CHTYPE
USE_COLORFGBG
USE_FOPEN_BIN_R
USE_GETCAP
USE_GETCAP_CACHE
USE_HARD_TABS
USE_HASHED_DB
USE_HASHMAP
USE_HOME_TERMINFO
USE_LINKS
USE_MY_MEMMOVE
USE_OK_BCOPY
USE_PTHREADS_EINTR
USE_RCS_IDS
USE_REENTRANT
USE_SAFE_SPRINTF
USE_SCROLL_HINTS
USE_SIGWINCH
USE_STRING_HACKS
USE_SYMLINKS
USE_SYSMOUSE
USE_WEAK_SYMBOLS
USE_WIDEC_SUPPORT
USE_XMC_SUPPORT

View File

@@ -1,99 +0,0 @@
/****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2009,2014 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/* $Id: ncurses_dll.h.in,v 1.17 2020/09/05 17:58:47 juergen Exp $ */
#ifndef NCURSES_DLL_H_incl
#define NCURSES_DLL_H_incl 1
/*
* MinGW gcc (unlike MSYS2 and Cygwin) should define _WIN32 and possibly _WIN64.
*/
#if defined(__MINGW64__)
#ifndef _WIN64
#define _WIN64 1
#endif
#elif defined(__MINGW32__)
#ifndef _WIN32
#define _WIN32 1
#endif
/* 2014-08-02 workaround for broken MinGW compiler.
* Oddly, only TRACE is mapped to trace - the other -D's are okay.
* suggest TDM as an alternative.
*/
#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
#ifdef trace
#undef trace
#define TRACE
#endif
#endif /* broken compiler */
#endif /* MingW */
/*
* For reentrant code, we map the various global variables into SCREEN by
* using functions to access them.
*/
#define NCURSES_PUBLIC_VAR(name) _nc_##name
#if defined(BUILDING_NCURSES)
# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
#else
# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
#endif
#define NCURSES_WRAPPED_VAR(type,name) extern NCURSES_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
#define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
#define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
/*
* These symbols hide dllimport/dllexport, for compilers which care about it.
*/
#if defined(__CYGWIN__) || (defined(_WIN32) || defined(_WIN64))
# if defined(NCURSES_STATIC) /* "static" here only implies "not-a-DLL" */
# define NCURSES_EXPORT_GENERAL_IMPORT
# define NCURSES_EXPORT_GENERAL_EXPORT
# else
# define NCURSES_EXPORT_GENERAL_IMPORT __declspec(dllimport)
# define NCURSES_EXPORT_GENERAL_EXPORT __declspec(dllexport)
# endif
# define NCURSES_API __cdecl
#else
# define NCURSES_EXPORT_GENERAL_IMPORT
# define NCURSES_EXPORT_GENERAL_EXPORT
# define NCURSES_API /* FIXME: __attribute__ ((cdecl)) is only available on x86 */
#endif
#endif /* NCURSES_DLL_H_incl */

View File

@@ -1,99 +0,0 @@
/****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2009,2014 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/* $Id: ncurses_dll.h.in,v 1.17 2020/09/05 17:58:47 juergen Exp $ */
#ifndef NCURSES_DLL_H_incl
#define NCURSES_DLL_H_incl 1
/*
* MinGW gcc (unlike MSYS2 and Cygwin) should define _WIN32 and possibly _WIN64.
*/
#if defined(__MINGW64__)
#ifndef _WIN64
#define _WIN64 1
#endif
#elif defined(__MINGW32__)
#ifndef _WIN32
#define _WIN32 1
#endif
/* 2014-08-02 workaround for broken MinGW compiler.
* Oddly, only TRACE is mapped to trace - the other -D's are okay.
* suggest TDM as an alternative.
*/
#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
#ifdef trace
#undef trace
#define TRACE
#endif
#endif /* broken compiler */
#endif /* MingW */
/*
* For reentrant code, we map the various global variables into SCREEN by
* using functions to access them.
*/
#define NCURSES_PUBLIC_VAR(name) @NCURSES_WRAP_PREFIX@##name
#if defined(BUILDING_NCURSES)
# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
#else
# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
#endif
#define NCURSES_WRAPPED_VAR(type,name) extern NCURSES_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
#define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
#define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
/*
* These symbols hide dllimport/dllexport, for compilers which care about it.
*/
#if defined(__CYGWIN__) || (defined(_WIN32) || defined(_WIN64))
# if defined(NCURSES_STATIC) /* "static" here only implies "not-a-DLL" */
# define NCURSES_EXPORT_GENERAL_IMPORT
# define NCURSES_EXPORT_GENERAL_EXPORT
# else
# define NCURSES_EXPORT_GENERAL_IMPORT __declspec(dllimport)
# define NCURSES_EXPORT_GENERAL_EXPORT __declspec(dllexport)
# endif
# define NCURSES_API __cdecl
#else
# define NCURSES_EXPORT_GENERAL_IMPORT
# define NCURSES_EXPORT_GENERAL_EXPORT
# define NCURSES_API /* FIXME: __attribute__ ((cdecl)) is only available on x86 */
#endif
#endif /* NCURSES_DLL_H_incl */

View File

@@ -1,82 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2008-2014,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
/* $Id: ncurses_mingw.h,v 1.7 2021/06/17 21:26:02 tom Exp $ */
/*
* This is a placeholder up to now and describes what needs to be implemented
* to support I/O to external terminals with ncurses on the Windows OS.
*/
#ifdef _WIN32
#ifndef _NC_MINGWH
#define _NC_MINGWH
#define USE_CONSOLE_DRIVER 1
#undef TERMIOS
#define TERMIOS 1
typedef unsigned char cc_t;
typedef unsigned int tcflag_t;
typedef unsigned int speed_t;
typedef unsigned short otcflag_t;
typedef unsigned char ospeed_t;
#define NCCS 18
struct termios
{
tcflag_t c_iflag;
tcflag_t c_oflag;
tcflag_t c_cflag;
tcflag_t c_lflag;
char c_line;
cc_t c_cc[NCCS];
speed_t c_ispeed;
speed_t c_ospeed;
};
extern NCURSES_EXPORT(int) _nc_mingw_tcsetattr(
int fd,
int optional_actions,
const struct termios* arg);
extern NCURSES_EXPORT(int) _nc_mingw_tcgetattr(
int fd,
struct termios* arg);
extern NCURSES_EXPORT(int) _nc_mingw_tcflush(
int fd,
int queue);
extern NCURSES_EXPORT(void) _nc_set_term_driver(void* term);
#endif /* _NC_MINGWH */
#endif /* _WIN32 */

View File

@@ -1,100 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2009,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Juergen Pfeifer 1996-1999,2008 *
****************************************************************************/
/* $Id: panel.h,v 1.14 2020/07/04 20:38:43 tom Exp $ */
/* panel.h -- interface file for panels library */
#ifndef NCURSES_PANEL_H_incl
#define NCURSES_PANEL_H_incl 1
#include <curses.h>
typedef struct panel
#if !NCURSES_OPAQUE_PANEL
{
WINDOW *win;
struct panel *below;
struct panel *above;
NCURSES_CONST void *user;
}
#endif /* !NCURSES_OPAQUE_PANEL */
PANEL;
#if defined(__cplusplus)
extern "C" {
#endif
#if defined(BUILDING_PANEL)
# define PANEL_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
#else
# define PANEL_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
#endif
#define PANEL_WRAPPED_VAR(type,name) extern PANEL_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
#define PANEL_EXPORT(type) PANEL_IMPEXP type NCURSES_API
#define PANEL_EXPORT_VAR(type) PANEL_IMPEXP type
extern PANEL_EXPORT(WINDOW*) panel_window (const PANEL *);
extern PANEL_EXPORT(void) update_panels (void);
extern PANEL_EXPORT(int) hide_panel (PANEL *);
extern PANEL_EXPORT(int) show_panel (PANEL *);
extern PANEL_EXPORT(int) del_panel (PANEL *);
extern PANEL_EXPORT(int) top_panel (PANEL *);
extern PANEL_EXPORT(int) bottom_panel (PANEL *);
extern PANEL_EXPORT(PANEL*) new_panel (WINDOW *);
extern PANEL_EXPORT(PANEL*) panel_above (const PANEL *);
extern PANEL_EXPORT(PANEL*) panel_below (const PANEL *);
extern PANEL_EXPORT(int) set_panel_userptr (PANEL *, NCURSES_CONST void *);
extern PANEL_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *);
extern PANEL_EXPORT(int) move_panel (PANEL *, int, int);
extern PANEL_EXPORT(int) replace_panel (PANEL *,WINDOW *);
extern PANEL_EXPORT(int) panel_hidden (const PANEL *);
#if NCURSES_SP_FUNCS
extern PANEL_EXPORT(PANEL *) ground_panel(SCREEN *);
extern PANEL_EXPORT(PANEL *) ceiling_panel(SCREEN *);
extern PANEL_EXPORT(void) NCURSES_SP_NAME(update_panels) (SCREEN*);
#endif
#if defined(__cplusplus)
}
#endif
#endif /* NCURSES_PANEL_H_incl */
/* end of panel.h */

View File

@@ -1,429 +0,0 @@
#ifndef PARAMETRIZED_H
#define PARAMETRIZED_H 1
/*
* parametrized.h --- is a termcap capability parametrized?
*
* Note: this file is generated using MKparametrized.sh, do not edit by hand.
* A value of -1 in the table means suppress both pad and % translations.
* A value of 0 in the table means do pad but not % translations.
* A value of 1 in the table means do both pad and % translations.
*/
static short const parametrized[] = {
0, /* cbt */
0, /* bel */
0, /* cr */
1, /* csr */
0, /* tbc */
0, /* clear */
0, /* el */
0, /* ed */
1, /* hpa */
0, /* cmdch */
1, /* cup */
0, /* cud1 */
0, /* home */
0, /* civis */
0, /* cub1 */
1, /* mrcup */
0, /* cnorm */
0, /* cuf1 */
0, /* ll */
0, /* cuu1 */
0, /* cvvis */
0, /* dch1 */
0, /* dl1 */
0, /* dsl */
0, /* hd */
0, /* smacs */
0, /* blink */
0, /* bold */
0, /* smcup */
0, /* smdc */
0, /* dim */
0, /* smir */
0, /* invis */
0, /* prot */
0, /* rev */
0, /* smso */
0, /* smul */
1, /* ech */
0, /* rmacs */
0, /* sgr0 */
0, /* rmcup */
0, /* rmdc */
0, /* rmir */
0, /* rmso */
0, /* rmul */
0, /* flash */
0, /* ff */
0, /* fsl */
0, /* is1 */
0, /* is2 */
0, /* is3 */
0, /* if */
0, /* ich1 */
0, /* il1 */
0, /* ip */
0, /* kbs */
0, /* ktbc */
0, /* kclr */
0, /* kctab */
0, /* kdch1 */
0, /* kdl1 */
0, /* kcud1 */
0, /* krmir */
0, /* kel */
0, /* ked */
0, /* kf0 */
0, /* kf1 */
0, /* kf10 */
0, /* kf2 */
0, /* kf3 */
0, /* kf4 */
0, /* kf5 */
0, /* kf6 */
0, /* kf7 */
0, /* kf8 */
0, /* kf9 */
0, /* khome */
0, /* kich1 */
0, /* kil1 */
0, /* kcub1 */
0, /* kll */
0, /* knp */
0, /* kpp */
0, /* kcuf1 */
0, /* kind */
0, /* kri */
0, /* khts */
0, /* kcuu1 */
0, /* rmkx */
0, /* smkx */
0, /* lf0 */
0, /* lf1 */
0, /* lf10 */
0, /* lf2 */
0, /* lf3 */
0, /* lf4 */
0, /* lf5 */
0, /* lf6 */
0, /* lf7 */
0, /* lf8 */
0, /* lf9 */
0, /* rmm */
0, /* smm */
0, /* nel */
0, /* pad */
1, /* dch */
1, /* dl */
1, /* cud */
1, /* ich */
1, /* indn */
1, /* il */
1, /* cub */
1, /* cuf */
1, /* rin */
1, /* cuu */
1, /* pfkey */
1, /* pfloc */
1, /* pfx */
0, /* mc0 */
0, /* mc4 */
0, /* mc5 */
1, /* rep */
0, /* rs1 */
0, /* rs2 */
0, /* rs3 */
0, /* rf */
0, /* rc */
1, /* vpa */
0, /* sc */
0, /* ind */
0, /* ri */
1, /* sgr */
0, /* hts */
1, /* wind */
0, /* ht */
1, /* tsl */
0, /* uc */
0, /* hu */
0, /* iprog */
0, /* ka1 */
0, /* ka3 */
0, /* kb2 */
0, /* kc1 */
0, /* kc3 */
1, /* mc5p */
0, /* rmp */
-1, /* acsc */
1, /* pln */
0, /* kcbt */
0, /* smxon */
0, /* rmxon */
0, /* smam */
0, /* rmam */
0, /* xonc */
0, /* xoffc */
0, /* enacs */
0, /* smln */
0, /* rmln */
0, /* kbeg */
0, /* kcan */
0, /* kclo */
0, /* kcmd */
0, /* kcpy */
0, /* kcrt */
0, /* kend */
0, /* kent */
0, /* kext */
0, /* kfnd */
0, /* khlp */
0, /* kmrk */
0, /* kmsg */
0, /* kmov */
0, /* knxt */
0, /* kopn */
0, /* kopt */
0, /* kprv */
0, /* kprt */
0, /* krdo */
0, /* kref */
0, /* krfr */
0, /* krpl */
0, /* krst */
0, /* kres */
0, /* ksav */
0, /* kspd */
0, /* kund */
0, /* kBEG */
0, /* kCAN */
0, /* kCMD */
0, /* kCPY */
0, /* kCRT */
0, /* kDC */
0, /* kDL */
0, /* kslt */
0, /* kEND */
0, /* kEOL */
0, /* kEXT */
0, /* kFND */
1, /* kHLP */
1, /* kHOM */
1, /* kIC */
1, /* kLFT */
0, /* kMSG */
0, /* kMOV */
0, /* kNXT */
0, /* kOPT */
0, /* kPRV */
0, /* kPRT */
0, /* kRDO */
0, /* kRPL */
0, /* kRIT */
0, /* kRES */
0, /* kSAV */
0, /* kSPD */
0, /* kUND */
0, /* rfi */
0, /* kf11 */
0, /* kf12 */
0, /* kf13 */
0, /* kf14 */
0, /* kf15 */
0, /* kf16 */
0, /* kf17 */
0, /* kf18 */
0, /* kf19 */
0, /* kf20 */
0, /* kf21 */
0, /* kf22 */
0, /* kf23 */
0, /* kf24 */
0, /* kf25 */
0, /* kf26 */
0, /* kf27 */
0, /* kf28 */
0, /* kf29 */
0, /* kf30 */
0, /* kf31 */
0, /* kf32 */
0, /* kf33 */
0, /* kf34 */
0, /* kf35 */
0, /* kf36 */
0, /* kf37 */
0, /* kf38 */
0, /* kf39 */
0, /* kf40 */
0, /* kf41 */
0, /* kf42 */
0, /* kf43 */
0, /* kf44 */
0, /* kf45 */
0, /* kf46 */
0, /* kf47 */
0, /* kf48 */
0, /* kf49 */
0, /* kf50 */
0, /* kf51 */
0, /* kf52 */
0, /* kf53 */
0, /* kf54 */
0, /* kf55 */
0, /* kf56 */
0, /* kf57 */
0, /* kf58 */
0, /* kf59 */
0, /* kf60 */
0, /* kf61 */
0, /* kf62 */
0, /* kf63 */
0, /* el1 */
0, /* mgc */
0, /* smgl */
0, /* smgr */
-1, /* fln */
1, /* sclk */
0, /* dclk */
0, /* rmclk */
1, /* cwin */
1, /* wingo */
0, /* hup */
1, /* dial */
1, /* qdial */
0, /* tone */
0, /* pulse */
0, /* hook */
0, /* pause */
0, /* wait */
1, /* u0 */
1, /* u1 */
1, /* u2 */
1, /* u3 */
1, /* u4 */
1, /* u5 */
1, /* u6 */
1, /* u7 */
1, /* u8 */
1, /* u9 */
0, /* op */
0, /* oc */
1, /* initc */
1, /* initp */
1, /* scp */
1, /* setf */
1, /* setb */
1, /* cpi */
1, /* lpi */
1, /* chr */
1, /* cvr */
1, /* defc */
0, /* swidm */
0, /* sdrfq */
0, /* sitm */
0, /* slm */
0, /* smicm */
0, /* snlq */
0, /* snrmq */
0, /* sshm */
0, /* ssubm */
0, /* ssupm */
0, /* sum */
0, /* rwidm */
0, /* ritm */
0, /* rlm */
0, /* rmicm */
0, /* rshm */
0, /* rsubm */
0, /* rsupm */
0, /* rum */
0, /* mhpa */
0, /* mcud1 */
0, /* mcub1 */
0, /* mcuf1 */
1, /* mvpa */
0, /* mcuu1 */
0, /* porder */
0, /* mcud */
0, /* mcub */
0, /* mcuf */
0, /* mcuu */
1, /* scs */
0, /* smgb */
1, /* smgbp */
1, /* smglp */
1, /* smgrp */
0, /* smgt */
1, /* smgtp */
0, /* sbim */
1, /* scsd */
0, /* rbim */
1, /* rcsd */
0, /* subcs */
0, /* supcs */
0, /* docr */
0, /* zerom */
1, /* csnm */
0, /* kmous */
0, /* minfo */
0, /* reqmp */
1, /* getm */
1, /* setaf */
1, /* setab */
1, /* pfxl */
0, /* devt */
0, /* csin */
0, /* s0ds */
0, /* s1ds */
0, /* s2ds */
0, /* s3ds */
1, /* smglr */
1, /* smgtb */
1, /* birep */
0, /* binel */
0, /* bicr */
1, /* colornm */
0, /* defbi */
0, /* endbi */
1, /* setcolor */
1, /* slines */
1, /* dispc */
0, /* smpch */
0, /* rmpch */
0, /* smsc */
0, /* rmsc */
0, /* pctrm */
0, /* scesc */
0, /* scesa */
0, /* ehhlm */
0, /* elhlm */
0, /* elohlm */
0, /* erhlm */
0, /* ethlm */
0, /* evhlm */
1, /* sgr1 */
1, /* slength */
0, /* OTi2 */
0, /* OTrs */
0, /* OTnl */
0, /* OTbc */
0, /* OTko */
0, /* OTma */
-1, /* OTG2 */
-1, /* OTG3 */
-1, /* OTG1 */
-1, /* OTG4 */
-1, /* OTGR */
-1, /* OTGL */
-1, /* OTGU */
-1, /* OTGD */
-1, /* OTGH */
-1, /* OTGV */
-1, /* OTGC */
0, /* meml */
0, /* memu */
0, /* box1 */
} /* 414 entries */;
#endif /* PARAMETRIZED_H */

View File

@@ -1,874 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2013,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************/
/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */
/* and: Eric S. Raymond <esr@snark.thyrsus.com> */
/* and: Thomas E. Dickey 1995-on */
/****************************************************************************/
/* $Id: MKterm.h.awk.in,v 1.82 2021/09/24 17:02:46 tom Exp $ */
/*
** term.h -- Definition of struct term
*/
#ifndef NCURSES_TERM_H_incl
#define NCURSES_TERM_H_incl 1
#undef NCURSES_VERSION
#define NCURSES_VERSION "6.3"
#include <ncurses_dll.h>
#ifdef __cplusplus
extern "C" {
#endif
/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H
* definition (based on the system for which this was configured).
*/
#ifndef __NCURSES_H
typedef struct screen SCREEN;
#if 1
#undef NCURSES_SP_FUNCS
#define NCURSES_SP_FUNCS 20211021
#undef NCURSES_SP_NAME
#define NCURSES_SP_NAME(name) name##_sp
/* Define the sp-funcs helper function */
#undef NCURSES_SP_OUTC
#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
#endif
#endif /* __NCURSES_H */
#undef NCURSES_CONST
#define NCURSES_CONST const
#undef NCURSES_SBOOL
#define NCURSES_SBOOL char
#undef NCURSES_USE_DATABASE
#define NCURSES_USE_DATABASE 1
#undef NCURSES_USE_TERMCAP
#define NCURSES_USE_TERMCAP 0
#undef NCURSES_XNAMES
#define NCURSES_XNAMES 1
/* We will use these symbols to hide differences between
* termios/termio/sgttyb interfaces.
*/
#undef TTY
#undef SET_TTY
#undef GET_TTY
/* Assume POSIX termio if we have the header and function */
/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */
#if 1 && 1
#undef TERMIOS
#define TERMIOS 1
#include <termios.h>
#define TTY struct termios
#else /* !HAVE_TERMIOS_H */
/* #if HAVE_TERMIO_H */
#if 1
#undef TERMIOS
#define TERMIOS 1
#include <termio.h>
#define TTY struct termio
#else /* !HAVE_TERMIO_H */
#if (defined(_WIN32) || defined(_WIN64))
#if 0
#include <win32_curses.h>
#define TTY struct winconmode
#else
#include <ncurses_mingw.h>
#define TTY struct termios
#endif
#else
#undef TERMIOS
#include <sgtty.h>
#include <sys/ioctl.h>
#define TTY struct sgttyb
#endif /* MINGW32 */
#endif /* HAVE_TERMIO_H */
#endif /* HAVE_TERMIOS_H */
#ifdef TERMIOS
#define GET_TTY(fd, buf) tcgetattr(fd, buf)
#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)
#elif 0 && (defined(_WIN32) || defined(_WIN64))
#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)
#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)
#else
#define GET_TTY(fd, buf) gtty(fd, buf)
#define SET_TTY(fd, buf) stty(fd, buf)
#endif
#ifndef GCC_NORETURN
#define GCC_NORETURN /* nothing */
#endif
#define NAMESIZE 256
/* The cast works because TERMTYPE is the first data in TERMINAL */
#define CUR ((TERMTYPE *)(cur_term))->
#define auto_left_margin CUR Booleans[0]
#define auto_right_margin CUR Booleans[1]
#define no_esc_ctlc CUR Booleans[2]
#define ceol_standout_glitch CUR Booleans[3]
#define eat_newline_glitch CUR Booleans[4]
#define erase_overstrike CUR Booleans[5]
#define generic_type CUR Booleans[6]
#define hard_copy CUR Booleans[7]
#define has_meta_key CUR Booleans[8]
#define has_status_line CUR Booleans[9]
#define insert_null_glitch CUR Booleans[10]
#define memory_above CUR Booleans[11]
#define memory_below CUR Booleans[12]
#define move_insert_mode CUR Booleans[13]
#define move_standout_mode CUR Booleans[14]
#define over_strike CUR Booleans[15]
#define status_line_esc_ok CUR Booleans[16]
#define dest_tabs_magic_smso CUR Booleans[17]
#define tilde_glitch CUR Booleans[18]
#define transparent_underline CUR Booleans[19]
#define xon_xoff CUR Booleans[20]
#define needs_xon_xoff CUR Booleans[21]
#define prtr_silent CUR Booleans[22]
#define hard_cursor CUR Booleans[23]
#define non_rev_rmcup CUR Booleans[24]
#define no_pad_char CUR Booleans[25]
#define non_dest_scroll_region CUR Booleans[26]
#define can_change CUR Booleans[27]
#define back_color_erase CUR Booleans[28]
#define hue_lightness_saturation CUR Booleans[29]
#define col_addr_glitch CUR Booleans[30]
#define cr_cancels_micro_mode CUR Booleans[31]
#define has_print_wheel CUR Booleans[32]
#define row_addr_glitch CUR Booleans[33]
#define semi_auto_right_margin CUR Booleans[34]
#define cpi_changes_res CUR Booleans[35]
#define lpi_changes_res CUR Booleans[36]
#define columns CUR Numbers[0]
#define init_tabs CUR Numbers[1]
#define lines CUR Numbers[2]
#define lines_of_memory CUR Numbers[3]
#define magic_cookie_glitch CUR Numbers[4]
#define padding_baud_rate CUR Numbers[5]
#define virtual_terminal CUR Numbers[6]
#define width_status_line CUR Numbers[7]
#define num_labels CUR Numbers[8]
#define label_height CUR Numbers[9]
#define label_width CUR Numbers[10]
#define max_attributes CUR Numbers[11]
#define maximum_windows CUR Numbers[12]
#define max_colors CUR Numbers[13]
#define max_pairs CUR Numbers[14]
#define no_color_video CUR Numbers[15]
#define buffer_capacity CUR Numbers[16]
#define dot_vert_spacing CUR Numbers[17]
#define dot_horz_spacing CUR Numbers[18]
#define max_micro_address CUR Numbers[19]
#define max_micro_jump CUR Numbers[20]
#define micro_col_size CUR Numbers[21]
#define micro_line_size CUR Numbers[22]
#define number_of_pins CUR Numbers[23]
#define output_res_char CUR Numbers[24]
#define output_res_line CUR Numbers[25]
#define output_res_horz_inch CUR Numbers[26]
#define output_res_vert_inch CUR Numbers[27]
#define print_rate CUR Numbers[28]
#define wide_char_size CUR Numbers[29]
#define buttons CUR Numbers[30]
#define bit_image_entwining CUR Numbers[31]
#define bit_image_type CUR Numbers[32]
#define back_tab CUR Strings[0]
#define bell CUR Strings[1]
#define carriage_return CUR Strings[2]
#define change_scroll_region CUR Strings[3]
#define clear_all_tabs CUR Strings[4]
#define clear_screen CUR Strings[5]
#define clr_eol CUR Strings[6]
#define clr_eos CUR Strings[7]
#define column_address CUR Strings[8]
#define command_character CUR Strings[9]
#define cursor_address CUR Strings[10]
#define cursor_down CUR Strings[11]
#define cursor_home CUR Strings[12]
#define cursor_invisible CUR Strings[13]
#define cursor_left CUR Strings[14]
#define cursor_mem_address CUR Strings[15]
#define cursor_normal CUR Strings[16]
#define cursor_right CUR Strings[17]
#define cursor_to_ll CUR Strings[18]
#define cursor_up CUR Strings[19]
#define cursor_visible CUR Strings[20]
#define delete_character CUR Strings[21]
#define delete_line CUR Strings[22]
#define dis_status_line CUR Strings[23]
#define down_half_line CUR Strings[24]
#define enter_alt_charset_mode CUR Strings[25]
#define enter_blink_mode CUR Strings[26]
#define enter_bold_mode CUR Strings[27]
#define enter_ca_mode CUR Strings[28]
#define enter_delete_mode CUR Strings[29]
#define enter_dim_mode CUR Strings[30]
#define enter_insert_mode CUR Strings[31]
#define enter_secure_mode CUR Strings[32]
#define enter_protected_mode CUR Strings[33]
#define enter_reverse_mode CUR Strings[34]
#define enter_standout_mode CUR Strings[35]
#define enter_underline_mode CUR Strings[36]
#define erase_chars CUR Strings[37]
#define exit_alt_charset_mode CUR Strings[38]
#define exit_attribute_mode CUR Strings[39]
#define exit_ca_mode CUR Strings[40]
#define exit_delete_mode CUR Strings[41]
#define exit_insert_mode CUR Strings[42]
#define exit_standout_mode CUR Strings[43]
#define exit_underline_mode CUR Strings[44]
#define flash_screen CUR Strings[45]
#define form_feed CUR Strings[46]
#define from_status_line CUR Strings[47]
#define init_1string CUR Strings[48]
#define init_2string CUR Strings[49]
#define init_3string CUR Strings[50]
#define init_file CUR Strings[51]
#define insert_character CUR Strings[52]
#define insert_line CUR Strings[53]
#define insert_padding CUR Strings[54]
#define key_backspace CUR Strings[55]
#define key_catab CUR Strings[56]
#define key_clear CUR Strings[57]
#define key_ctab CUR Strings[58]
#define key_dc CUR Strings[59]
#define key_dl CUR Strings[60]
#define key_down CUR Strings[61]
#define key_eic CUR Strings[62]
#define key_eol CUR Strings[63]
#define key_eos CUR Strings[64]
#define key_f0 CUR Strings[65]
#define key_f1 CUR Strings[66]
#define key_f10 CUR Strings[67]
#define key_f2 CUR Strings[68]
#define key_f3 CUR Strings[69]
#define key_f4 CUR Strings[70]
#define key_f5 CUR Strings[71]
#define key_f6 CUR Strings[72]
#define key_f7 CUR Strings[73]
#define key_f8 CUR Strings[74]
#define key_f9 CUR Strings[75]
#define key_home CUR Strings[76]
#define key_ic CUR Strings[77]
#define key_il CUR Strings[78]
#define key_left CUR Strings[79]
#define key_ll CUR Strings[80]
#define key_npage CUR Strings[81]
#define key_ppage CUR Strings[82]
#define key_right CUR Strings[83]
#define key_sf CUR Strings[84]
#define key_sr CUR Strings[85]
#define key_stab CUR Strings[86]
#define key_up CUR Strings[87]
#define keypad_local CUR Strings[88]
#define keypad_xmit CUR Strings[89]
#define lab_f0 CUR Strings[90]
#define lab_f1 CUR Strings[91]
#define lab_f10 CUR Strings[92]
#define lab_f2 CUR Strings[93]
#define lab_f3 CUR Strings[94]
#define lab_f4 CUR Strings[95]
#define lab_f5 CUR Strings[96]
#define lab_f6 CUR Strings[97]
#define lab_f7 CUR Strings[98]
#define lab_f8 CUR Strings[99]
#define lab_f9 CUR Strings[100]
#define meta_off CUR Strings[101]
#define meta_on CUR Strings[102]
#define newline CUR Strings[103]
#define pad_char CUR Strings[104]
#define parm_dch CUR Strings[105]
#define parm_delete_line CUR Strings[106]
#define parm_down_cursor CUR Strings[107]
#define parm_ich CUR Strings[108]
#define parm_index CUR Strings[109]
#define parm_insert_line CUR Strings[110]
#define parm_left_cursor CUR Strings[111]
#define parm_right_cursor CUR Strings[112]
#define parm_rindex CUR Strings[113]
#define parm_up_cursor CUR Strings[114]
#define pkey_key CUR Strings[115]
#define pkey_local CUR Strings[116]
#define pkey_xmit CUR Strings[117]
#define print_screen CUR Strings[118]
#define prtr_off CUR Strings[119]
#define prtr_on CUR Strings[120]
#define repeat_char CUR Strings[121]
#define reset_1string CUR Strings[122]
#define reset_2string CUR Strings[123]
#define reset_3string CUR Strings[124]
#define reset_file CUR Strings[125]
#define restore_cursor CUR Strings[126]
#define row_address CUR Strings[127]
#define save_cursor CUR Strings[128]
#define scroll_forward CUR Strings[129]
#define scroll_reverse CUR Strings[130]
#define set_attributes CUR Strings[131]
#define set_tab CUR Strings[132]
#define set_window CUR Strings[133]
#define tab CUR Strings[134]
#define to_status_line CUR Strings[135]
#define underline_char CUR Strings[136]
#define up_half_line CUR Strings[137]
#define init_prog CUR Strings[138]
#define key_a1 CUR Strings[139]
#define key_a3 CUR Strings[140]
#define key_b2 CUR Strings[141]
#define key_c1 CUR Strings[142]
#define key_c3 CUR Strings[143]
#define prtr_non CUR Strings[144]
#define char_padding CUR Strings[145]
#define acs_chars CUR Strings[146]
#define plab_norm CUR Strings[147]
#define key_btab CUR Strings[148]
#define enter_xon_mode CUR Strings[149]
#define exit_xon_mode CUR Strings[150]
#define enter_am_mode CUR Strings[151]
#define exit_am_mode CUR Strings[152]
#define xon_character CUR Strings[153]
#define xoff_character CUR Strings[154]
#define ena_acs CUR Strings[155]
#define label_on CUR Strings[156]
#define label_off CUR Strings[157]
#define key_beg CUR Strings[158]
#define key_cancel CUR Strings[159]
#define key_close CUR Strings[160]
#define key_command CUR Strings[161]
#define key_copy CUR Strings[162]
#define key_create CUR Strings[163]
#define key_end CUR Strings[164]
#define key_enter CUR Strings[165]
#define key_exit CUR Strings[166]
#define key_find CUR Strings[167]
#define key_help CUR Strings[168]
#define key_mark CUR Strings[169]
#define key_message CUR Strings[170]
#define key_move CUR Strings[171]
#define key_next CUR Strings[172]
#define key_open CUR Strings[173]
#define key_options CUR Strings[174]
#define key_previous CUR Strings[175]
#define key_print CUR Strings[176]
#define key_redo CUR Strings[177]
#define key_reference CUR Strings[178]
#define key_refresh CUR Strings[179]
#define key_replace CUR Strings[180]
#define key_restart CUR Strings[181]
#define key_resume CUR Strings[182]
#define key_save CUR Strings[183]
#define key_suspend CUR Strings[184]
#define key_undo CUR Strings[185]
#define key_sbeg CUR Strings[186]
#define key_scancel CUR Strings[187]
#define key_scommand CUR Strings[188]
#define key_scopy CUR Strings[189]
#define key_screate CUR Strings[190]
#define key_sdc CUR Strings[191]
#define key_sdl CUR Strings[192]
#define key_select CUR Strings[193]
#define key_send CUR Strings[194]
#define key_seol CUR Strings[195]
#define key_sexit CUR Strings[196]
#define key_sfind CUR Strings[197]
#define key_shelp CUR Strings[198]
#define key_shome CUR Strings[199]
#define key_sic CUR Strings[200]
#define key_sleft CUR Strings[201]
#define key_smessage CUR Strings[202]
#define key_smove CUR Strings[203]
#define key_snext CUR Strings[204]
#define key_soptions CUR Strings[205]
#define key_sprevious CUR Strings[206]
#define key_sprint CUR Strings[207]
#define key_sredo CUR Strings[208]
#define key_sreplace CUR Strings[209]
#define key_sright CUR Strings[210]
#define key_srsume CUR Strings[211]
#define key_ssave CUR Strings[212]
#define key_ssuspend CUR Strings[213]
#define key_sundo CUR Strings[214]
#define req_for_input CUR Strings[215]
#define key_f11 CUR Strings[216]
#define key_f12 CUR Strings[217]
#define key_f13 CUR Strings[218]
#define key_f14 CUR Strings[219]
#define key_f15 CUR Strings[220]
#define key_f16 CUR Strings[221]
#define key_f17 CUR Strings[222]
#define key_f18 CUR Strings[223]
#define key_f19 CUR Strings[224]
#define key_f20 CUR Strings[225]
#define key_f21 CUR Strings[226]
#define key_f22 CUR Strings[227]
#define key_f23 CUR Strings[228]
#define key_f24 CUR Strings[229]
#define key_f25 CUR Strings[230]
#define key_f26 CUR Strings[231]
#define key_f27 CUR Strings[232]
#define key_f28 CUR Strings[233]
#define key_f29 CUR Strings[234]
#define key_f30 CUR Strings[235]
#define key_f31 CUR Strings[236]
#define key_f32 CUR Strings[237]
#define key_f33 CUR Strings[238]
#define key_f34 CUR Strings[239]
#define key_f35 CUR Strings[240]
#define key_f36 CUR Strings[241]
#define key_f37 CUR Strings[242]
#define key_f38 CUR Strings[243]
#define key_f39 CUR Strings[244]
#define key_f40 CUR Strings[245]
#define key_f41 CUR Strings[246]
#define key_f42 CUR Strings[247]
#define key_f43 CUR Strings[248]
#define key_f44 CUR Strings[249]
#define key_f45 CUR Strings[250]
#define key_f46 CUR Strings[251]
#define key_f47 CUR Strings[252]
#define key_f48 CUR Strings[253]
#define key_f49 CUR Strings[254]
#define key_f50 CUR Strings[255]
#define key_f51 CUR Strings[256]
#define key_f52 CUR Strings[257]
#define key_f53 CUR Strings[258]
#define key_f54 CUR Strings[259]
#define key_f55 CUR Strings[260]
#define key_f56 CUR Strings[261]
#define key_f57 CUR Strings[262]
#define key_f58 CUR Strings[263]
#define key_f59 CUR Strings[264]
#define key_f60 CUR Strings[265]
#define key_f61 CUR Strings[266]
#define key_f62 CUR Strings[267]
#define key_f63 CUR Strings[268]
#define clr_bol CUR Strings[269]
#define clear_margins CUR Strings[270]
#define set_left_margin CUR Strings[271]
#define set_right_margin CUR Strings[272]
#define label_format CUR Strings[273]
#define set_clock CUR Strings[274]
#define display_clock CUR Strings[275]
#define remove_clock CUR Strings[276]
#define create_window CUR Strings[277]
#define goto_window CUR Strings[278]
#define hangup CUR Strings[279]
#define dial_phone CUR Strings[280]
#define quick_dial CUR Strings[281]
#define tone CUR Strings[282]
#define pulse CUR Strings[283]
#define flash_hook CUR Strings[284]
#define fixed_pause CUR Strings[285]
#define wait_tone CUR Strings[286]
#define user0 CUR Strings[287]
#define user1 CUR Strings[288]
#define user2 CUR Strings[289]
#define user3 CUR Strings[290]
#define user4 CUR Strings[291]
#define user5 CUR Strings[292]
#define user6 CUR Strings[293]
#define user7 CUR Strings[294]
#define user8 CUR Strings[295]
#define user9 CUR Strings[296]
#define orig_pair CUR Strings[297]
#define orig_colors CUR Strings[298]
#define initialize_color CUR Strings[299]
#define initialize_pair CUR Strings[300]
#define set_color_pair CUR Strings[301]
#define set_foreground CUR Strings[302]
#define set_background CUR Strings[303]
#define change_char_pitch CUR Strings[304]
#define change_line_pitch CUR Strings[305]
#define change_res_horz CUR Strings[306]
#define change_res_vert CUR Strings[307]
#define define_char CUR Strings[308]
#define enter_doublewide_mode CUR Strings[309]
#define enter_draft_quality CUR Strings[310]
#define enter_italics_mode CUR Strings[311]
#define enter_leftward_mode CUR Strings[312]
#define enter_micro_mode CUR Strings[313]
#define enter_near_letter_quality CUR Strings[314]
#define enter_normal_quality CUR Strings[315]
#define enter_shadow_mode CUR Strings[316]
#define enter_subscript_mode CUR Strings[317]
#define enter_superscript_mode CUR Strings[318]
#define enter_upward_mode CUR Strings[319]
#define exit_doublewide_mode CUR Strings[320]
#define exit_italics_mode CUR Strings[321]
#define exit_leftward_mode CUR Strings[322]
#define exit_micro_mode CUR Strings[323]
#define exit_shadow_mode CUR Strings[324]
#define exit_subscript_mode CUR Strings[325]
#define exit_superscript_mode CUR Strings[326]
#define exit_upward_mode CUR Strings[327]
#define micro_column_address CUR Strings[328]
#define micro_down CUR Strings[329]
#define micro_left CUR Strings[330]
#define micro_right CUR Strings[331]
#define micro_row_address CUR Strings[332]
#define micro_up CUR Strings[333]
#define order_of_pins CUR Strings[334]
#define parm_down_micro CUR Strings[335]
#define parm_left_micro CUR Strings[336]
#define parm_right_micro CUR Strings[337]
#define parm_up_micro CUR Strings[338]
#define select_char_set CUR Strings[339]
#define set_bottom_margin CUR Strings[340]
#define set_bottom_margin_parm CUR Strings[341]
#define set_left_margin_parm CUR Strings[342]
#define set_right_margin_parm CUR Strings[343]
#define set_top_margin CUR Strings[344]
#define set_top_margin_parm CUR Strings[345]
#define start_bit_image CUR Strings[346]
#define start_char_set_def CUR Strings[347]
#define stop_bit_image CUR Strings[348]
#define stop_char_set_def CUR Strings[349]
#define subscript_characters CUR Strings[350]
#define superscript_characters CUR Strings[351]
#define these_cause_cr CUR Strings[352]
#define zero_motion CUR Strings[353]
#define char_set_names CUR Strings[354]
#define key_mouse CUR Strings[355]
#define mouse_info CUR Strings[356]
#define req_mouse_pos CUR Strings[357]
#define get_mouse CUR Strings[358]
#define set_a_foreground CUR Strings[359]
#define set_a_background CUR Strings[360]
#define pkey_plab CUR Strings[361]
#define device_type CUR Strings[362]
#define code_set_init CUR Strings[363]
#define set0_des_seq CUR Strings[364]
#define set1_des_seq CUR Strings[365]
#define set2_des_seq CUR Strings[366]
#define set3_des_seq CUR Strings[367]
#define set_lr_margin CUR Strings[368]
#define set_tb_margin CUR Strings[369]
#define bit_image_repeat CUR Strings[370]
#define bit_image_newline CUR Strings[371]
#define bit_image_carriage_return CUR Strings[372]
#define color_names CUR Strings[373]
#define define_bit_image_region CUR Strings[374]
#define end_bit_image_region CUR Strings[375]
#define set_color_band CUR Strings[376]
#define set_page_length CUR Strings[377]
#define display_pc_char CUR Strings[378]
#define enter_pc_charset_mode CUR Strings[379]
#define exit_pc_charset_mode CUR Strings[380]
#define enter_scancode_mode CUR Strings[381]
#define exit_scancode_mode CUR Strings[382]
#define pc_term_options CUR Strings[383]
#define scancode_escape CUR Strings[384]
#define alt_scancode_esc CUR Strings[385]
#define enter_horizontal_hl_mode CUR Strings[386]
#define enter_left_hl_mode CUR Strings[387]
#define enter_low_hl_mode CUR Strings[388]
#define enter_right_hl_mode CUR Strings[389]
#define enter_top_hl_mode CUR Strings[390]
#define enter_vertical_hl_mode CUR Strings[391]
#define set_a_attributes CUR Strings[392]
#define set_pglen_inch CUR Strings[393]
#define BOOLWRITE 37
#define NUMWRITE 33
#define STRWRITE 394
/* older synonyms for some capabilities */
#define beehive_glitch no_esc_ctlc
#define teleray_glitch dest_tabs_magic_smso
/* HPUX-11 uses this name rather than the standard one */
#ifndef micro_char_size
#define micro_char_size micro_col_size
#endif
#ifdef __INTERNAL_CAPS_VISIBLE
#define termcap_init2 CUR Strings[394]
#define termcap_reset CUR Strings[395]
#define magic_cookie_glitch_ul CUR Numbers[33]
#define backspaces_with_bs CUR Booleans[37]
#define crt_no_scrolling CUR Booleans[38]
#define no_correctly_working_cr CUR Booleans[39]
#define carriage_return_delay CUR Numbers[34]
#define new_line_delay CUR Numbers[35]
#define linefeed_if_not_lf CUR Strings[396]
#define backspace_if_not_bs CUR Strings[397]
#define gnu_has_meta_key CUR Booleans[40]
#define linefeed_is_newline CUR Booleans[41]
#define backspace_delay CUR Numbers[36]
#define horizontal_tab_delay CUR Numbers[37]
#define number_of_function_keys CUR Numbers[38]
#define other_non_function_keys CUR Strings[398]
#define arrow_key_map CUR Strings[399]
#define has_hardware_tabs CUR Booleans[42]
#define return_does_clr_eol CUR Booleans[43]
#define acs_ulcorner CUR Strings[400]
#define acs_llcorner CUR Strings[401]
#define acs_urcorner CUR Strings[402]
#define acs_lrcorner CUR Strings[403]
#define acs_ltee CUR Strings[404]
#define acs_rtee CUR Strings[405]
#define acs_btee CUR Strings[406]
#define acs_ttee CUR Strings[407]
#define acs_hline CUR Strings[408]
#define acs_vline CUR Strings[409]
#define acs_plus CUR Strings[410]
#define memory_lock CUR Strings[411]
#define memory_unlock CUR Strings[412]
#define box_chars_1 CUR Strings[413]
#endif /* __INTERNAL_CAPS_VISIBLE */
/*
* Predefined terminfo array sizes
*/
#define BOOLCOUNT 44
#define NUMCOUNT 39
#define STRCOUNT 414
/* used by code for comparing entries */
#define acs_chars_index 146
typedef struct termtype { /* in-core form of terminfo data */
char *term_names; /* str_table offset of term names */
char *str_table; /* pointer to string table */
NCURSES_SBOOL *Booleans; /* array of boolean values */
short *Numbers; /* array of integer values */
char **Strings; /* array of string offsets */
#if NCURSES_XNAMES
char *ext_str_table; /* pointer to extended string table */
char **ext_Names; /* corresponding names */
unsigned short num_Booleans;/* count total Booleans */
unsigned short num_Numbers; /* count total Numbers */
unsigned short num_Strings; /* count total Strings */
unsigned short ext_Booleans;/* count extensions to Booleans */
unsigned short ext_Numbers; /* count extensions to Numbers */
unsigned short ext_Strings; /* count extensions to Strings */
#endif /* NCURSES_XNAMES */
} TERMTYPE;
/*
* The only reason these structures are visible is for read-only use.
* Programs which modify the data are not, never were, portable across
* curses implementations.
*
* The first field in TERMINAL is used in macros.
* The remaining fields are private.
*/
#ifdef NCURSES_INTERNALS
#undef TERMINAL
#define TERMINAL struct term
TERMINAL;
#undef TERMTYPE2
#define TERMTYPE2 TERMTYPE
#else
typedef struct term { /* describe an actual terminal */
TERMTYPE type; /* terminal type description */
} TERMINAL;
#endif /* NCURSES_INTERNALS */
#if 0 && !1
extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
#elif 1
NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);
#define cur_term NCURSES_PUBLIC_VAR(cur_term())
#else
extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
#endif
#if 0 || 1
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);
NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);
#define boolnames NCURSES_PUBLIC_VAR(boolnames())
#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())
#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
#define numnames NCURSES_PUBLIC_VAR(numnames())
#define numcodes NCURSES_PUBLIC_VAR(numcodes())
#define numfnames NCURSES_PUBLIC_VAR(numfnames())
#define strnames NCURSES_PUBLIC_VAR(strnames())
#define strcodes NCURSES_PUBLIC_VAR(strcodes())
#define strfnames NCURSES_PUBLIC_VAR(strfnames())
#else
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];
extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];
#endif
/*
* These entrypoints are used only by the ncurses utilities such as tic.
*/
#ifdef NCURSES_INTERNALS
extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);
extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);
extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);
extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);
extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);
extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);
extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);
#endif /* NCURSES_INTERNALS */
/*
* These entrypoints are used by tack 1.07.
*/
extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);
extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);
/*
* Normal entry points
*/
extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);
extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);
/* miscellaneous entry points */
extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);
extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);
/* terminfo entry points, also declared in curses.h */
#if !defined(__NCURSES_H)
extern NCURSES_EXPORT(char *) tigetstr (const char *);
extern NCURSES_EXPORT_VAR(char) ttytype[];
extern NCURSES_EXPORT(int) putp (const char *);
extern NCURSES_EXPORT(int) tigetflag (const char *);
extern NCURSES_EXPORT(int) tigetnum (const char *);
#if 1 /* NCURSES_TPARM_VARARGS */
extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */
#else
extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */
#endif
extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */
#endif /* __NCURSES_H */
/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
#if !defined(NCURSES_TERMCAP_H_incl)
extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
extern NCURSES_EXPORT(int) tgetent (char *, const char *);
extern NCURSES_EXPORT(int) tgetflag (const char *);
extern NCURSES_EXPORT(int) tgetnum (const char *);
extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
#endif /* NCURSES_TERMCAP_H_incl */
/*
* Include curses.h before term.h to enable these extensions.
*/
#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);
#if 1 /* NCURSES_TPARM_VARARGS */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */
#else
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */
#endif
/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);
extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);
#endif /* NCURSES_SP_FUNCS */
/*
* Debugging features.
*/
extern GCC_NORETURN NCURSES_EXPORT(void) exit_terminfo(int);
#ifdef __cplusplus
}
#endif
#endif /* NCURSES_TERM_H_incl */

View File

@@ -1,237 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1998-on *
****************************************************************************/
/* $Id: term_entry.h,v 1.61 2021/09/04 10:52:55 tom Exp $ */
/*
* term_entry.h -- interface to entry-manipulation code
*/
#ifndef NCURSES_TERM_ENTRY_H_incl
#define NCURSES_TERM_ENTRY_H_incl 1
/* *INDENT-OFF* */
#ifdef __cplusplus
extern "C" {
#endif
#include <curses.h>
#include <term.h>
/*
* These macros may be used by programs that know about TERMTYPE:
*/
#if NCURSES_XNAMES
#define NUM_BOOLEANS(tp) (tp)->num_Booleans
#define NUM_NUMBERS(tp) (tp)->num_Numbers
#define NUM_STRINGS(tp) (tp)->num_Strings
#define EXT_NAMES(tp,i,limit,index,table) (i >= limit) ? tp->ext_Names[index] : table[i]
#else
#define NUM_BOOLEANS(tp) BOOLCOUNT
#define NUM_NUMBERS(tp) NUMCOUNT
#define NUM_STRINGS(tp) STRCOUNT
#define EXT_NAMES(tp,i,limit,index,table) table[i]
#endif
#define NUM_EXT_NAMES(tp) (unsigned) ((tp)->ext_Booleans + (tp)->ext_Numbers + (tp)->ext_Strings)
#define for_each_boolean(n,tp) for(n = 0; n < NUM_BOOLEANS(tp); n++)
#define for_each_number(n,tp) for(n = 0; n < NUM_NUMBERS(tp); n++)
#define for_each_string(n,tp) for(n = 0; n < NUM_STRINGS(tp); n++)
#if NCURSES_XNAMES
#define for_each_ext_boolean(n,tp) for(n = BOOLCOUNT; (int) n < (int) NUM_BOOLEANS(tp); n++)
#define for_each_ext_number(n,tp) for(n = NUMCOUNT; (int) n < (int) NUM_NUMBERS(tp); n++)
#define for_each_ext_string(n,tp) for(n = STRCOUNT; (int) n < (int) NUM_STRINGS(tp); n++)
#endif
#define ExtBoolname(tp,i,names) EXT_NAMES(tp, i, BOOLCOUNT, (i - (tp->num_Booleans - tp->ext_Booleans)), names)
#define ExtNumname(tp,i,names) EXT_NAMES(tp, i, NUMCOUNT, (i - (tp->num_Numbers - tp->ext_Numbers)) + tp->ext_Booleans, names)
#define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
/*
* The remaining type-definitions and macros are used only internally by the
* ncurses utilities.
*/
#ifdef NCURSES_INTERNALS
/*
* see db_iterator.c - this enumeration lists the places searched for a
* terminal description and defines the order in which they are searched.
*/
typedef enum {
dbdTIC = 0, /* special, used by tic when writing entry */
#if NCURSES_USE_DATABASE
dbdEnvOnce, /* the $TERMINFO environment variable */
dbdHome, /* $HOME/.terminfo */
dbdEnvList, /* the $TERMINFO_DIRS environment variable */
dbdCfgList, /* the compiled-in TERMINFO_DIRS value */
dbdCfgOnce, /* the compiled-in TERMINFO value */
#endif
#if NCURSES_USE_TERMCAP
dbdEnvOnce2, /* the $TERMCAP environment variable */
dbdEnvList2, /* the $TERMPATH environment variable */
dbdCfgList2, /* the compiled-in TERMPATH */
#endif
dbdLAST
} DBDIRS;
#define MAX_USES 32
#define MAX_CROSSLINKS 16
typedef struct entry ENTRY;
typedef struct {
char *name;
ENTRY *link;
long line;
} ENTRY_USES;
struct entry {
TERMTYPE2 tterm;
unsigned nuses;
ENTRY_USES uses[MAX_USES];
int ncrosslinks;
ENTRY *crosslinks[MAX_CROSSLINKS];
long cstart;
long cend;
long startline;
ENTRY *next;
ENTRY *last;
};
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_head;
extern NCURSES_EXPORT_VAR(ENTRY *) _nc_tail;
#define for_entry_list(qp) for (qp = _nc_head; qp; qp = qp->next)
#define MAX_LINE 132
#define NULLHOOK (bool(*)(ENTRY *))0
/*
* Note that WANTED and PRESENT are not simple inverses! If a capability
* has been explicitly cancelled, it is not considered WANTED.
*/
#define WANTED(s) ((s) == ABSENT_STRING)
#define PRESENT(s) (((s) != ABSENT_STRING) && ((s) != CANCELLED_STRING))
#define ANDMISSING(p,q) \
{ \
if (PRESENT(p) && !PRESENT(q)) \
_nc_warning(#p " but no " #q); \
}
#define PAIRED(p,q) \
{ \
if (PRESENT(q) && !PRESENT(p)) \
_nc_warning(#q " but no " #p); \
if (PRESENT(p) && !PRESENT(q)) \
_nc_warning(#p " but no " #q); \
}
/*
* These entrypoints are used only by the ncurses utilities such as tic.
*/
/* alloc_entry.c: elementary allocation code */
extern NCURSES_EXPORT(ENTRY *) _nc_copy_entry (ENTRY *oldp);
extern NCURSES_EXPORT(char *) _nc_save_str (const char *const);
extern NCURSES_EXPORT(void) _nc_init_entry (ENTRY *const);
extern NCURSES_EXPORT(void) _nc_merge_entry (ENTRY *const, ENTRY *const);
extern NCURSES_EXPORT(void) _nc_wrap_entry (ENTRY *const, bool);
/* alloc_ttype.c: elementary allocation code */
extern NCURSES_EXPORT(void) _nc_align_termtype (TERMTYPE2 *, TERMTYPE2 *);
/* free_ttype.c: elementary allocation code */
extern NCURSES_EXPORT(void) _nc_free_termtype2 (TERMTYPE2 *);
/* lib_termcap.c: trim sgr0 string for termcap users */
extern NCURSES_EXPORT(char *) _nc_trim_sgr0 (TERMTYPE2 *);
/* parse_entry.c: entry-parsing code */
#if NCURSES_XNAMES
extern NCURSES_EXPORT_VAR(bool) _nc_user_definable;
extern NCURSES_EXPORT_VAR(bool) _nc_disable_period;
#endif
extern NCURSES_EXPORT(int) _nc_parse_entry (ENTRY *, int, bool);
extern NCURSES_EXPORT(int) _nc_capcmp (const char *, const char *);
/* write_entry.c: writing an entry to the file system */
extern NCURSES_EXPORT(void) _nc_set_writedir (const char *);
extern NCURSES_EXPORT(void) _nc_write_entry (TERMTYPE2 *const);
extern NCURSES_EXPORT(int) _nc_write_object (TERMTYPE2 *, char *, unsigned *, unsigned);
/* comp_parse.c: entry list handling */
extern NCURSES_EXPORT(void) _nc_read_entry_source (FILE*, char*, int, bool, bool (*)(ENTRY*));
extern NCURSES_EXPORT(bool) _nc_entry_match (char *, char *);
extern NCURSES_EXPORT(int) _nc_resolve_uses (bool); /* obs 20040705 */
extern NCURSES_EXPORT(int) _nc_resolve_uses2 (bool, bool);
extern NCURSES_EXPORT(void) _nc_free_entries (ENTRY *);
extern NCURSES_IMPEXP void (NCURSES_API *_nc_check_termtype)(TERMTYPE *); /* obs 20040705 */
extern NCURSES_IMPEXP void (NCURSES_API *_nc_check_termtype2)(TERMTYPE2 *, bool);
/* trace_xnames.c */
extern NCURSES_EXPORT(void) _nc_trace_xnames (TERMTYPE *);
#endif /* NCURSES_INTERNALS */
/*
* These entrypoints were used by tack before 1.08.
*/
#undef NCURSES_TACK_1_08
#ifdef NCURSES_INTERNALS
#define NCURSES_TACK_1_08 /* nothing */
#else
#define NCURSES_TACK_1_08 GCC_DEPRECATED("upgrade to tack 1.08")
#endif
/* alloc_ttype.c: elementary allocation code */
extern NCURSES_EXPORT(void) _nc_copy_termtype (TERMTYPE *, const TERMTYPE *) NCURSES_TACK_1_08;
/* lib_acs.c */
extern NCURSES_EXPORT(void) _nc_init_acs (void) NCURSES_TACK_1_08; /* corresponds to traditional 'init_acs()' */
/* free_ttype.c: elementary allocation code */
extern NCURSES_EXPORT(void) _nc_free_termtype (TERMTYPE *) NCURSES_TACK_1_08;
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */
#endif /* NCURSES_TERM_ENTRY_H_incl */

View File

@@ -1,73 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2000,2001 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/* $Id: termcap.h.in,v 1.20 2021/06/17 21:26:02 tom Exp $ */
#ifndef NCURSES_TERMCAP_H_incl
#define NCURSES_TERMCAP_H_incl 1
#undef NCURSES_VERSION
#define NCURSES_VERSION "6.3"
#include <ncurses_dll.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
#include <sys/types.h>
#undef NCURSES_OSPEED
#define NCURSES_OSPEED short
extern NCURSES_EXPORT_VAR(char) PC;
extern NCURSES_EXPORT_VAR(char *) UP;
extern NCURSES_EXPORT_VAR(char *) BC;
extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
#if !defined(NCURSES_TERM_H_incl)
extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
extern NCURSES_EXPORT(int) tgetent (char *, const char *);
extern NCURSES_EXPORT(int) tgetflag (const char *);
extern NCURSES_EXPORT(int) tgetnum (const char *);
extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
#endif
#ifdef __cplusplus
}
#endif
#endif /* NCURSES_TERMCAP_H_incl */

View File

@@ -1,73 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2000,2001 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/* $Id: termcap.h.in,v 1.20 2021/06/17 21:26:02 tom Exp $ */
#ifndef NCURSES_TERMCAP_H_incl
#define NCURSES_TERMCAP_H_incl 1
#undef NCURSES_VERSION
#define NCURSES_VERSION "@NCURSES_MAJOR@.@NCURSES_MINOR@"
#include <ncurses_dll.h>
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
#include <sys/types.h>
#undef NCURSES_OSPEED
#define NCURSES_OSPEED @NCURSES_OSPEED@
extern NCURSES_EXPORT_VAR(char) PC;
extern NCURSES_EXPORT_VAR(char *) UP;
extern NCURSES_EXPORT_VAR(char *) BC;
extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
#if !defined(NCURSES_TERM_H_incl)
extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
extern NCURSES_EXPORT(int) tgetent (char *, const char *);
extern NCURSES_EXPORT(int) tgetflag (const char *);
extern NCURSES_EXPORT(int) tgetnum (const char *);
extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
#endif
#ifdef __cplusplus
}
#endif
#endif /* NCURSES_TERMCAP_H_incl */

View File

@@ -1,397 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
* and: Thomas E. Dickey 1996 on *
****************************************************************************/
/*
* $Id: tic.h,v 1.84 2021/08/21 00:24:45 tom Exp $
* tic.h - Global variables and structures for the terminfo compiler.
*/
#ifndef __TIC_H
#define __TIC_H
/* *INDENT-OFF* */
#ifdef __cplusplus
extern "C" {
#endif
#include <ncurses_cfg.h>
#include <curses.h> /* for the _tracef() prototype, ERR/OK, bool defs */
/*
** The format of SVr2 compiled terminfo files is as follows:
**
** Header (12 bytes), containing information given below
** Names Section, containing the names of the terminal
** Boolean Section, containing the values of all of the
** boolean capabilities
** A null byte may be inserted here to make
** sure that the Number Section begins on an
** even word boundary.
** Number Section, containing the values of all of the numeric
** capabilities, each as a short integer
** String Section, containing short integer offsets into the
** String Table, one per string capability
** String Table, containing the actual characters of the string
** capabilities.
**
** In the SVr2 format, "short" means signed 16-bit numbers, which is sometimes
** inconvenient. The numbers are signed, to provide for absent and canceled
** values. ncurses6.1 introduced an extension to this compiled format, by
** making the Number Section a list of signed 32-bit integers.
**
** NOTE that all short integers in the file are stored using VAX/PDP-style
** byte-order, i.e., least-significant byte first.
**
** There is no structure definition here because it would only confuse
** matters. Terminfo format is a raw byte layout, not a structure
** dump. If you happen to be on a little-endian machine with 16-bit
** shorts that requires no padding between short members in a struct,
** then there is a natural C structure that captures the header, but
** not very helpfully.
*/
#define MAGIC 0432 /* first two bytes of a compiled entry */
#define MAGIC2 01036 /* first two bytes of a compiled 32-bit entry */
#undef BYTE
#define BYTE(p,n) (unsigned char)((p)[n])
#define IS_NEG1(p) ((BYTE(p,0) == 0377) && (BYTE(p,1) == 0377))
#define IS_NEG2(p) ((BYTE(p,0) == 0376) && (BYTE(p,1) == 0377))
#define LOW_MSB(p) (BYTE(p,0) + 256*BYTE(p,1))
#define IS_TIC_MAGIC(p) (LOW_MSB(p) == MAGIC || LOW_MSB(p) == MAGIC2)
#define quick_prefix(s) (!strncmp((s), "b64:", (size_t)4) || !strncmp((s), "hex:", (size_t)4))
/*
* The "maximum" here is misleading; XSI guarantees minimum values, which a
* given implementation may exceed.
*/
#define MAX_NAME_SIZE 512 /* maximum legal name field size (XSI:127) */
#define MAX_ENTRY_SIZE1 4096 /* maximum legal entry size (SVr2) */
#define MAX_ENTRY_SIZE2 32768 /* maximum legal entry size (ncurses6.1) */
#if NCURSES_EXT_COLORS && HAVE_INIT_EXTENDED_COLOR
#define MAX_ENTRY_SIZE MAX_ENTRY_SIZE2
#else
#define MAX_ENTRY_SIZE MAX_ENTRY_SIZE1
#endif
/*
* The maximum size of individual name or alias is guaranteed in XSI to be at
* least 14, since that corresponds to the older filename lengths. Newer
* systems allow longer aliases, though not many terminal descriptions are
* written to use them. The MAX_ALIAS symbol is used for warnings.
*/
#if HAVE_LONG_FILE_NAMES
#define MAX_ALIAS 32 /* smaller than POSIX minimum for PATH_MAX */
#else
#define MAX_ALIAS 14 /* SVr3 filename length */
#endif
/* location of user's personal info directory */
#define PRIVATE_INFO "%s/.terminfo" /* plug getenv("HOME") into %s */
/*
* Some traces are designed to be used via tic's verbose option (and similar in
* infocmp and toe) rather than the 'trace()' function. So we use the bits
* above the normal trace() parameter as a debug-level.
*/
#define MAX_DEBUG_LEVEL 15
#define DEBUG_LEVEL(n) ((n) << TRACE_SHIFT)
#define set_trace_level(n) \
_nc_tracing &= DEBUG_LEVEL(MAX_DEBUG_LEVEL) \
+ DEBUG_LEVEL(MAX_DEBUG_LEVEL) - 1, \
_nc_tracing |= DEBUG_LEVEL(n)
#ifdef TRACE
#define DEBUG(n, a) if (_nc_tracing >= DEBUG_LEVEL(n)) _tracef a
#else
#define DEBUG(n, a) /*nothing*/
#endif
/*
* These are the types of tokens returned by the scanner. The first
* three are also used in the hash table of capability names. The scanner
* returns one of these values after loading the specifics into the global
* structure curr_token.
*/
#define BOOLEAN 0 /* Boolean capability */
#define NUMBER 1 /* Numeric capability */
#define STRING 2 /* String-valued capability */
#define CANCEL 3 /* Capability to be cancelled in following tc's */
#define NAMES 4 /* The names for a terminal type */
#define UNDEF 5 /* Undefined */
#define NO_PUSHBACK -1 /* used in pushtype to indicate no pushback */
/*
* The global structure in which the specific parts of a
* scanned token are returned.
*/
struct token
{
char *tk_name; /* name of capability */
int tk_valnumber; /* value of capability (if a number) */
char *tk_valstring; /* value of capability (if a string) */
};
/*
* Offsets to string capabilities, with the corresponding functionkey codes.
*/
struct tinfo_fkeys {
unsigned offset;
chtype code;
};
typedef short HashValue;
/*
* The file comp_captab.c contains an array of these structures, one per
* possible capability. These are indexed by a hash table array of pointers to
* the same structures for use by the parser.
*/
struct name_table_entry
{
const char *nte_name; /* name to hash on */
int nte_type; /* BOOLEAN, NUMBER or STRING */
HashValue nte_index; /* index of associated variable in its array */
HashValue nte_link; /* index in table of next hash, or -1 */
};
/*
* Use this structure to hide differences between terminfo and termcap tables.
*/
typedef struct {
unsigned table_size;
const HashValue *table_data;
HashValue (*hash_of)(const char *);
int (*compare_names)(const char *, const char *);
} HashData;
struct alias
{
const char *from;
const char *to;
const char *source;
};
#define NOTFOUND ((struct name_table_entry *) 0)
/*
* The file comp_userdefs.c contains an array of these structures, one per
* possible capability. These are indexed by a hash table array of pointers to
* the same structures for use by the parser.
*/
struct user_table_entry
{
const char *ute_name; /* name to hash on */
int ute_type; /* mask (BOOLEAN, NUMBER, STRING) */
unsigned ute_argc; /* number of parameters */
unsigned ute_args; /* bit-mask for string parameters */
HashValue ute_index; /* index of associated variable in its array */
HashValue ute_link; /* index in table of next hash, or -1 */
};
/*
* The casts are required for correct sign-propagation with systems such as
* AIX, IRIX64, Solaris which default to unsigned characters. The C standard
* leaves this detail unspecified.
*/
/* out-of-band values for representing absent capabilities */
#define ABSENT_BOOLEAN ((signed char)-1) /* 255 */
#define ABSENT_NUMERIC (-1)
#define ABSENT_STRING (char *)0
/* out-of-band values for representing cancels */
#define CANCELLED_BOOLEAN ((signed char)-2) /* 254 */
#define CANCELLED_NUMERIC (-2)
#define CANCELLED_STRING (char *)(-1)
#define VALID_BOOLEAN(s) ((unsigned char)(s) <= 1) /* reject "-1" */
#define VALID_NUMERIC(s) ((s) >= 0)
#define VALID_STRING(s) ((s) != CANCELLED_STRING && (s) != ABSENT_STRING)
/* termcap entries longer than this may break old binaries */
#define MAX_TERMCAP_LENGTH 1023
/* this is a documented limitation of terminfo */
#define MAX_TERMINFO_LENGTH 4096
#ifndef TERMINFO
#define TERMINFO "/usr/share/terminfo"
#endif
#ifdef NCURSES_TERM_ENTRY_H_incl
/*
* These entrypoints are used only by the ncurses utilities such as tic.
*/
#ifdef NCURSES_INTERNALS
/* access.c */
extern NCURSES_EXPORT(unsigned) _nc_pathlast (const char *);
extern NCURSES_EXPORT(bool) _nc_is_abs_path (const char *);
extern NCURSES_EXPORT(bool) _nc_is_dir_path (const char *);
extern NCURSES_EXPORT(bool) _nc_is_file_path (const char *);
extern NCURSES_EXPORT(char *) _nc_basename (char *);
extern NCURSES_EXPORT(char *) _nc_rootname (char *);
/* comp_captab.c */
extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
extern NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool);
extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool);
/* comp_hash.c: name lookup */
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry
(const char *, int, bool);
extern NCURSES_EXPORT(struct user_table_entry const *) _nc_find_user_entry
(const char *);
/* comp_scan.c: lexical analysis */
extern NCURSES_EXPORT(int) _nc_get_token (bool);
extern NCURSES_EXPORT(void) _nc_panic_mode (char);
extern NCURSES_EXPORT(void) _nc_push_token (int);
extern NCURSES_EXPORT_VAR(int) _nc_curr_col;
extern NCURSES_EXPORT_VAR(int) _nc_curr_line;
extern NCURSES_EXPORT_VAR(int) _nc_syntax;
extern NCURSES_EXPORT_VAR(int) _nc_strict_bsd;
extern NCURSES_EXPORT_VAR(long) _nc_comment_end;
extern NCURSES_EXPORT_VAR(long) _nc_comment_start;
extern NCURSES_EXPORT_VAR(long) _nc_curr_file_pos;
extern NCURSES_EXPORT_VAR(long) _nc_start_line;
#define SYN_TERMINFO 0
#define SYN_TERMCAP 1
/* comp_error.c: warning & abort messages */
extern NCURSES_EXPORT(const char *) _nc_get_source (void);
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_err_abort (const char *const,...) GCC_PRINTFLIKE(1,2);
extern NCURSES_EXPORT(void) _nc_get_type (char *name);
extern NCURSES_EXPORT(void) _nc_set_source (const char *const);
extern NCURSES_EXPORT(void) _nc_set_type (const char *const);
extern GCC_NORETURN NCURSES_EXPORT(void) _nc_syserr_abort (const char *const,...) GCC_PRINTFLIKE(1,2);
extern NCURSES_EXPORT(void) _nc_warning (const char *const,...) GCC_PRINTFLIKE(1,2);
extern NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings;
/* comp_scan.c */
extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token;
/* comp_userdefs.c */
NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void);
NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void);
/* captoinfo.c: capability conversion */
extern NCURSES_EXPORT(char *) _nc_captoinfo (const char *, const char *, int const);
extern NCURSES_EXPORT(char *) _nc_infotocap (const char *, const char *, int const);
/* home_terminfo.c */
extern NCURSES_EXPORT(char *) _nc_home_terminfo (void);
/* init_keytry.c */
#if BROKEN_LINKER
#define _nc_tinfo_fkeys _nc_tinfo_fkeysf()
extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void);
#else
extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[];
#endif
/* lib_tparm.c */
#define NUM_PARM 9
extern NCURSES_EXPORT_VAR(int) _nc_tparm_err;
extern NCURSES_EXPORT(int) _nc_tparm_analyze(TERMINAL *, const char *, char **, int *);
extern NCURSES_EXPORT(void) _nc_reset_tparm(TERMINAL *);
/* lib_trace.c */
extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing;
extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
extern NCURSES_EXPORT(const char *) _nc_visbuf2 (int, const char *);
/* lib_tputs.c */
extern NCURSES_EXPORT_VAR(int) _nc_nulls_sent; /* Add one for every null sent */
/* comp_main.c: compiler main */
extern const char * _nc_progname;
/* db_iterator.c */
extern NCURSES_EXPORT(const char *) _nc_next_db(DBDIRS *, int *);
extern NCURSES_EXPORT(const char *) _nc_tic_dir (const char *);
extern NCURSES_EXPORT(void) _nc_first_db(DBDIRS *, int *);
extern NCURSES_EXPORT(void) _nc_last_db(void);
/* write_entry.c */
extern NCURSES_EXPORT(int) _nc_tic_written (void);
#endif /* NCURSES_INTERNALS */
/*
* These entrypoints were used by tack before 1.08.
*/
#undef NCURSES_TACK_1_08
#ifdef NCURSES_INTERNALS
#define NCURSES_TACK_1_08 /* nothing */
#else
#define NCURSES_TACK_1_08 GCC_DEPRECATED("upgrade to tack 1.08")
#endif
/* comp_hash.c: name lookup */
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry
(const char *, const HashValue *) NCURSES_TACK_1_08;
extern NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool) NCURSES_TACK_1_08;
/* comp_scan.c: lexical analysis */
extern NCURSES_EXPORT(void) _nc_reset_input (FILE *, char *) NCURSES_TACK_1_08;
/* comp_expand.c: expand string into readable form */
extern NCURSES_EXPORT(char *) _nc_tic_expand (const char *, bool, int) NCURSES_TACK_1_08;
/* comp_scan.c: decode string from readable form */
extern NCURSES_EXPORT(int) _nc_trans_string (char *, char *) NCURSES_TACK_1_08;
#endif /* NCURSES_TERM_ENTRY_H_incl */
#ifdef __cplusplus
}
#endif
/* *INDENT-ON* */
#endif /* __TIC_H */

View File

@@ -1,68 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2001,2009 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/*
* unctrl.h
*
* Display a printable version of a control character.
* Control characters are displayed in caret notation (^x), DELETE is displayed
* as ^?. Printable characters are displayed as is.
*/
/* $Id: unctrl.h.in,v 1.12 2020/02/02 23:34:34 tom Exp $ */
#ifndef NCURSES_UNCTRL_H_incl
#define NCURSES_UNCTRL_H_incl 1
#undef NCURSES_VERSION
#define NCURSES_VERSION "6.3"
#ifdef __cplusplus
extern "C" {
#endif
#include <curses.h>
#undef unctrl
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
#if 1
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
#endif
#ifdef __cplusplus
}
#endif
#endif /* NCURSES_UNCTRL_H_incl */

View File

@@ -1,68 +0,0 @@
/****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2001,2009 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
/*
* unctrl.h
*
* Display a printable version of a control character.
* Control characters are displayed in caret notation (^x), DELETE is displayed
* as ^?. Printable characters are displayed as is.
*/
/* $Id: unctrl.h.in,v 1.12 2020/02/02 23:34:34 tom Exp $ */
#ifndef NCURSES_UNCTRL_H_incl
#define NCURSES_UNCTRL_H_incl 1
#undef NCURSES_VERSION
#define NCURSES_VERSION "@NCURSES_MAJOR@.@NCURSES_MINOR@"
#ifdef __cplusplus
extern "C" {
#endif
#include <curses.h>
#undef unctrl
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
#if @NCURSES_SP_FUNCS@
NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
#endif
#ifdef __cplusplus
}
#endif
#endif /* NCURSES_UNCTRL_H_incl */

View File

@@ -1,75 +0,0 @@
/****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2008-2014,2017 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 *
* "Software"), to deal in the Software without restriction, including *
* without limitation the rights to use, copy, modify, merge, publish, *
* distribute, distribute with modifications, sublicense, and/or sell *
* copies of the Software, and to permit persons to whom the Software is *
* furnished to do so, subject to the following conditions: *
* *
* The above copyright notice and this permission notice shall be included *
* in all copies or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
* IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
* THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
* *
* Except as contained in this notice, the name(s) of the above copyright *
* holders shall not be used in advertising or otherwise to promote the *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
/****************************************************************************
* Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
/* $Id: win32_curses.h,v 1.3 2021/06/17 21:26:02 tom Exp $ */
/*
* This is the interface we use on Windows to mimic the control of the settings
* of what acts like the classic TTY - the Windows Console.
*/
#if (defined(_WIN32) || defined(_WIN64))
#ifndef _NC_WIN32_CURSES_H
#define _NC_WIN32_CURSES_H 1
struct winconmode
{
unsigned long dwFlagIn;
unsigned long dwFlagOut;
};
extern NCURSES_EXPORT(void*) _nc_console_fd2handle(int fd);
extern NCURSES_EXPORT(int) _nc_console_setmode(void* handle, const struct winconmode* arg);
extern NCURSES_EXPORT(int) _nc_console_getmode(void* handle, struct winconmode* arg);
extern NCURSES_EXPORT(int) _nc_console_flush(void* handle);
/*
A few definitions of Unix functions we need to emulate
*/
#define SIGHUP 1
#define SIGKILL 9
#undef getlogin
#define getlogin() getenv("USERNAME")
#undef ttyname
#define ttyname(fd) NULL
#undef sleep
#define sleep(n) Sleep((n) * 1000)
#undef gettimeofday
#define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
#endif /* _NC_WIN32_CURSES_H */
#endif /* _WIN32||_WIN64 */

Binary file not shown.

View File

@@ -1 +0,0 @@
libformt.so.6

View File

@@ -1 +0,0 @@
libformt.so.6.3

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
libmenut.so.6

View File

@@ -1 +0,0 @@
libmenut.so.6.3

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
libncursest.so.6

View File

@@ -1 +0,0 @@
libncursest.so.6.3

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +0,0 @@
libpanelt.so.6

View File

@@ -1 +0,0 @@
libpanelt.so.6.3

Binary file not shown.

Binary file not shown.