MFV r262617: ncurses 5.9.
This commit is contained in:
commit
06bfebdedb
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=262629
@ -1,4 +1,4 @@
|
|||||||
Announcing ncurses 5.7
|
Announcing ncurses 5.9
|
||||||
|
|
||||||
The ncurses (new curses) library is a free software emulation of
|
The ncurses (new curses) library is a free software emulation of
|
||||||
curses in System V Release 4.0, and more. It uses terminfo format,
|
curses in System V Release 4.0, and more. It uses terminfo format,
|
||||||
@ -27,217 +27,30 @@
|
|||||||
Release Notes
|
Release Notes
|
||||||
|
|
||||||
This release is designed to be upward compatible from ncurses 5.0
|
This release is designed to be upward compatible from ncurses 5.0
|
||||||
through 5.6; very few applications will require recompilation,
|
through 5.8; very few applications will require recompilation,
|
||||||
depending on the platform. These are the highlights from the
|
depending on the platform. These are the highlights from the
|
||||||
change-log since ncurses 5.6 release.
|
change-log since ncurses 5.8 release.
|
||||||
|
|
||||||
Interface changes:
|
This is a bug-fix release, correcting a small number of urgent
|
||||||
* generate linkable stubs for some macros:
|
problems in the ncurses library from the 5.8 release.
|
||||||
getattrs
|
|
||||||
|
|
||||||
New features and improvements:
|
It also improves the Ada95 binding:
|
||||||
* library
|
* fixes a longstanding portability problem with its use of the
|
||||||
+ new flavor of the ncurses library provides rudimentary
|
[3]set_field_type function. Because that function uses
|
||||||
support for POSIX threads. Several functions are reentrant,
|
variable-length argument lists, its interface with gnat does not
|
||||||
but most require either a window-level or screen-level mutex.
|
work with certain platforms.
|
||||||
(This is API-compatible, but not ABI-compatible with the
|
* improves configurability and portability, particularly when built
|
||||||
normal library).
|
separately from the main ncurses tree. The 5.8 release introduced
|
||||||
+ add NCURSES_OPAQUE symbol to curses.h, will use to make
|
scripts which can be used to construct separate tarballs for the
|
||||||
structs opaque in selected configurations.
|
Ada95 and ncurses examples.
|
||||||
+ add NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS symbols to
|
Those were a proof of concept. For the 5.9 release, those scripts
|
||||||
curses.h to make it simpler to tell if the extended functions
|
are augmented with rpm- and dpkg-scripts used in test builds
|
||||||
and/or colors are declared.
|
against a variety of gnat- and system ncurses versions as old as
|
||||||
+ add wresize() to C++ binding
|
gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
|
||||||
+ eliminate fixed-buffer vsprintf() calls in C++ binding.
|
[4]here.
|
||||||
+ add several functions to C++ binding which wrap C functions
|
* additional improvements were made for portability of the ncurses
|
||||||
that pass a WINDOW* parameter.
|
examples, adding rpm- and dpkg-scripts for test-builds. See
|
||||||
+ adapt mouse-handling code from menu library in form-library
|
[5]this page for snapshots and other information.
|
||||||
+ improve tracing for form library, showing created forms,
|
|
||||||
fields, etc.
|
|
||||||
+ make $NCURSES_NO_PADDING feature work for termcap interface .
|
|
||||||
+ add check to trace-file open, if the given name is a
|
|
||||||
directory, add ".log" to the name and try again.
|
|
||||||
+ several new manpages: curs_legacy.3x, curs_memleaks.3x,
|
|
||||||
curs_opaque.3x and curs_threads.3x
|
|
||||||
* programs:
|
|
||||||
+ modified three test-programs to demonstrate the threading
|
|
||||||
support in this version: ditto, rain, worm.
|
|
||||||
+ several new test-programs: demo_panels, dots_mvcur,
|
|
||||||
inch_wide, inchs, key_name, key_names, savescreen,
|
|
||||||
savescreen.sh test_arrays, test_get_wstr, test_getstr,
|
|
||||||
test_instr, test_inwstr and test_opaque.
|
|
||||||
+ add adacurses-config to the Ada95 install.
|
|
||||||
+ modify tic -f option to format spaces as \s to prevent them
|
|
||||||
from being lost when that is read back in unformatted
|
|
||||||
strings.
|
|
||||||
+ The tack program is now distributed separately from ncurses.
|
|
||||||
* terminal database
|
|
||||||
+ added entries:
|
|
||||||
o Eterm-256color, Eterm-88color and rxvt-88color
|
|
||||||
o aterm
|
|
||||||
o konsole-256color
|
|
||||||
o mrxvt
|
|
||||||
o screen.mlterm
|
|
||||||
o screen.rxvt
|
|
||||||
o teraterm4.59 is now the primary primary teraterm entry,
|
|
||||||
renamed original to teraterm2.3
|
|
||||||
o 9term terminal
|
|
||||||
o Newbury Data entries
|
|
||||||
+ updated/improved entries:
|
|
||||||
o gnome to version 2.22.3
|
|
||||||
o h19, z100
|
|
||||||
o konsole to version 1.6.6
|
|
||||||
o mlterm, mlterm+pcfkeys
|
|
||||||
o xterm, and building-blocks for function-keys to [3]xterm
|
|
||||||
patch #230.
|
|
||||||
|
|
||||||
Major bug fixes:
|
|
||||||
* add logic to tic for cancelling strings in user-defined
|
|
||||||
capabilities (this is needed for current konsole terminfo entry).
|
|
||||||
* modify mk-1st.awk so the generated makefile rules for linking or
|
|
||||||
installing shared libraries do not first remove the library, in
|
|
||||||
case it is in use, e.g., libncurses.so by /bin/sh.
|
|
||||||
* correct check for notimeout() in wgetch().
|
|
||||||
* fix a sign-extension bug in infocmp's repair_acsc() function.
|
|
||||||
* change winnstr() to stop at the end of the line.
|
|
||||||
* make Ada95 demo_panels() example work.
|
|
||||||
* fix for adding a non-spacing character at the beginning of a line.
|
|
||||||
* fill in extended-color pair to make colors work for
|
|
||||||
wide-characters using extended-colors.
|
|
||||||
* improve refresh of window on top of multi-column characters,
|
|
||||||
taking into account split characters on left/right window
|
|
||||||
boundaries.
|
|
||||||
* modify win_wchnstr() to ensure that only a base cell is returned
|
|
||||||
for each multi-column character.
|
|
||||||
* improve waddch() and winsch() handling of EILSEQ from mbrtowc() by
|
|
||||||
using unctrl() to display illegal bytes rather than trying to
|
|
||||||
append further bytes to make up a valid sequence.
|
|
||||||
* restore curs_set() state after endwin()/refresh()
|
|
||||||
* modify keyname() to use "^X" form only if meta() has been called,
|
|
||||||
or if keyname() is called without initializing curses, e.g., via
|
|
||||||
initscr() or newterm().
|
|
||||||
* modify unctrl() to check codes in 128-255 range versus isprint().
|
|
||||||
If they are not printable, and locale was set, use a "M-" or "~"
|
|
||||||
sequence.
|
|
||||||
* improve resizeterm() by moving ripped-off lines, and repainting
|
|
||||||
the soft-keys.
|
|
||||||
* modify form library to accept control characters such as newline
|
|
||||||
in set_field_buffer(), which is compatible with Solaris.
|
|
||||||
* use NCURSES_MOUSE_MASK() in definition of BUTTON_RELEASE(), etc.,
|
|
||||||
to make those work properly with the --enable-ext-mouse
|
|
||||||
configuration
|
|
||||||
* correct some functions in Ada95 binding which were using return
|
|
||||||
value from C where none was returned.
|
|
||||||
* reviewed/fixed issues reported by Coverity and Klocwork tools.
|
|
||||||
|
|
||||||
Portability:
|
|
||||||
* configure script:
|
|
||||||
+ new options:
|
|
||||||
|
|
||||||
--disable-big-strings
|
|
||||||
control whether static string tables are generated
|
|
||||||
as single large strings (to improve startup
|
|
||||||
performance), or as array of individual strings.
|
|
||||||
|
|
||||||
--disable-relink
|
|
||||||
control whether shared libraries are relinked
|
|
||||||
(during install) when rpath is enabled.
|
|
||||||
|
|
||||||
--disable-tic-depends
|
|
||||||
make explicit whether tic library depends on
|
|
||||||
ncurses/ncursesw library.
|
|
||||||
|
|
||||||
--enable-mixed-case
|
|
||||||
override the configure script's check if the
|
|
||||||
filesystem supports mixed-case filenames. This
|
|
||||||
allows one to control how the terminal database
|
|
||||||
maps to the filesystem. For filesystems that do not
|
|
||||||
support mixed-case, the library uses generate
|
|
||||||
2-character (hexadecimal) codes for the lower-level
|
|
||||||
of the filesystem terminfo database
|
|
||||||
|
|
||||||
--enable-reentrant
|
|
||||||
builds a different flavor of the ncurses library
|
|
||||||
(ncursest) which improves reentrant use of the
|
|
||||||
library by reducing global and static variables
|
|
||||||
(see the "--with-pthread" option for the threaded
|
|
||||||
support).
|
|
||||||
|
|
||||||
--enable-weak-symbols
|
|
||||||
use weak-symbols for linking to the POSIX thread
|
|
||||||
library, and use the same soname for the ncurses
|
|
||||||
shared library as the normal library (caveat: the
|
|
||||||
ABI is for the threaded library, which makes global
|
|
||||||
data accessed via functions).
|
|
||||||
|
|
||||||
--with-pthread
|
|
||||||
build with the POSIX thread library (tested with
|
|
||||||
AIX, Linux, FreeBSD, OpenBSD, HPUX, IRIX64,
|
|
||||||
Solaris, Tru64).
|
|
||||||
|
|
||||||
--with-ticlib
|
|
||||||
build/install the tic-support functions in a
|
|
||||||
separate library
|
|
||||||
|
|
||||||
+ improved options:
|
|
||||||
|
|
||||||
--enable-ext-colors
|
|
||||||
requires the wide-character configuration.
|
|
||||||
|
|
||||||
--with-chtype
|
|
||||||
ignore option value "unsigned" is always added to
|
|
||||||
the type in curses.h; do the same for
|
|
||||||
--with-mmask-t.
|
|
||||||
|
|
||||||
--with-dmalloc
|
|
||||||
build-fix for redefinition of strndup.
|
|
||||||
|
|
||||||
--with-hashed-db
|
|
||||||
accepts a parameter which is the install-prefix of
|
|
||||||
a given Berkeley Database.
|
|
||||||
|
|
||||||
--with-hashed-db
|
|
||||||
the $LIBS environment variable overrides the search
|
|
||||||
for the db library.
|
|
||||||
|
|
||||||
--without-hashed-db
|
|
||||||
assumed when "--disable-database" is used.
|
|
||||||
|
|
||||||
* other configure/build issues:
|
|
||||||
+ build-fixes for LynxOS
|
|
||||||
+ modify shared-library rules to allow FreeBSD 3.x to use
|
|
||||||
rpath.
|
|
||||||
+ build-fix for FreeBSD "contemporary" TTY interface.
|
|
||||||
+ build-fixes for AIX with libtool.
|
|
||||||
+ build-fixes for Darwin and libtool.
|
|
||||||
+ modify BeOS-specific ifdef's to build on Haiku.
|
|
||||||
+ corrected gcc options for building shared libraries on
|
|
||||||
Solaris and IRIX64.
|
|
||||||
+ change shared-library configuration for OpenBSD, make rpath
|
|
||||||
work.
|
|
||||||
+ build-fixes for using libutf8, e.g., on OpenBSD 3.7
|
|
||||||
+ add "-e" option in ncurses/Makefile.in when generating
|
|
||||||
source-files to force earlier exit if the build environment
|
|
||||||
fails unexpectedly.
|
|
||||||
+ add support for shared libraries for QNX.
|
|
||||||
+ change delimiter in MKlib_gen.sh from '%' to '@', to avoid
|
|
||||||
substitution by IBM xlc to '#' as part of its extensions to
|
|
||||||
digraphs.
|
|
||||||
* library:
|
|
||||||
+ rewrite wrapper for wcrtomb(), making it work on Solaris.
|
|
||||||
This is used in the form library to determine the length of
|
|
||||||
the buffer needed by field_buffer.
|
|
||||||
+ add/use configure script macro CF_SIG_ATOMIC_T, use the
|
|
||||||
corresponding type for data manipulated by signal handlers.
|
|
||||||
+ set locale in misc/ncurses-config.in since it uses a range
|
|
||||||
+ disable GPM mouse support when $TERM does not happen to
|
|
||||||
contain "linux", since Gpm_Open() no longer limits its
|
|
||||||
assertion to terminals that it might handle, e.g., within
|
|
||||||
"screen" in xterm.
|
|
||||||
+ reset mouse file-descriptor when unloading GPM library.
|
|
||||||
* test programs:
|
|
||||||
+ update test programs to build/work with various UNIX curses
|
|
||||||
for comparisons.
|
|
||||||
|
|
||||||
Features of Ncurses
|
Features of Ncurses
|
||||||
|
|
||||||
@ -274,15 +87,15 @@
|
|||||||
* Support for mouse event reporting with X Window xterm and FreeBSD
|
* Support for mouse event reporting with X Window xterm and FreeBSD
|
||||||
and OS/2 console windows.
|
and OS/2 console windows.
|
||||||
* Extended mouse support via Alessandro Rubini's gpm package.
|
* Extended mouse support via Alessandro Rubini's gpm package.
|
||||||
* The function wresize() allows you to resize windows, preserving
|
* The function wresize allows you to resize windows, preserving
|
||||||
their data.
|
their data.
|
||||||
* The function use_default_colors() allows you to use the terminal's
|
* The function use_default_colors allows you to use the terminal's
|
||||||
default colors for the default color pair, achieving the effect of
|
default colors for the default color pair, achieving the effect of
|
||||||
transparent colors.
|
transparent colors.
|
||||||
* The functions keyok() and define_key() allow you to better control
|
* The functions keyok and define_key allow you to better control the
|
||||||
the use of function keys, e.g., disabling the ncurses KEY_MOUSE,
|
use of function keys, e.g., disabling the ncurses KEY_MOUSE, or by
|
||||||
or by defining more than one control sequence to map to a given
|
defining more than one control sequence to map to a given key
|
||||||
key code.
|
code.
|
||||||
* Support for 256-color terminals, such as modern xterm, when
|
* Support for 256-color terminals, such as modern xterm, when
|
||||||
configured using the --enable-ext-colors option.
|
configured using the --enable-ext-colors option.
|
||||||
* Support for 16-color terminals, such as aixterm and modern xterm.
|
* Support for 16-color terminals, such as aixterm and modern xterm.
|
||||||
@ -293,7 +106,7 @@
|
|||||||
incorporates a novel, simple, and cheap algorithm that enables it
|
incorporates a novel, simple, and cheap algorithm that enables it
|
||||||
to make optimal use of hardware scrolling, line-insertion, and
|
to make optimal use of hardware scrolling, line-insertion, and
|
||||||
line-deletion for screen-line movements. This algorithm is more
|
line-deletion for screen-line movements. This algorithm is more
|
||||||
powerful than the 4.4BSD curses quickch() routine.
|
powerful than the 4.4BSD curses quickch routine.
|
||||||
* Real support for terminals with the magic-cookie glitch. The
|
* Real support for terminals with the magic-cookie glitch. The
|
||||||
screen-update code will refrain from drawing a highlight if the
|
screen-update code will refrain from drawing a highlight if the
|
||||||
magic- cookie unattributed spaces required just before the
|
magic- cookie unattributed spaces required just before the
|
||||||
@ -356,55 +169,55 @@
|
|||||||
|
|
||||||
cdk
|
cdk
|
||||||
Curses Development Kit
|
Curses Development Kit
|
||||||
[4]http://invisible-island.net/cdk/
|
[6]http://invisible-island.net/cdk/
|
||||||
[5]http://www.vexus.ca/products/CDK/
|
[7]http://www.vexus.ca/products/CDK/
|
||||||
|
|
||||||
ded
|
ded
|
||||||
directory-editor
|
directory-editor
|
||||||
[6]http://invisible-island.net/ded/
|
[8]http://invisible-island.net/ded/
|
||||||
|
|
||||||
dialog
|
dialog
|
||||||
the underlying application used in Slackware's setup, and the
|
the underlying application used in Slackware's setup, and the
|
||||||
basis for similar applications on GNU/Linux.
|
basis for similar applications on GNU/Linux.
|
||||||
[7]http://invisible-island.net/dialog/
|
[9]http://invisible-island.net/dialog/
|
||||||
|
|
||||||
lynx
|
lynx
|
||||||
the character-screen WWW browser
|
the character-screen WWW browser
|
||||||
[8]http://lynx.isc.org/release/
|
[10]http://lynx.isc.org/release/
|
||||||
|
|
||||||
Midnight Commander
|
Midnight Commander
|
||||||
file manager
|
file manager
|
||||||
[9]http://www.ibiblio.org/mc/
|
[11]http://www.midnight-commander.org/
|
||||||
|
|
||||||
mutt
|
mutt
|
||||||
mail utility
|
mail utility
|
||||||
[10]http://www.mutt.org/
|
[12]http://www.mutt.org/
|
||||||
|
|
||||||
ncftp
|
ncftp
|
||||||
file-transfer utility
|
file-transfer utility
|
||||||
[11]http://www.ncftp.com/
|
[13]http://www.ncftp.com/
|
||||||
|
|
||||||
nvi
|
nvi
|
||||||
New vi versions 1.50 are able to use ncurses versions 1.9.7 and
|
New vi versions 1.50 are able to use ncurses versions 1.9.7 and
|
||||||
later.
|
later.
|
||||||
[12]http://www.bostic.com/vi/
|
[14]https://sites.google.com/a/bostic.com/keithbostic/nvi
|
||||||
|
|
||||||
pinfo
|
pinfo
|
||||||
Lynx-like info browser.
|
Lynx-like info browser.
|
||||||
[13]https://alioth.debian.org/projects/pinfo/
|
[15]https://alioth.debian.org/projects/pinfo/
|
||||||
|
|
||||||
tin
|
tin
|
||||||
newsreader, supporting color, MIME [14]http://www.tin.org/
|
newsreader, supporting color, MIME [16]http://www.tin.org/
|
||||||
|
|
||||||
as well as some that use ncurses for the terminfo support alone:
|
as well as some that use ncurses for the terminfo support alone:
|
||||||
|
|
||||||
minicom
|
minicom
|
||||||
terminal emulator
|
terminal emulator
|
||||||
[15]http://alioth.debian.org/projects/minicom/
|
[17]http://alioth.debian.org/projects/minicom/
|
||||||
|
|
||||||
vile
|
vile
|
||||||
vi-like-emacs
|
vi-like-emacs
|
||||||
[16]http://invisible-island.net/vile/
|
[18]http://invisible-island.net/vile/
|
||||||
|
|
||||||
The ncurses distribution includes a selection of test programs
|
The ncurses distribution includes a selection of test programs
|
||||||
(including a few games).
|
(including a few games).
|
||||||
@ -412,11 +225,11 @@
|
|||||||
Who's Who and What's What
|
Who's Who and What's What
|
||||||
|
|
||||||
Zeyd Ben-Halim started it from a previous package pcurses, written by
|
Zeyd Ben-Halim started it from a previous package pcurses, written by
|
||||||
Pavel Curtis. Eric S. Raymond continued development. Jürgen Pfeifer
|
Pavel Curtis. Eric S. Raymond continued development. Juergen Pfeifer
|
||||||
wrote most of the form and menu libraries. Ongoing work is being done
|
wrote most of the form and menu libraries. Ongoing work is being done
|
||||||
by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the
|
by [19]Thomas Dickey. Thomas Dickey acts as the maintainer for the
|
||||||
Free Software Foundation, which holds the copyright on ncurses.
|
Free Software Foundation, which holds the copyright on ncurses.
|
||||||
Contact the current maintainers at [18]bug-ncurses@gnu.org.
|
Contact the current maintainers at [20]bug-ncurses@gnu.org.
|
||||||
|
|
||||||
To join the ncurses mailing list, please write email to
|
To join the ncurses mailing list, please write email to
|
||||||
bug-ncurses-request@gnu.org containing the line:
|
bug-ncurses-request@gnu.org containing the line:
|
||||||
@ -426,7 +239,7 @@ Who's Who and What's What
|
|||||||
and testing of this package.
|
and testing of this package.
|
||||||
|
|
||||||
Beta versions of ncurses and patches to the current release are made
|
Beta versions of ncurses and patches to the current release are made
|
||||||
available at [19]ftp://invisible-island.net/ncurses/ .
|
available at [21]ftp://invisible-island.net/ncurses/ .
|
||||||
|
|
||||||
Future Plans
|
Future Plans
|
||||||
|
|
||||||
@ -440,34 +253,36 @@ Future Plans
|
|||||||
Other Related Resources
|
Other Related Resources
|
||||||
|
|
||||||
The distribution provides a newer version of the terminfo-format
|
The distribution provides a newer version of the terminfo-format
|
||||||
terminal description file once maintained by [20]Eric Raymond . Unlike
|
terminal description file once maintained by [22]Eric Raymond . Unlike
|
||||||
the older version, the termcap and terminfo data are provided in the
|
the older version, the termcap and terminfo data are provided in the
|
||||||
same file, and provides several user-definable extensions beyond the
|
same file, and provides several user-definable extensions beyond the
|
||||||
X/Open specification.
|
X/Open specification.
|
||||||
|
|
||||||
You can find lots of information on terminal-related topics not
|
You can find lots of information on terminal-related topics not
|
||||||
covered in the terminfo file at [21]Richard Shuford's archive .
|
covered in the terminfo file at [23]Richard Shuford's archive .
|
||||||
|
|
||||||
References
|
References
|
||||||
|
|
||||||
1. ftp://ftp.gnu.org/gnu/ncurses/
|
1. ftp://ftp.gnu.org/gnu/ncurses/
|
||||||
2. ftp://invisible-island.net/ncurses/
|
2. ftp://invisible-island.net/ncurses/
|
||||||
3. http://invisible-island.net/xterm/xterm.log.html#xterm_230
|
3. http://invisible-island.net/ncurses/man/form_fieldtype.3x
|
||||||
4. http://invisible-island.net/cdk/
|
4. http://invisible-island.net/ncurses/ncurses-Ada95.html
|
||||||
5. http://www.vexus.ca/products/CDK/
|
5. http://invisible-island.net/ncurses/ncurses-examples.html
|
||||||
6. http://invisible-island.net/ded/
|
6. http://invisible-island.net/cdk/
|
||||||
7. http://invisible-island.net/dialog/
|
7. http://www.vexus.ca/products/CDK/
|
||||||
8. http://lynx.isc.org/release/
|
8. http://invisible-island.net/ded/
|
||||||
9. http://www.ibiblio.org/mc/
|
9. http://invisible-island.net/dialog/
|
||||||
10. http://www.mutt.org/
|
10. http://lynx.isc.org/release/
|
||||||
11. http://www.ncftp.com/
|
11. http://www.midnight-commander.org/
|
||||||
12. http://www.bostic.com/vi/
|
12. http://www.mutt.org/
|
||||||
13. https://alioth.debian.org/projects/pinfo/
|
13. http://www.ncftp.com/
|
||||||
14. http://www.tin.org/
|
14. https://sites.google.com/a/bostic.com/keithbostic/nvi
|
||||||
15. http://alioth.debian.org/projects/minicom/
|
15. https://alioth.debian.org/projects/pinfo/
|
||||||
16. http://invisible-island.net/vile/
|
16. http://www.tin.org/
|
||||||
17. mailto:dickey@invisible-island.net
|
17. http://alioth.debian.org/projects/minicom/
|
||||||
18. mailto:bug-ncurses@gnu.org
|
18. http://invisible-island.net/vile/
|
||||||
19. ftp://invisible-island.net/ncurses/
|
19. mailto:dickey@invisible-island.net
|
||||||
20. http://www.catb.org/~esr/terminfo/
|
20. mailto:bug-ncurses@gnu.org
|
||||||
21. http://www.cs.utk.edu/~shuford/terminal_index.html
|
21. ftp://invisible-island.net/ncurses/
|
||||||
|
22. http://www.catb.org/~esr/terminfo/
|
||||||
|
23. http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. --
|
-- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- Permission is hereby granted, free of charge, to any person obtaining a --
|
-- Permission is hereby granted, free of charge, to any person obtaining a --
|
||||||
-- copy of this software and associated documentation files (the --
|
-- copy of this software and associated documentation files (the --
|
||||||
@ -25,7 +25,7 @@
|
|||||||
-- sale, use or other dealings in this Software without prior written --
|
-- sale, use or other dealings in this Software without prior written --
|
||||||
-- authorization. --
|
-- authorization. --
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- $Id: INSTALL,v 1.135 2008/11/02 21:13:51 tom Exp $
|
-- $Id: INSTALL,v 1.155 2011/03/31 08:27:24 tom Exp $
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
How to install Ncurses/Terminfo on your system
|
How to install Ncurses/Terminfo on your system
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
@ -39,9 +39,8 @@ d.d is the current version number. There should be several subdirectories,
|
|||||||
including `c++', `form', `man', `menu', 'misc', `ncurses', `panel', `progs',
|
including `c++', `form', `man', `menu', 'misc', `ncurses', `panel', `progs',
|
||||||
and `test'. See the README file for a roadmap to the package.
|
and `test'. See the README file for a roadmap to the package.
|
||||||
|
|
||||||
If you are a Linux or FreeBSD or NetBSD distribution integrator or packager,
|
If you are a distribution integrator or packager, please read and act on the
|
||||||
please read and act on the section titled IF YOU ARE A SYSTEM INTEGRATOR
|
section titled IF YOU ARE A SYSTEM INTEGRATOR below.
|
||||||
below.
|
|
||||||
|
|
||||||
If you are converting from BSD curses and do not have root access, be sure
|
If you are converting from BSD curses and do not have root access, be sure
|
||||||
to read the BSD CONVERSION NOTES section below.
|
to read the BSD CONVERSION NOTES section below.
|
||||||
@ -58,10 +57,6 @@ CROSS-COMPILER.
|
|||||||
If you want to build the Ada95 binding, go to the Ada95 directory and
|
If you want to build the Ada95 binding, go to the Ada95 directory and
|
||||||
follow the instructions there. The Ada95 binding is not covered below.
|
follow the instructions there. The Ada95 binding is not covered below.
|
||||||
|
|
||||||
If you are using anything but (a) Linux, or (b) one of the 4.4BSD-based
|
|
||||||
i386 Unixes, go read the Portability section in the TO-DO file before you
|
|
||||||
do anything else.
|
|
||||||
|
|
||||||
|
|
||||||
REQUIREMENTS:
|
REQUIREMENTS:
|
||||||
------------
|
------------
|
||||||
@ -86,14 +81,14 @@ INSTALLATION PROCEDURE:
|
|||||||
|
|
||||||
The --prefix option to configure changes the root directory for installing
|
The --prefix option to configure changes the root directory for installing
|
||||||
ncurses. The default is normally in subdirectories of /usr/local, except
|
ncurses. The default is normally in subdirectories of /usr/local, except
|
||||||
for systems where ncurses is normally installed as a system library, e.g.,
|
for systems where ncurses is normally installed as a system library (see
|
||||||
Linux, the various BSD systems and Cygwin. Use --prefix=/usr to replace
|
"IF YOU ARE A SYSTEM INTEGRATOR"). Use --prefix=/usr to replace your
|
||||||
your default curses distribution.
|
default curses distribution.
|
||||||
|
|
||||||
The package gets installed beneath the --prefix directory as follows:
|
The package gets installed beneath the --prefix directory as follows:
|
||||||
|
|
||||||
In $(prefix)/bin: tic, infocmp, captoinfo, tset,
|
In $(prefix)/bin: tic, infocmp, captoinfo, tset,
|
||||||
reset, clear, tput, toe
|
reset, clear, tput, toe, tabs
|
||||||
In $(prefix)/lib: libncurses*.* libcurses.a
|
In $(prefix)/lib: libncurses*.* libcurses.a
|
||||||
In $(prefix)/share/terminfo: compiled terminal descriptions
|
In $(prefix)/share/terminfo: compiled terminal descriptions
|
||||||
In $(prefix)/include: C header files
|
In $(prefix)/include: C header files
|
||||||
@ -105,12 +100,12 @@ INSTALLATION PROCEDURE:
|
|||||||
|
|
||||||
Do not use commands such as
|
Do not use commands such as
|
||||||
|
|
||||||
make install prefix=XXX
|
make install prefix=XXX
|
||||||
|
|
||||||
to change the prefix after configuration, since the prefix value is used
|
to change the prefix after configuration, since the prefix value is used
|
||||||
for some absolute pathnames such as TERMINFO. Instead do this
|
for some absolute pathnames such as TERMINFO. Instead do this
|
||||||
|
|
||||||
make install DESTDIR=XXX
|
make install DESTDIR=XXX
|
||||||
|
|
||||||
See also the discussion of --with-install-prefix.
|
See also the discussion of --with-install-prefix.
|
||||||
|
|
||||||
@ -147,7 +142,7 @@ INSTALLATION PROCEDURE:
|
|||||||
library interfaces are not binary-compatible with the non-wide-character
|
library interfaces are not binary-compatible with the non-wide-character
|
||||||
version. Building and running the wide-character code relies on a fairly
|
version. Building and running the wide-character code relies on a fairly
|
||||||
recent implementation of libiconv. We have built this configuration on
|
recent implementation of libiconv. We have built this configuration on
|
||||||
Linux using libiconv, sometimes requiring libutf8.
|
various systems using libiconv, sometimes requiring libutf8.
|
||||||
|
|
||||||
If you configure using the --with-pthread option, a "t" is appended to
|
If you configure using the --with-pthread option, a "t" is appended to
|
||||||
the library names (e.g., libncursest.a, libncursestw.a).
|
the library names (e.g., libncursest.a, libncursestw.a).
|
||||||
@ -170,8 +165,8 @@ INSTALLATION PROCEDURE:
|
|||||||
./configure --with-shared --without-normal --without-debug
|
./configure --with-shared --without-normal --without-debug
|
||||||
|
|
||||||
Rules for generating shared libraries are highly dependent upon the choice
|
Rules for generating shared libraries are highly dependent upon the choice
|
||||||
of host system and compiler. We've been testing shared libraries on Linux
|
of host system and compiler. We've been testing shared libraries on
|
||||||
and SunOS with gcc, but more work needs to be done to make shared libraries
|
several systems, but more work needs to be done to make shared libraries
|
||||||
work on other systems.
|
work on other systems.
|
||||||
|
|
||||||
If you have libtool installed, you can type
|
If you have libtool installed, you can type
|
||||||
@ -338,6 +333,17 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
--disable-largefile
|
--disable-largefile
|
||||||
Disable compiler flags needed to use large-file interfaces.
|
Disable compiler flags needed to use large-file interfaces.
|
||||||
|
|
||||||
|
--disable-libtool-version
|
||||||
|
when using --with-libtool, control how the major/minor version numbers
|
||||||
|
are used for constructing the library name.
|
||||||
|
|
||||||
|
The default uses the -version-number feature of libtool, which makes
|
||||||
|
the library names compatible (though not identical) with the standard
|
||||||
|
build using --with-shared.
|
||||||
|
|
||||||
|
Use --disable-libtool-version to use the libtool -version-info feature.
|
||||||
|
This corresponds to the setting used before patch 20100515.
|
||||||
|
|
||||||
--disable-leaks
|
--disable-leaks
|
||||||
For testing, compile-in code that frees memory that normally would not
|
For testing, compile-in code that frees memory that normally would not
|
||||||
be freed, to simplify analysis of memory-leaks.
|
be freed, to simplify analysis of memory-leaks.
|
||||||
@ -389,6 +395,12 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
application. These are (for example $TERMINFO) those that allow the
|
application. These are (for example $TERMINFO) those that allow the
|
||||||
search path for the terminfo or termcap entry to be customized.
|
search path for the terminfo or termcap entry to be customized.
|
||||||
|
|
||||||
|
--disable-rpath-hack
|
||||||
|
Normally the configure script helps link libraries found in unusual
|
||||||
|
places by adding an rpath option to the link command. If you are
|
||||||
|
building packages, this feature may be redundant. Use this option
|
||||||
|
to suppress the feature.
|
||||||
|
|
||||||
--disable-scroll-hints
|
--disable-scroll-hints
|
||||||
Compile without scroll-hints code. This option is ignored when
|
Compile without scroll-hints code. This option is ignored when
|
||||||
hashmap scrolling is configured, which is the default.
|
hashmap scrolling is configured, which is the default.
|
||||||
@ -421,7 +433,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
changes several data references to functions to work around this
|
changes several data references to functions to work around this
|
||||||
problem.
|
problem.
|
||||||
|
|
||||||
NOTE: With ncurses 5.1, this may not be necessary, since we are
|
NOTE: With ncurses 5.1, this may not be necessary, since we are
|
||||||
told that some linkers interpret uninitialized global data as a
|
told that some linkers interpret uninitialized global data as a
|
||||||
different type of reference which behaves as described above. We have
|
different type of reference which behaves as described above. We have
|
||||||
explicitly initialized all of the global data to work around the
|
explicitly initialized all of the global data to work around the
|
||||||
@ -450,7 +462,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
warning. There will still be warnings due to subtle inconsistencies
|
warning. There will still be warnings due to subtle inconsistencies
|
||||||
in the interface, but at a lower level.
|
in the interface, but at a lower level.
|
||||||
|
|
||||||
NOTE: configuring ncurses with this option may detract from the
|
NOTE: configuring ncurses with this option may detract from the
|
||||||
portability of your applications by encouraging you to use const in
|
portability of your applications by encouraging you to use const in
|
||||||
places where the XSI curses interface would not allow them. Similar
|
places where the XSI curses interface would not allow them. Similar
|
||||||
issues arise when porting to SVr4 curses, which uses const in even
|
issues arise when porting to SVr4 curses, which uses const in even
|
||||||
@ -471,7 +483,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
encoded. This applies only to the wide-character (--enable-widec)
|
encoded. This applies only to the wide-character (--enable-widec)
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
NOTE: using this option will make libraries which are not binary-
|
NOTE: using this option will make libraries which are not binary-
|
||||||
compatible with libncursesw 5.4. None of the interfaces change, but
|
compatible with libncursesw 5.4. None of the interfaces change, but
|
||||||
applications which have an array of cchar_t's must be recompiled.
|
applications which have an array of cchar_t's must be recompiled.
|
||||||
|
|
||||||
@ -480,7 +492,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
That allows one to use ncurses with a wheel mouse with xterm or
|
That allows one to use ncurses with a wheel mouse with xterm or
|
||||||
similar X terminal emulators.
|
similar X terminal emulators.
|
||||||
|
|
||||||
NOTE: using this option will make libraries which are not binary-
|
NOTE: using this option will make libraries which are not binary-
|
||||||
compatible with libncursesw 5.4. None of the interfaces change, but
|
compatible with libncursesw 5.4. None of the interfaces change, but
|
||||||
applications which have mouse mask mmask_t's must be recompiled.
|
applications which have mouse mask mmask_t's must be recompiled.
|
||||||
|
|
||||||
@ -500,7 +512,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
--enable-getcap-cache
|
--enable-getcap-cache
|
||||||
Cache translated termcaps under the directory $HOME/.terminfo
|
Cache translated termcaps under the directory $HOME/.terminfo
|
||||||
|
|
||||||
NOTE: this sounds good - it makes ncurses run faster the second time.
|
NOTE: this sounds good - it makes ncurses run faster the second time.
|
||||||
But look where the data comes from - an /etc/termcap containing lots of
|
But look where the data comes from - an /etc/termcap containing lots of
|
||||||
entries that are not up to date. If you configure with this option and
|
entries that are not up to date. If you configure with this option and
|
||||||
forget to install the terminfo database before running an ncurses
|
forget to install the terminfo database before running an ncurses
|
||||||
@ -513,6 +525,10 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
may not be accurate, or that your stty settings have disabled the use
|
may not be accurate, or that your stty settings have disabled the use
|
||||||
of tabs.
|
of tabs.
|
||||||
|
|
||||||
|
--enable-interop
|
||||||
|
Compile-in experimental interop bindings. These provide generic types
|
||||||
|
for the form-library.
|
||||||
|
|
||||||
--enable-mixed-case
|
--enable-mixed-case
|
||||||
Controls whether the filesystem on which the terminfo database resides
|
Controls whether the filesystem on which the terminfo database resides
|
||||||
supports mixed-case filenames (normal for UNIX, but not on other
|
supports mixed-case filenames (normal for UNIX, but not on other
|
||||||
@ -525,6 +541,15 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
terminfo entries. This is the default, unless you have disabled the
|
terminfo entries. This is the default, unless you have disabled the
|
||||||
extended functions.
|
extended functions.
|
||||||
|
|
||||||
|
--enable-pc-files
|
||||||
|
If pkg-config is found (see --with-pkg-config), generate ".pc" files
|
||||||
|
for each of the libraries, and install them in pkg-config's library
|
||||||
|
directory.
|
||||||
|
|
||||||
|
--enable-pthreads-eintr
|
||||||
|
add logic in threaded configuration to ensure that a read(2) system
|
||||||
|
call can be interrupted for SIGWINCH.
|
||||||
|
|
||||||
--enable-reentrant
|
--enable-reentrant
|
||||||
Compile experimental configuration which improves reentrant use of the
|
Compile experimental configuration which improves reentrant use of the
|
||||||
library by reducing global and static variables. This option is also
|
library by reducing global and static variables. This option is also
|
||||||
@ -565,6 +590,11 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
is not strictly compatible. This option allows one to implement this
|
is not strictly compatible. This option allows one to implement this
|
||||||
alteration without patching the source code.
|
alteration without patching the source code.
|
||||||
|
|
||||||
|
--enable-sp-funcs
|
||||||
|
Compile-in support for extended functions which accept a SCREEN pointer,
|
||||||
|
reducing the need for juggling the global SP value with set_term() and
|
||||||
|
delscreen().
|
||||||
|
|
||||||
--enable-symlinks
|
--enable-symlinks
|
||||||
If your system supports symbolic links, make tic use symbolic links
|
If your system supports symbolic links, make tic use symbolic links
|
||||||
rather than hard links to save diskspace when writing aliases in the
|
rather than hard links to save diskspace when writing aliases in the
|
||||||
@ -576,6 +606,11 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
capabilities as user-defined strings. This option is the default,
|
capabilities as user-defined strings. This option is the default,
|
||||||
unless you have disabled the extended functions.
|
unless you have disabled the extended functions.
|
||||||
|
|
||||||
|
--enable-term-driver
|
||||||
|
Enable experimental terminal-driver. This is currently used for the
|
||||||
|
MinGW port, by providing a way to substitute the low-level terminfo
|
||||||
|
library with different terminal drivers.
|
||||||
|
|
||||||
--enable-termcap
|
--enable-termcap
|
||||||
Compile in support for reading terminal descriptions from termcap if no
|
Compile in support for reading terminal descriptions from termcap if no
|
||||||
match is found in the terminfo database. See also the --enable-getcap
|
match is found in the terminfo database. See also the --enable-getcap
|
||||||
@ -630,12 +665,23 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
--with-ada-objects=DIR
|
--with-ada-objects=DIR
|
||||||
Tell where to install the Ada objects (default: PREFIX/lib/ada/adalib)
|
Tell where to install the Ada objects (default: PREFIX/lib/ada/adalib)
|
||||||
|
|
||||||
|
--with-ada-sharedlib
|
||||||
|
Build a shared library for Ada95 binding, if the compiler permits.
|
||||||
|
|
||||||
|
NOTE: You must also set the --with-shared option on some platforms
|
||||||
|
for a successful build. You need not use this option when you set
|
||||||
|
--with-shared, unless you want to use the Ada shared library.
|
||||||
|
|
||||||
--with-bool=TYPE
|
--with-bool=TYPE
|
||||||
If --without-cxx is specified, override the type used for the "bool"
|
If --without-cxx is specified, override the type used for the "bool"
|
||||||
declared in curses.h (normally the type is automatically chosen to
|
declared in curses.h (normally the type is automatically chosen to
|
||||||
correspond with that in <stdbool.h>, or defaults to platform-specific
|
correspond with that in <stdbool.h>, or defaults to platform-specific
|
||||||
sizes).
|
sizes).
|
||||||
|
|
||||||
|
--with-build-cpp=XXX
|
||||||
|
This option is provided by the same macro used for $BUILD_CC, etc.,
|
||||||
|
but is not directly used by ncurses.
|
||||||
|
|
||||||
--with-build-cc=XXX
|
--with-build-cc=XXX
|
||||||
If cross-compiling, specify a host C compiler, which is needed to
|
If cross-compiling, specify a host C compiler, which is needed to
|
||||||
compile a few utilities which generate source modules for ncurses.
|
compile a few utilities which generate source modules for ncurses.
|
||||||
@ -682,12 +728,17 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
to use a terminfo database which is compatible with the native
|
to use a terminfo database which is compatible with the native
|
||||||
applications.
|
applications.
|
||||||
|
|
||||||
|
--with-ccharw-max=XXX
|
||||||
|
Override the size of the wide-character array in cchar_t structures.
|
||||||
|
Changing this will alter the binary interface. This defaults to 5.
|
||||||
|
|
||||||
--with-chtype=TYPE
|
--with-chtype=TYPE
|
||||||
Override type of chtype, which stores the video attributes and (if
|
Override type of chtype, which stores the video attributes and (if
|
||||||
--enable-widec is not given) a character. Prior to ncurses 5.5, this
|
--enable-widec is not given) a character. Prior to ncurses 5.5, this
|
||||||
was always unsigned long, but with ncurses 5.5, it may be unsigned.
|
was always unsigned long, but with ncurses 5.5, it may be unsigned.
|
||||||
Use this option if you need to preserve compatibility with 64-bit
|
Use this option if you need to preserve compatibility with 64-bit
|
||||||
executables.
|
executables, e.g., by setting "--with-chtype=long" (the configure
|
||||||
|
script supplies "unsigned").
|
||||||
|
|
||||||
--with-database=XXX
|
--with-database=XXX
|
||||||
Specify the terminfo source file to install. Usually you will wish
|
Specify the terminfo source file to install. Usually you will wish
|
||||||
@ -719,7 +770,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
use Alessandro Rubini's GPM library to provide mouse support on the
|
use Alessandro Rubini's GPM library to provide mouse support on the
|
||||||
Linux console. Prior to ncurses 5.5, this introduced a dependency on
|
Linux console. Prior to ncurses 5.5, this introduced a dependency on
|
||||||
the GPM library.
|
the GPM library.
|
||||||
|
|
||||||
Currently ncurses uses the dlsym() function to bind to the library at
|
Currently ncurses uses the dlsym() function to bind to the library at
|
||||||
runtime, so it is only necessary that the library be present when
|
runtime, so it is only necessary that the library be present when
|
||||||
ncurses is built, to obtain the filename (or soname) used in the
|
ncurses is built, to obtain the filename (or soname) used in the
|
||||||
@ -736,7 +787,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
Use a hashed database for storing terminfo data rather than storing
|
Use a hashed database for storing terminfo data rather than storing
|
||||||
each compiled entry in a separate binary file within a directory
|
each compiled entry in a separate binary file within a directory
|
||||||
tree.
|
tree.
|
||||||
|
|
||||||
In particular, this uses the Berkeley database 1.8.5 interface, as
|
In particular, this uses the Berkeley database 1.8.5 interface, as
|
||||||
provided by that and its successors db 2, 3, and 4. The actual
|
provided by that and its successors db 2, 3, and 4. The actual
|
||||||
interface is slightly different in the successor versions of the
|
interface is slightly different in the successor versions of the
|
||||||
@ -770,7 +821,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
make install DESTDIR=XXX
|
make install DESTDIR=XXX
|
||||||
since the makefiles pass that variable to subordinate makes.
|
since the makefiles pass that variable to subordinate makes.
|
||||||
|
|
||||||
NOTE: a few systems build shared libraries with fixed pathnames; this
|
NOTE: a few systems build shared libraries with fixed pathnames; this
|
||||||
option probably will not work for those configurations.
|
option probably will not work for those configurations.
|
||||||
|
|
||||||
--with-libtool[=XXX]
|
--with-libtool[=XXX]
|
||||||
@ -807,9 +858,9 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
|
|
||||||
--with-manpage-renames=XXX
|
--with-manpage-renames=XXX
|
||||||
Tell the configure script that you wish to rename the manpages while
|
Tell the configure script that you wish to rename the manpages while
|
||||||
installing. Currently the only distribution which does this is
|
installing. Currently the only distribution which does this is Debian.
|
||||||
the Linux Debian. The option value specifies the name of a file
|
The option value specifies the name of a file that lists the renamed
|
||||||
that lists the renamed files, e.g., $srcdir/man/man_db.renames
|
files, e.g., $srcdir/man/man_db.renames
|
||||||
|
|
||||||
--with-manpage-symlinks
|
--with-manpage-symlinks
|
||||||
Tell the configure script that you wish to make symbolic links in the
|
Tell the configure script that you wish to make symbolic links in the
|
||||||
@ -850,6 +901,9 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
those using termcap, do not use the higher speeds. Your application
|
those using termcap, do not use the higher speeds. Your application
|
||||||
(or system, in general) may or may not.
|
(or system, in general) may or may not.
|
||||||
|
|
||||||
|
--with-pkg-config=[DIR]
|
||||||
|
Check for pkg-config, optionally specifying its path.
|
||||||
|
|
||||||
--with-profile
|
--with-profile
|
||||||
Generate profile-libraries These are named by adding "_p" to the root,
|
Generate profile-libraries These are named by adding "_p" to the root,
|
||||||
e.g., libncurses_p.a
|
e.g., libncurses_p.a
|
||||||
@ -873,7 +927,7 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
which you are building, typically using a ".so" suffix, along with
|
which you are building, typically using a ".so" suffix, along with
|
||||||
symbolic links that refer to the release version.
|
symbolic links that refer to the release version.
|
||||||
|
|
||||||
NOTE: Unless you override the configure script by setting the $CFLAGS
|
NOTE: Unless you override the configure script by setting the $CFLAGS
|
||||||
environment variable, these will not be built with the -g debugging
|
environment variable, these will not be built with the -g debugging
|
||||||
option.
|
option.
|
||||||
|
|
||||||
@ -885,7 +939,11 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
loads the system's copy of the ncurses shared libraries. In that
|
loads the system's copy of the ncurses shared libraries. In that
|
||||||
case, using the misc/shlib script may be helpful, since it sets
|
case, using the misc/shlib script may be helpful, since it sets
|
||||||
$LD_LIBRARY_PATH to point to the build tree, e.g.,
|
$LD_LIBRARY_PATH to point to the build tree, e.g.,
|
||||||
./misc/shlib make install
|
./misc/shlib make install
|
||||||
|
|
||||||
|
NOTE: If you use the --with-ada-sharedlib option, you should also
|
||||||
|
set this option, to ensure that C-language modules needed for the
|
||||||
|
Ada binding use appropriate compiler options.
|
||||||
|
|
||||||
--with-shlib-version=XXX
|
--with-shlib-version=XXX
|
||||||
Specify whether to use the release or ABI version for shared libraries.
|
Specify whether to use the release or ABI version for shared libraries.
|
||||||
@ -946,6 +1004,17 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
For testing, compile with debug option.
|
For testing, compile with debug option.
|
||||||
This also sets the --disable-leaks option.
|
This also sets the --disable-leaks option.
|
||||||
|
|
||||||
|
--with-wrap-prefix=XXX
|
||||||
|
When using the --enable-reentrant option, ncurses redefines variables
|
||||||
|
that would be global in curses, e.g., LINES, as a macro that calls a
|
||||||
|
"wrapping" function which fetches the data from the current SCREEN
|
||||||
|
structure. Normally that function is named by prepending "_nc_" to the
|
||||||
|
variable's name. The function is technically private (since portable
|
||||||
|
applications would not refer directly to it). But according to one
|
||||||
|
line of reasoning, it is not the same type of "private" as functions
|
||||||
|
which applications should not call even via a macro. This configure
|
||||||
|
option lets you choose the prefix for these wrapped variables.
|
||||||
|
|
||||||
--without-ada
|
--without-ada
|
||||||
Suppress the configure script's check for Ada95, do not build the
|
Suppress the configure script's check for Ada95, do not build the
|
||||||
Ada95 binding and related demo.
|
Ada95 binding and related demo.
|
||||||
@ -975,11 +1044,18 @@ SUMMARY OF CONFIGURE OPTIONS:
|
|||||||
--without-dlsym
|
--without-dlsym
|
||||||
Do not use dlsym() to load GPM dynamically.
|
Do not use dlsym() to load GPM dynamically.
|
||||||
|
|
||||||
|
--without-manpages
|
||||||
|
Tell the configure script to suppress the install of ncurses' manpages.
|
||||||
|
|
||||||
--without-progs
|
--without-progs
|
||||||
Tell the configure script to suppress the build of ncurses' application
|
Tell the configure script to suppress the build of ncurses' application
|
||||||
programs (e.g., tic). The test applications will still be built if you
|
programs (e.g., tic). The test applications will still be built if you
|
||||||
type "make", though not if you simply do "make install".
|
type "make", though not if you simply do "make install".
|
||||||
|
|
||||||
|
--without-tests
|
||||||
|
Tell the configure script to suppress the build of ncurses' test
|
||||||
|
programs.
|
||||||
|
|
||||||
--without-xterm-new
|
--without-xterm-new
|
||||||
Tell the configure script to use "xterm-old" for the entry used in
|
Tell the configure script to use "xterm-old" for the entry used in
|
||||||
the terminfo database. This will work with variations such as
|
the terminfo database. This will work with variations such as
|
||||||
@ -1001,6 +1077,60 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
|
|||||||
you may encounter when building a system with different versions of
|
you may encounter when building a system with different versions of
|
||||||
ncurses:
|
ncurses:
|
||||||
|
|
||||||
|
5.8 (Feb 26, 2011)
|
||||||
|
Interface changes:
|
||||||
|
|
||||||
|
+ add an alternate library configuration, i.e., "terminal driver" to
|
||||||
|
support port to Windows, built with MinGW. There are two drivers
|
||||||
|
(terminfo and Windows console). The terminfo driver works on other
|
||||||
|
platforms.
|
||||||
|
|
||||||
|
+ add a new set of functions which accept a SCREEN* parameter, in
|
||||||
|
contrast with the original set which use the global value "sp".
|
||||||
|
By default, these names end with "_sp", and are otherwise
|
||||||
|
functionally identical with the originals.
|
||||||
|
|
||||||
|
In addition to the "_sp" functions, there are a few new functions
|
||||||
|
associated with this feature: ceiling_panel, ground_panel,
|
||||||
|
new_prescr.
|
||||||
|
|
||||||
|
If the library is not built with the sp-funcs extension, there
|
||||||
|
are no related interface changes.
|
||||||
|
|
||||||
|
+ add tiparm function based on review of X/Open Curses Issue 7.
|
||||||
|
|
||||||
|
+ change internal _nc_has_mouse function to public has_mouse function
|
||||||
|
|
||||||
|
Added extensions:
|
||||||
|
|
||||||
|
+ add a few more functions to support the NCURSES_OPAQUE feature:
|
||||||
|
get_escdelay, is_pad, is_subwin
|
||||||
|
|
||||||
|
Added internal functions (other than "_sp" variants):
|
||||||
|
_nc_curscr_of
|
||||||
|
_nc_format_slks
|
||||||
|
_nc_get_alias_table
|
||||||
|
_nc_get_hash_info
|
||||||
|
_nc_insert_wch
|
||||||
|
_nc_newscr_of
|
||||||
|
_nc_outc_wrapper
|
||||||
|
_nc_retrace_char
|
||||||
|
_nc_retrace_int_attr_t
|
||||||
|
_nc_retrace_mmask_t
|
||||||
|
_nc_setup_tinfo
|
||||||
|
_nc_stdscr_of
|
||||||
|
_nc_tinfo_cmdch
|
||||||
|
|
||||||
|
Removed internal functions:
|
||||||
|
_nc_makenew (some configurations replace by _nc_makenew_sp)
|
||||||
|
|
||||||
|
Modified internal functions:
|
||||||
|
_nc_UpdateAttrs
|
||||||
|
_nc_get_hash_table
|
||||||
|
_nc_has_mouse
|
||||||
|
_nc_insert_ch
|
||||||
|
_nc_wgetch
|
||||||
|
|
||||||
5.7 (November 2, 2008)
|
5.7 (November 2, 2008)
|
||||||
Interface changes:
|
Interface changes:
|
||||||
|
|
||||||
@ -1011,7 +1141,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
|
|||||||
of the ncurses library used for the tic program as well as some
|
of the ncurses library used for the tic program as well as some
|
||||||
others such as tack. There is no API change, but makefiles would be
|
others such as tack. There is no API change, but makefiles would be
|
||||||
changed to use the tic-library built separately.
|
changed to use the tic-library built separately.
|
||||||
|
|
||||||
tack, distributed separately from ncurses, uses some of the internal
|
tack, distributed separately from ncurses, uses some of the internal
|
||||||
_nc_XXX functions, which are declared in the tic.h header file.
|
_nc_XXX functions, which are declared in the tic.h header file.
|
||||||
|
|
||||||
@ -1158,7 +1288,7 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
|
|||||||
still used in this release to allow compiling with not-so-old
|
still used in this release to allow compiling with not-so-old
|
||||||
compilers.
|
compilers.
|
||||||
|
|
||||||
+ form and menu libraries now work with wide-character data.
|
+ form and menu libraries now work with wide-character data.
|
||||||
Applications which bypassed the form library and manipulated the
|
Applications which bypassed the form library and manipulated the
|
||||||
FIELD.buf data directly will not work properly with libformw, since
|
FIELD.buf data directly will not work properly with libformw, since
|
||||||
that no longer points to an array of char. The set_field_buffer()
|
that no longer points to an array of char. The set_field_buffer()
|
||||||
@ -1438,8 +1568,8 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
|
|||||||
|
|
||||||
4.0 (December 24, 1996)
|
4.0 (December 24, 1996)
|
||||||
|
|
||||||
We bumped to version 4.0 because the newly released dynamic loader
|
We bumped to version 4.0 because the newly released Linux dynamic
|
||||||
(ld.so.1.8.5) on Linux did not load shared libraries whose ABI and REL
|
loader (ld.so.1.8.5) did not load shared libraries whose ABI and REL
|
||||||
versions were inconsistent. At that point, ncurses ABI was 3.4 and the
|
versions were inconsistent. At that point, ncurses ABI was 3.4 and the
|
||||||
REL was 1.9.9g, so we made them consistent.
|
REL was 1.9.9g, so we made them consistent.
|
||||||
|
|
||||||
@ -1496,10 +1626,10 @@ IF YOU ARE A SYSTEM INTEGRATOR:
|
|||||||
|
|
||||||
Configuration and Installation:
|
Configuration and Installation:
|
||||||
|
|
||||||
On platforms where ncurses is assumed to be installed in /usr/lib,
|
On platforms where ncurses is assumed to be installed in /usr/lib,
|
||||||
the configure script uses "/usr" as a default:
|
the configure script uses "/usr" as a default:
|
||||||
|
|
||||||
Linux, FreeBSD, NetBSD, OpenBSD, Cygwin
|
GNU/Linux, FreeBSD, NetBSD, OpenBSD, Cygwin
|
||||||
|
|
||||||
For other platforms, the default is "/usr/local". See the discussion
|
For other platforms, the default is "/usr/local". See the discussion
|
||||||
of the "--disable-overwrite" option.
|
of the "--disable-overwrite" option.
|
||||||
@ -1562,7 +1692,7 @@ IF YOU ARE A SYSTEM INTEGRATOR:
|
|||||||
bsdos -- BSD/OS
|
bsdos -- BSD/OS
|
||||||
|
|
||||||
If you are responsible for integrating ncurses for one of these
|
If you are responsible for integrating ncurses for one of these
|
||||||
distribution, please either use the recommended name or get back
|
distributions, please either use the recommended name or get back
|
||||||
to us explaining why you don't want to, so we can work out nomenclature
|
to us explaining why you don't want to, so we can work out nomenclature
|
||||||
that will make users' lives easier rather than harder.
|
that will make users' lives easier rather than harder.
|
||||||
|
|
||||||
@ -1584,7 +1714,8 @@ CONFIGURING FALLBACK ENTRIES:
|
|||||||
tree is accessible (that is, in single-user mode or at OS installation
|
tree is accessible (that is, in single-user mode or at OS installation
|
||||||
time) the ncurses library can be compiled to include an array of
|
time) the ncurses library can be compiled to include an array of
|
||||||
pre-fetched fallback entries. This must be done on a machine which
|
pre-fetched fallback entries. This must be done on a machine which
|
||||||
has ncurses' infocmp and terminfo database installed.
|
has ncurses' infocmp and terminfo database installed (as well as
|
||||||
|
ncurses' tic and infocmp programs).
|
||||||
|
|
||||||
These entries are checked by setupterm() only when the conventional
|
These entries are checked by setupterm() only when the conventional
|
||||||
fetches from the terminfo tree and the termcap fallback (if configured)
|
fetches from the terminfo tree and the termcap fallback (if configured)
|
||||||
@ -1689,8 +1820,8 @@ USING NCURSES WITH AFS:
|
|||||||
with this by making tic use symbolic links.
|
with this by making tic use symbolic links.
|
||||||
|
|
||||||
USING NCURSES WITH GPM:
|
USING NCURSES WITH GPM:
|
||||||
Ncurses 4.1 and up can be configured to use GPM (General Purpose
|
Ncurses 4.1 and up can be configured to use GPM (General Purpose Mouse)
|
||||||
Mouse) which is used on Linux console. Be aware that GPM is commonly
|
which is used with Linux console. Be aware that GPM is commonly
|
||||||
installed as a shared library which contains a wrapper for the curses
|
installed as a shared library which contains a wrapper for the curses
|
||||||
wgetch() function (libcurses.o). Some integrators have simplified
|
wgetch() function (libcurses.o). Some integrators have simplified
|
||||||
linking applications by combining all or part of libcurses.so into the
|
linking applications by combining all or part of libcurses.so into the
|
||||||
@ -1735,6 +1866,10 @@ BUILDING NCURSES WITH A CROSS-COMPILER
|
|||||||
option), ncurses uses the development platform's tic to do the
|
option), ncurses uses the development platform's tic to do the
|
||||||
"make install.data" portion.
|
"make install.data" portion.
|
||||||
|
|
||||||
|
The system's tic program is used to install the terminal database,
|
||||||
|
even for cross-compiles. For best results, the tic program should
|
||||||
|
be from the most current version of ncurses.
|
||||||
|
|
||||||
BUGS:
|
BUGS:
|
||||||
Send any feedback to the ncurses mailing list at
|
Send any feedback to the ncurses mailing list at
|
||||||
bug-ncurses@gnu.org. To subscribe send mail to
|
bug-ncurses@gnu.org. To subscribe send mail to
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
./Ada95/Makefile.in
|
./Ada95/Makefile.in
|
||||||
./Ada95/README
|
./Ada95/README
|
||||||
./Ada95/TODO
|
./Ada95/TODO
|
||||||
|
./Ada95/aclocal.m4
|
||||||
|
./Ada95/configure
|
||||||
|
./Ada95/configure.in
|
||||||
|
./Ada95/doc/Makefile.in
|
||||||
./Ada95/gen/Makefile.in
|
./Ada95/gen/Makefile.in
|
||||||
./Ada95/gen/adacurses-config.in
|
./Ada95/gen/adacurses-config.in
|
||||||
./Ada95/gen/gen.c
|
./Ada95/gen/gen.c
|
||||||
@ -23,6 +27,21 @@
|
|||||||
./Ada95/gen/terminal_interface-curses-trace.ads.m4
|
./Ada95/gen/terminal_interface-curses-trace.ads.m4
|
||||||
./Ada95/gen/terminal_interface-curses.adb.m4
|
./Ada95/gen/terminal_interface-curses.adb.m4
|
||||||
./Ada95/gen/terminal_interface-curses.ads.m4
|
./Ada95/gen/terminal_interface-curses.ads.m4
|
||||||
|
./Ada95/include/MKncurses_def.sh
|
||||||
|
./Ada95/include/Makefile.in
|
||||||
|
./Ada95/include/ncurses_cfg.hin
|
||||||
|
./Ada95/include/ncurses_defs
|
||||||
|
./Ada95/make-tar.sh
|
||||||
|
./Ada95/mk-1st.awk
|
||||||
|
./Ada95/package/AdaCurses-doc.spec
|
||||||
|
./Ada95/package/AdaCurses.spec
|
||||||
|
./Ada95/package/debian/compat
|
||||||
|
./Ada95/package/debian/control
|
||||||
|
./Ada95/package/debian/copyright
|
||||||
|
./Ada95/package/debian/docs
|
||||||
|
./Ada95/package/debian/rules
|
||||||
|
./Ada95/package/debian/source/format
|
||||||
|
./Ada95/package/debian/watch
|
||||||
./Ada95/samples/Makefile.in
|
./Ada95/samples/Makefile.in
|
||||||
./Ada95/samples/README
|
./Ada95/samples/README
|
||||||
./Ada95/samples/explain.txt
|
./Ada95/samples/explain.txt
|
||||||
@ -109,6 +128,11 @@
|
|||||||
./Ada95/samples/tour.adb
|
./Ada95/samples/tour.adb
|
||||||
./Ada95/samples/tour.ads
|
./Ada95/samples/tour.ads
|
||||||
./Ada95/src/Makefile.in
|
./Ada95/src/Makefile.in
|
||||||
|
./Ada95/src/c_varargs_to_ada.c
|
||||||
|
./Ada95/src/c_varargs_to_ada.h
|
||||||
|
./Ada95/src/library.gpr
|
||||||
|
./Ada95/src/modules
|
||||||
|
./Ada95/src/ncurses_compat.c
|
||||||
./Ada95/src/terminal_interface-curses-aux.adb
|
./Ada95/src/terminal_interface-curses-aux.adb
|
||||||
./Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb
|
./Ada95/src/terminal_interface-curses-forms-field_types-alpha.adb
|
||||||
./Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads
|
./Ada95/src/terminal_interface-curses-forms-field_types-alpha.ads
|
||||||
@ -172,6 +196,7 @@
|
|||||||
./Makefile.os2
|
./Makefile.os2
|
||||||
./NEWS
|
./NEWS
|
||||||
./README
|
./README
|
||||||
|
./README.MinGW
|
||||||
./README.emx
|
./README.emx
|
||||||
./TO-DO
|
./TO-DO
|
||||||
./aclocal.m4
|
./aclocal.m4
|
||||||
@ -311,6 +336,7 @@
|
|||||||
./doc/html/announce.html
|
./doc/html/announce.html
|
||||||
./doc/html/hackguide.html
|
./doc/html/hackguide.html
|
||||||
./doc/html/index.html
|
./doc/html/index.html
|
||||||
|
./doc/html/man/adacurses-config.1.html
|
||||||
./doc/html/man/captoinfo.1m.html
|
./doc/html/man/captoinfo.1m.html
|
||||||
./doc/html/man/clear.1.html
|
./doc/html/man/clear.1.html
|
||||||
./doc/html/man/curs_add_wch.3x.html
|
./doc/html/man/curs_add_wch.3x.html
|
||||||
@ -350,6 +376,7 @@
|
|||||||
./doc/html/man/curs_inwstr.3x.html
|
./doc/html/man/curs_inwstr.3x.html
|
||||||
./doc/html/man/curs_kernel.3x.html
|
./doc/html/man/curs_kernel.3x.html
|
||||||
./doc/html/man/curs_legacy.3x.html
|
./doc/html/man/curs_legacy.3x.html
|
||||||
|
./doc/html/man/curs_memleaks.3x.html
|
||||||
./doc/html/man/curs_mouse.3x.html
|
./doc/html/man/curs_mouse.3x.html
|
||||||
./doc/html/man/curs_move.3x.html
|
./doc/html/man/curs_move.3x.html
|
||||||
./doc/html/man/curs_opaque.3x.html
|
./doc/html/man/curs_opaque.3x.html
|
||||||
@ -363,6 +390,7 @@
|
|||||||
./doc/html/man/curs_scr_dump.3x.html
|
./doc/html/man/curs_scr_dump.3x.html
|
||||||
./doc/html/man/curs_scroll.3x.html
|
./doc/html/man/curs_scroll.3x.html
|
||||||
./doc/html/man/curs_slk.3x.html
|
./doc/html/man/curs_slk.3x.html
|
||||||
|
./doc/html/man/curs_sp_funcs.3x.html
|
||||||
./doc/html/man/curs_termattrs.3x.html
|
./doc/html/man/curs_termattrs.3x.html
|
||||||
./doc/html/man/curs_termcap.3x.html
|
./doc/html/man/curs_termcap.3x.html
|
||||||
./doc/html/man/curs_terminfo.3x.html
|
./doc/html/man/curs_terminfo.3x.html
|
||||||
@ -370,6 +398,7 @@
|
|||||||
./doc/html/man/curs_touch.3x.html
|
./doc/html/man/curs_touch.3x.html
|
||||||
./doc/html/man/curs_trace.3x.html
|
./doc/html/man/curs_trace.3x.html
|
||||||
./doc/html/man/curs_util.3x.html
|
./doc/html/man/curs_util.3x.html
|
||||||
|
./doc/html/man/curs_variables.3x.html
|
||||||
./doc/html/man/curs_window.3x.html
|
./doc/html/man/curs_window.3x.html
|
||||||
./doc/html/man/default_colors.3x.html
|
./doc/html/man/default_colors.3x.html
|
||||||
./doc/html/man/define_key.3x.html
|
./doc/html/man/define_key.3x.html
|
||||||
@ -395,6 +424,7 @@
|
|||||||
./doc/html/man/form_post.3x.html
|
./doc/html/man/form_post.3x.html
|
||||||
./doc/html/man/form_requestname.3x.html
|
./doc/html/man/form_requestname.3x.html
|
||||||
./doc/html/man/form_userptr.3x.html
|
./doc/html/man/form_userptr.3x.html
|
||||||
|
./doc/html/man/form_variables.3x.html
|
||||||
./doc/html/man/form_win.3x.html
|
./doc/html/man/form_win.3x.html
|
||||||
./doc/html/man/index.html
|
./doc/html/man/index.html
|
||||||
./doc/html/man/infocmp.1m.html
|
./doc/html/man/infocmp.1m.html
|
||||||
@ -427,10 +457,13 @@
|
|||||||
./doc/html/man/mitem_value.3x.html
|
./doc/html/man/mitem_value.3x.html
|
||||||
./doc/html/man/mitem_visible.3x.html
|
./doc/html/man/mitem_visible.3x.html
|
||||||
./doc/html/man/ncurses.3x.html
|
./doc/html/man/ncurses.3x.html
|
||||||
|
./doc/html/man/ncurses5-config.1.html
|
||||||
./doc/html/man/panel.3x.html
|
./doc/html/man/panel.3x.html
|
||||||
./doc/html/man/resizeterm.3x.html
|
./doc/html/man/resizeterm.3x.html
|
||||||
|
./doc/html/man/tabs.1.html
|
||||||
./doc/html/man/term.5.html
|
./doc/html/man/term.5.html
|
||||||
./doc/html/man/term.7.html
|
./doc/html/man/term.7.html
|
||||||
|
./doc/html/man/term_variables.3x.html
|
||||||
./doc/html/man/terminfo.5.html
|
./doc/html/man/terminfo.5.html
|
||||||
./doc/html/man/tic.1m.html
|
./doc/html/man/tic.1m.html
|
||||||
./doc/html/man/toe.1m.html
|
./doc/html/man/toe.1m.html
|
||||||
@ -479,12 +512,15 @@
|
|||||||
./form/fty_alnum.c
|
./form/fty_alnum.c
|
||||||
./form/fty_alpha.c
|
./form/fty_alpha.c
|
||||||
./form/fty_enum.c
|
./form/fty_enum.c
|
||||||
|
./form/fty_generic.c
|
||||||
./form/fty_int.c
|
./form/fty_int.c
|
||||||
./form/fty_ipv4.c
|
./form/fty_ipv4.c
|
||||||
./form/fty_num.c
|
./form/fty_num.c
|
||||||
./form/fty_regex.c
|
./form/fty_regex.c
|
||||||
./form/headers
|
./form/headers
|
||||||
./form/llib-lform
|
./form/llib-lform
|
||||||
|
./form/llib-lformt
|
||||||
|
./form/llib-lformtw
|
||||||
./form/llib-lformw
|
./form/llib-lformw
|
||||||
./form/modules
|
./form/modules
|
||||||
./include/Caps
|
./include/Caps
|
||||||
@ -507,16 +543,20 @@
|
|||||||
./include/hashed_db.h
|
./include/hashed_db.h
|
||||||
./include/headers
|
./include/headers
|
||||||
./include/nc_alloc.h
|
./include/nc_alloc.h
|
||||||
|
./include/nc_mingw.h
|
||||||
./include/nc_panel.h
|
./include/nc_panel.h
|
||||||
./include/nc_tparm.h
|
./include/nc_tparm.h
|
||||||
./include/ncurses_cfg.hin
|
./include/ncurses_cfg.hin
|
||||||
./include/ncurses_defs
|
./include/ncurses_defs
|
||||||
./include/ncurses_dll.h
|
./include/ncurses_dll.h.in
|
||||||
|
./include/ncurses_mingw.h
|
||||||
./include/term_entry.h
|
./include/term_entry.h
|
||||||
./include/termcap.h.in
|
./include/termcap.h.in
|
||||||
./include/tic.h
|
./include/tic.h
|
||||||
./include/unctrl.h.in
|
./include/unctrl.h.in
|
||||||
./install-sh
|
./install-sh
|
||||||
|
./man/MKada_config.in
|
||||||
|
./man/MKncu_config.in
|
||||||
./man/MKterminfo.sh
|
./man/MKterminfo.sh
|
||||||
./man/Makefile.in
|
./man/Makefile.in
|
||||||
./man/captoinfo.1m
|
./man/captoinfo.1m
|
||||||
@ -572,6 +612,7 @@
|
|||||||
./man/curs_scr_dump.3x
|
./man/curs_scr_dump.3x
|
||||||
./man/curs_scroll.3x
|
./man/curs_scroll.3x
|
||||||
./man/curs_slk.3x
|
./man/curs_slk.3x
|
||||||
|
./man/curs_sp_funcs.3x
|
||||||
./man/curs_termattrs.3x
|
./man/curs_termattrs.3x
|
||||||
./man/curs_termcap.3x
|
./man/curs_termcap.3x
|
||||||
./man/curs_terminfo.3x
|
./man/curs_terminfo.3x
|
||||||
@ -579,6 +620,7 @@
|
|||||||
./man/curs_touch.3x
|
./man/curs_touch.3x
|
||||||
./man/curs_trace.3x
|
./man/curs_trace.3x
|
||||||
./man/curs_util.3x
|
./man/curs_util.3x
|
||||||
|
./man/curs_variables.3x
|
||||||
./man/curs_window.3x
|
./man/curs_window.3x
|
||||||
./man/default_colors.3x
|
./man/default_colors.3x
|
||||||
./man/define_key.3x
|
./man/define_key.3x
|
||||||
@ -604,6 +646,7 @@
|
|||||||
./man/form_post.3x
|
./man/form_post.3x
|
||||||
./man/form_requestname.3x
|
./man/form_requestname.3x
|
||||||
./man/form_userptr.3x
|
./man/form_userptr.3x
|
||||||
|
./man/form_variables.3x
|
||||||
./man/form_win.3x
|
./man/form_win.3x
|
||||||
./man/infocmp.1m
|
./man/infocmp.1m
|
||||||
./man/infotocap.1m
|
./man/infotocap.1m
|
||||||
@ -640,8 +683,10 @@
|
|||||||
./man/ncurses.3x
|
./man/ncurses.3x
|
||||||
./man/panel.3x
|
./man/panel.3x
|
||||||
./man/resizeterm.3x
|
./man/resizeterm.3x
|
||||||
|
./man/tabs.1
|
||||||
./man/term.5
|
./man/term.5
|
||||||
./man/term.7
|
./man/term.7
|
||||||
|
./man/term_variables.3x
|
||||||
./man/terminfo.head
|
./man/terminfo.head
|
||||||
./man/terminfo.tail
|
./man/terminfo.tail
|
||||||
./man/tic.1m
|
./man/tic.1m
|
||||||
@ -654,6 +699,8 @@
|
|||||||
./menu/eti.h
|
./menu/eti.h
|
||||||
./menu/headers
|
./menu/headers
|
||||||
./menu/llib-lmenu
|
./menu/llib-lmenu
|
||||||
|
./menu/llib-lmenut
|
||||||
|
./menu/llib-lmenutw
|
||||||
./menu/llib-lmenuw
|
./menu/llib-lmenuw
|
||||||
./menu/m_attribs.c
|
./menu/m_attribs.c
|
||||||
./menu/m_cursor.c
|
./menu/m_cursor.c
|
||||||
@ -694,13 +741,12 @@
|
|||||||
./misc/emx.src
|
./misc/emx.src
|
||||||
./misc/form.def
|
./misc/form.def
|
||||||
./misc/form.ref
|
./misc/form.ref
|
||||||
|
./misc/gen-pkgconfig.in
|
||||||
./misc/gen_edit.sh
|
./misc/gen_edit.sh
|
||||||
./misc/jpf-indent
|
|
||||||
./misc/makedef.cmd
|
./misc/makedef.cmd
|
||||||
./misc/makellib
|
./misc/makellib
|
||||||
./misc/menu.def
|
./misc/menu.def
|
||||||
./misc/menu.ref
|
./misc/menu.ref
|
||||||
./misc/ncu-indent
|
|
||||||
./misc/ncurses-config.in
|
./misc/ncurses-config.in
|
||||||
./misc/ncurses.def
|
./misc/ncurses.def
|
||||||
./misc/ncurses.ref
|
./misc/ncurses.ref
|
||||||
@ -718,8 +764,8 @@
|
|||||||
./mk-0th.awk
|
./mk-0th.awk
|
||||||
./mk-1st.awk
|
./mk-1st.awk
|
||||||
./mk-2nd.awk
|
./mk-2nd.awk
|
||||||
|
./mk-dlls.sh.in
|
||||||
./mk-hdr.awk
|
./mk-hdr.awk
|
||||||
./mkdirs.sh
|
|
||||||
./ncurses/Makefile.in
|
./ncurses/Makefile.in
|
||||||
./ncurses/README
|
./ncurses/README
|
||||||
./ncurses/README.IZ
|
./ncurses/README.IZ
|
||||||
@ -748,6 +794,7 @@
|
|||||||
./ncurses/base/lib_delch.c
|
./ncurses/base/lib_delch.c
|
||||||
./ncurses/base/lib_delwin.c
|
./ncurses/base/lib_delwin.c
|
||||||
./ncurses/base/lib_dft_fgbg.c
|
./ncurses/base/lib_dft_fgbg.c
|
||||||
|
./ncurses/base/lib_driver.c
|
||||||
./ncurses/base/lib_echo.c
|
./ncurses/base/lib_echo.c
|
||||||
./ncurses/base/lib_endwin.c
|
./ncurses/base/lib_endwin.c
|
||||||
./ncurses/base/lib_erase.c
|
./ncurses/base/lib_erase.c
|
||||||
@ -813,10 +860,12 @@
|
|||||||
./ncurses/base/version.c
|
./ncurses/base/version.c
|
||||||
./ncurses/base/vsscanf.c
|
./ncurses/base/vsscanf.c
|
||||||
./ncurses/base/wresize.c
|
./ncurses/base/wresize.c
|
||||||
|
./ncurses/build.priv.h
|
||||||
./ncurses/curses.priv.h
|
./ncurses/curses.priv.h
|
||||||
./ncurses/fifo_defs.h
|
./ncurses/fifo_defs.h
|
||||||
./ncurses/llib-lncurses
|
./ncurses/llib-lncurses
|
||||||
./ncurses/llib-lncursest
|
./ncurses/llib-lncursest
|
||||||
|
./ncurses/llib-lncursestw
|
||||||
./ncurses/llib-lncursesw
|
./ncurses/llib-lncursesw
|
||||||
./ncurses/modules
|
./ncurses/modules
|
||||||
./ncurses/tinfo/MKcaptab.awk
|
./ncurses/tinfo/MKcaptab.awk
|
||||||
@ -863,6 +912,7 @@
|
|||||||
./ncurses/tinfo/lib_tparm.c
|
./ncurses/tinfo/lib_tparm.c
|
||||||
./ncurses/tinfo/lib_tputs.c
|
./ncurses/tinfo/lib_tputs.c
|
||||||
./ncurses/tinfo/lib_ttyflags.c
|
./ncurses/tinfo/lib_ttyflags.c
|
||||||
|
./ncurses/tinfo/make_hash.c
|
||||||
./ncurses/tinfo/make_keys.c
|
./ncurses/tinfo/make_keys.c
|
||||||
./ncurses/tinfo/name_match.c
|
./ncurses/tinfo/name_match.c
|
||||||
./ncurses/tinfo/parse_entry.c
|
./ncurses/tinfo/parse_entry.c
|
||||||
@ -870,6 +920,7 @@
|
|||||||
./ncurses/tinfo/read_termcap.c
|
./ncurses/tinfo/read_termcap.c
|
||||||
./ncurses/tinfo/setbuf.c
|
./ncurses/tinfo/setbuf.c
|
||||||
./ncurses/tinfo/strings.c
|
./ncurses/tinfo/strings.c
|
||||||
|
./ncurses/tinfo/tinfo_driver.c
|
||||||
./ncurses/tinfo/trim_sgr0.c
|
./ncurses/tinfo/trim_sgr0.c
|
||||||
./ncurses/tinfo/use_screen.c
|
./ncurses/tinfo/use_screen.c
|
||||||
./ncurses/tinfo/write_entry.c
|
./ncurses/tinfo/write_entry.c
|
||||||
@ -895,6 +946,7 @@
|
|||||||
./ncurses/tty/tty_display.h
|
./ncurses/tty/tty_display.h
|
||||||
./ncurses/tty/tty_input.h
|
./ncurses/tty/tty_input.h
|
||||||
./ncurses/tty/tty_update.c
|
./ncurses/tty/tty_update.c
|
||||||
|
./ncurses/wcwidth.h
|
||||||
./ncurses/widechar/charable.c
|
./ncurses/widechar/charable.c
|
||||||
./ncurses/widechar/lib_add_wch.c
|
./ncurses/widechar/lib_add_wch.c
|
||||||
./ncurses/widechar/lib_box_set.c
|
./ncurses/widechar/lib_box_set.c
|
||||||
@ -915,9 +967,14 @@
|
|||||||
./ncurses/widechar/lib_vline_set.c
|
./ncurses/widechar/lib_vline_set.c
|
||||||
./ncurses/widechar/lib_wacs.c
|
./ncurses/widechar/lib_wacs.c
|
||||||
./ncurses/widechar/lib_wunctrl.c
|
./ncurses/widechar/lib_wunctrl.c
|
||||||
|
./ncurses/win32con/gettimeofday.c
|
||||||
|
./ncurses/win32con/wcwidth.c
|
||||||
|
./ncurses/win32con/win_driver.c
|
||||||
./panel/Makefile.in
|
./panel/Makefile.in
|
||||||
./panel/headers
|
./panel/headers
|
||||||
./panel/llib-lpanel
|
./panel/llib-lpanel
|
||||||
|
./panel/llib-lpanelt
|
||||||
|
./panel/llib-lpaneltw
|
||||||
./panel/llib-lpanelw
|
./panel/llib-lpanelw
|
||||||
./panel/modules
|
./panel/modules
|
||||||
./panel/p_above.c
|
./panel/p_above.c
|
||||||
@ -947,11 +1004,12 @@
|
|||||||
./progs/infocmp.c
|
./progs/infocmp.c
|
||||||
./progs/modules
|
./progs/modules
|
||||||
./progs/progs.priv.h
|
./progs/progs.priv.h
|
||||||
|
./progs/tabs.c
|
||||||
./progs/tic.c
|
./progs/tic.c
|
||||||
./progs/toe.c
|
./progs/toe.c
|
||||||
./progs/tput.c
|
./progs/tput.c
|
||||||
|
./progs/transform.c
|
||||||
./progs/tset.c
|
./progs/tset.c
|
||||||
./tar-copy.sh
|
|
||||||
./test/Makefile.in
|
./test/Makefile.in
|
||||||
./test/README
|
./test/README
|
||||||
./test/aclocal.m4
|
./test/aclocal.m4
|
||||||
@ -963,6 +1021,7 @@
|
|||||||
./test/cardfile.c
|
./test/cardfile.c
|
||||||
./test/cardfile.dat
|
./test/cardfile.dat
|
||||||
./test/chgat.c
|
./test/chgat.c
|
||||||
|
./test/clip_printw.c
|
||||||
./test/color_set.c
|
./test/color_set.c
|
||||||
./test/configure
|
./test/configure
|
||||||
./test/configure.in
|
./test/configure.in
|
||||||
@ -973,6 +1032,7 @@
|
|||||||
./test/demo_menus.c
|
./test/demo_menus.c
|
||||||
./test/demo_panels.c
|
./test/demo_panels.c
|
||||||
./test/demo_termcap.c
|
./test/demo_termcap.c
|
||||||
|
./test/demo_terminfo.c
|
||||||
./test/ditto.c
|
./test/ditto.c
|
||||||
./test/dots.c
|
./test/dots.c
|
||||||
./test/dots_mvcur.c
|
./test/dots_mvcur.c
|
||||||
@ -990,19 +1050,30 @@
|
|||||||
./test/inch_wide.c
|
./test/inch_wide.c
|
||||||
./test/inchs.c
|
./test/inchs.c
|
||||||
./test/ins_wide.c
|
./test/ins_wide.c
|
||||||
|
./test/insdelln.c
|
||||||
./test/inserts.c
|
./test/inserts.c
|
||||||
./test/key_names.c
|
./test/key_names.c
|
||||||
./test/keynames.c
|
./test/keynames.c
|
||||||
./test/knight.c
|
./test/knight.c
|
||||||
|
./test/linedata.h
|
||||||
./test/linux-color.dat
|
./test/linux-color.dat
|
||||||
./test/listused.sh
|
./test/listused.sh
|
||||||
./test/lrtest.c
|
./test/lrtest.c
|
||||||
|
./test/make-tar.sh
|
||||||
./test/mk-test.awk
|
./test/mk-test.awk
|
||||||
./test/modules
|
./test/modules
|
||||||
./test/movewindow.c
|
./test/movewindow.c
|
||||||
./test/ncurses.c
|
./test/ncurses.c
|
||||||
./test/ncurses_tst.hin
|
./test/ncurses_tst.hin
|
||||||
./test/newdemo.c
|
./test/newdemo.c
|
||||||
|
./test/package/debian/compat
|
||||||
|
./test/package/debian/control
|
||||||
|
./test/package/debian/copyright
|
||||||
|
./test/package/debian/docs
|
||||||
|
./test/package/debian/rules
|
||||||
|
./test/package/debian/source/format
|
||||||
|
./test/package/debian/watch
|
||||||
|
./test/package/ncurses-examples.spec
|
||||||
./test/programs
|
./test/programs
|
||||||
./test/railroad.c
|
./test/railroad.c
|
||||||
./test/rain.c
|
./test/rain.c
|
||||||
@ -1011,6 +1082,10 @@
|
|||||||
./test/savescreen.sh
|
./test/savescreen.sh
|
||||||
./test/tclock.c
|
./test/tclock.c
|
||||||
./test/test.priv.h
|
./test/test.priv.h
|
||||||
|
./test/test_add_wchstr.c
|
||||||
|
./test/test_addchstr.c
|
||||||
|
./test/test_addstr.c
|
||||||
|
./test/test_addwstr.c
|
||||||
./test/test_arrays.c
|
./test/test_arrays.c
|
||||||
./test/test_get_wstr.c
|
./test/test_get_wstr.c
|
||||||
./test/test_getstr.c
|
./test/test_getstr.c
|
||||||
@ -1026,4 +1101,5 @@
|
|||||||
./test/worm.c
|
./test/worm.c
|
||||||
./test/xmas.c
|
./test/xmas.c
|
||||||
./test/xterm-16color.dat
|
./test/xterm-16color.dat
|
||||||
|
./test/xterm-256color.dat
|
||||||
./test/xterm-88color.dat
|
./test/xterm-88color.dat
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: Makefile.in,v 1.24 2005/01/29 19:30:06 tom Exp $
|
# $Id: Makefile.in,v 1.30 2010/11/27 21:45:27 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2008,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -32,6 +32,7 @@
|
|||||||
# Master Makefile for ncurses library.
|
# Master Makefile for ncurses library.
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
VPATH = @srcdir@
|
||||||
|
|
||||||
DESTDIR=@DESTDIR@
|
DESTDIR=@DESTDIR@
|
||||||
CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
|
CF_MFLAGS = @cf_cv_makeflags@ DESTDIR="$(DESTDIR)"
|
||||||
@ -42,6 +43,9 @@ NCURSES_MAJOR = @NCURSES_MAJOR@
|
|||||||
NCURSES_MINOR = @NCURSES_MINOR@
|
NCURSES_MINOR = @NCURSES_MINOR@
|
||||||
NCURSES_PATCH = @NCURSES_PATCH@
|
NCURSES_PATCH = @NCURSES_PATCH@
|
||||||
|
|
||||||
|
top_srcdir = @top_srcdir@
|
||||||
|
srcdir = @srcdir@
|
||||||
|
|
||||||
prefix = @prefix@
|
prefix = @prefix@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
|
|
||||||
@ -83,6 +87,13 @@ preinstall :
|
|||||||
fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \
|
fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \
|
||||||
echo '** Will overwrite non-ncurses curses.h'
|
echo '** Will overwrite non-ncurses curses.h'
|
||||||
|
|
||||||
|
dlls: libs
|
||||||
|
$(SHELL) $(srcdir)/mk-dlls.sh
|
||||||
|
|
||||||
|
distclean \
|
||||||
|
realclean ::
|
||||||
|
-rm -f mk-dlls.sh mingw_arch
|
||||||
|
|
||||||
# Put the common rules here so that we can easily construct the list of
|
# Put the common rules here so that we can easily construct the list of
|
||||||
# directories to visit.
|
# directories to visit.
|
||||||
all \
|
all \
|
||||||
|
1082
contrib/ncurses/NEWS
1082
contrib/ncurses/NEWS
File diff suppressed because it is too large
Load Diff
149
contrib/ncurses/README.MinGW
Normal file
149
contrib/ncurses/README.MinGW
Normal file
@ -0,0 +1,149 @@
|
|||||||
|
-------------------------------------------------------------------------------
|
||||||
|
-- Copyright (c) 2008-2010,2011 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: README.MinGW,v 1.5 2011/02/26 16:57:17 tom Exp $
|
||||||
|
-- Author: Juergen Pfeifer
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is work in progress, but it's in an state where one can see it
|
||||||
|
works at least on the Windows Console.
|
||||||
|
|
||||||
|
You should install the MSYS package, so that you've a shell environment that
|
||||||
|
allows you to run the scripts, especially configure etc. You can get that
|
||||||
|
from http://www.mingw.org
|
||||||
|
|
||||||
|
To build ncurses for native Windows, you need the MinGW toolchain. The
|
||||||
|
original MinGW toolchain from the above site is only for 32-Bit Windows. As
|
||||||
|
Windows Server - and also regular workstations - are moving to 64-Bit, it
|
||||||
|
seems to be reasonable to have a toolchain that supports both architectures.
|
||||||
|
I recommend to use the TDM gcc toolchain which you can find at
|
||||||
|
http://tdm-gcc.tdragon.net/download. Go to the download section and select
|
||||||
|
the bundle installer for tdm64 (MinGW-w64). This installs a multilib version
|
||||||
|
of the gcc toolchain that can compile for native 32- and 64-Bit Windows
|
||||||
|
versions. It also comes with a working pthread implementation.
|
||||||
|
|
||||||
|
The latest config and build scripts we use for MinGW have only been tested
|
||||||
|
for the gcc-4.4 compiler toolchain (or better).
|
||||||
|
|
||||||
|
Using MinGW is a pragmatic decision, it's the easiest way to port this
|
||||||
|
heavily UNIX based sourcebase to native Windows. The goal is of course
|
||||||
|
to provide the includes, libraries and DLLs to be used with the more
|
||||||
|
common traditional development environments on Windows, mainly with
|
||||||
|
Microsoft Visual Studio.
|
||||||
|
|
||||||
|
If you start a bash from the MSYS environment, please make sure that the
|
||||||
|
Microsoft Development tools are in your PATH right after the MinGW
|
||||||
|
tools. The LIB.EXE tool is the only one needed. You need this only if
|
||||||
|
you want to build DLLs that work with native Windows programs. If you
|
||||||
|
don't have any Microsoft Development tools on your machine, consider
|
||||||
|
at least to get the free "Visual C++ 2010 Express Edition".
|
||||||
|
It contains the LIB.EXE tool. You may also use this compiler to test
|
||||||
|
writing native Windows programs using the ncurses DLLs without using
|
||||||
|
MinGW then for writing apps.
|
||||||
|
|
||||||
|
It is necessary to unset the TERM environment variable, to activate the
|
||||||
|
Windows console-driver.
|
||||||
|
|
||||||
|
Please also make sure that MSYS links to the correct directory containing
|
||||||
|
your MinGW toolchain. For TDM this is usually C:\MinGW64. In your Windows
|
||||||
|
CMD.EXE command shell go to the MSYS root directory (most probably
|
||||||
|
C:\MSYS or C:\MSYS\1.0) and verify, that there is a junction point mingw
|
||||||
|
that points to the MinGW toolchain directory. If not, delete the mingw
|
||||||
|
directory and use the mklink command (or the linkd.exe utility on older
|
||||||
|
Windows) to create the junction point.
|
||||||
|
|
||||||
|
This code requires WindowsNT 5.1 or better, which means on the client
|
||||||
|
Windows XP or better, on the server Windows Server 2003 or better.
|
||||||
|
|
||||||
|
In order to build ncurses for the planned interop layer with .NET, we
|
||||||
|
recommend to use these options with configure
|
||||||
|
|
||||||
|
--disable-home-terminfo
|
||||||
|
--enable-reentrant
|
||||||
|
--enable-sp-funcs
|
||||||
|
--enable-term-driver
|
||||||
|
--enable-interop
|
||||||
|
--with-pthread (if using TDM toolchain as recommended)
|
||||||
|
|
||||||
|
This is the configuration commandline as I'm using it at the moment:
|
||||||
|
|
||||||
|
./configure \
|
||||||
|
--prefix=/mingw \
|
||||||
|
--without-cxx-binding \
|
||||||
|
--without-ada \
|
||||||
|
--enable-warnings \
|
||||||
|
--enable-assertions \
|
||||||
|
--enable-reentrant \
|
||||||
|
--with-debug \
|
||||||
|
--with-normal \
|
||||||
|
--disable-home-terminfo \
|
||||||
|
--enable-sp-funcs \
|
||||||
|
--enable-term-driver \
|
||||||
|
--enable-interop \
|
||||||
|
--with-pthread
|
||||||
|
|
||||||
|
If you are on a 64-Bit Windows system and want to build a 32-Bit version
|
||||||
|
of ncurses, you may use this commandline for configuration (when using
|
||||||
|
the TDM toolchain):
|
||||||
|
|
||||||
|
CC="gcc -m32" LD="ld -m32" ./configure \
|
||||||
|
--prefix=/mingw \
|
||||||
|
--without-cxx-binding \
|
||||||
|
--without-ada \
|
||||||
|
--enable-warnings \
|
||||||
|
--enable-assertions \
|
||||||
|
--enable-reentrant \
|
||||||
|
--with-debug \
|
||||||
|
--with-normal \
|
||||||
|
--disable-home-terminfo \
|
||||||
|
--enable-sp-funcs \
|
||||||
|
--enable-term-driver \
|
||||||
|
--enable-interop \
|
||||||
|
--with-pthread
|
||||||
|
|
||||||
|
All the options above are - like the whole Windows support -
|
||||||
|
experimental.
|
||||||
|
|
||||||
|
In order to build the DLLs, after your regular make you must call
|
||||||
|
|
||||||
|
make dlls
|
||||||
|
|
||||||
|
A lot is still TODO, e.g.:
|
||||||
|
|
||||||
|
- Wide Character support
|
||||||
|
The Win32Con driver should actually only use Unicode in the
|
||||||
|
future.
|
||||||
|
- Thread support (locking). If using TDM toolchain this is done by
|
||||||
|
configuring pthreads.
|
||||||
|
- A GUI console driver
|
||||||
|
- Support for Terminals attached via a serial port (via terminfo)
|
||||||
|
- Support for networked Terminal connections (via terminfo)
|
||||||
|
- Workarounds for MinGW's filesystem access are necessary to make infocmp
|
||||||
|
work (though tic works).
|
||||||
|
|
||||||
|
To support terminfo, we need to have an ioctl() simulation for the
|
||||||
|
serial and networked Terminals.
|
@ -1,5 +1,5 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. --
|
-- Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. --
|
||||||
-- --
|
-- --
|
||||||
-- Permission is hereby granted, free of charge, to any person obtaining a --
|
-- Permission is hereby granted, free of charge, to any person obtaining a --
|
||||||
-- copy of this software and associated documentation files (the --
|
-- copy of this software and associated documentation files (the --
|
||||||
@ -25,7 +25,7 @@
|
|||||||
-- sale, use or other dealings in this Software without prior written --
|
-- sale, use or other dealings in this Software without prior written --
|
||||||
-- authorization. --
|
-- authorization. --
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
-- $Id: TO-DO,v 1.51 2008/10/11 19:22:27 tom Exp $
|
-- $Id: TO-DO,v 1.57 2011/03/28 00:23:02 tom Exp $
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
SHORT-TERM TO-DO ITEMS:
|
SHORT-TERM TO-DO ITEMS:
|
||||||
@ -45,7 +45,7 @@ Known Problems:
|
|||||||
+ Scrolling optimization has holes: for example, it forces repaints of the
|
+ Scrolling optimization has holes: for example, it forces repaints of the
|
||||||
screen between calls to refresh().
|
screen between calls to refresh().
|
||||||
|
|
||||||
+ SVr4 uses slightly different rules for determining when softkeys are shown.
|
+ SVr4 uses slightly different rules for determining when softkeys are shown.
|
||||||
For example, they are initially displayed (before the ncurses 'e' test
|
For example, they are initially displayed (before the ncurses 'e' test
|
||||||
activates them), and a touchwin can apparently also force them to be
|
activates them), and a touchwin can apparently also force them to be
|
||||||
displayed.
|
displayed.
|
||||||
@ -58,7 +58,7 @@ Known Problems:
|
|||||||
+ The window classes defined in the c++ subdirectory need documentation. Some
|
+ The window classes defined in the c++ subdirectory need documentation. Some
|
||||||
C++ programmer could earn a lot of good karma by doing this...
|
C++ programmer could earn a lot of good karma by doing this...
|
||||||
|
|
||||||
+ vid_attr() should support the set_a_attributes (sgr1) string, but does not.
|
+ vid_attr() should support the set_a_attributes (sgr1) string, but does not.
|
||||||
There appear to be no terminals that require that functionality.
|
There appear to be no terminals that require that functionality.
|
||||||
|
|
||||||
+ the configure --disable-ext-funcs option does not work for Ada95 tree.
|
+ the configure --disable-ext-funcs option does not work for Ada95 tree.
|
||||||
@ -72,27 +72,28 @@ Known Problems:
|
|||||||
Building those with libtool does not work either. (This is a problem with
|
Building those with libtool does not work either. (This is a problem with
|
||||||
the BSD platforms).
|
the BSD platforms).
|
||||||
|
|
||||||
|
+ more work is needed to make the MinGW port support ordinary terminals.
|
||||||
|
|
||||||
Portability (or lack thereof):
|
Portability (or lack thereof):
|
||||||
|
|
||||||
+ Users of older System V UNIXes (but not Solaris, and probably not SVr4) may
|
+ Users of older System V UNIXes (but not Solaris, and probably not SVr4) may
|
||||||
trip over a known problem with the signal-handling code which causes abrupt
|
trip over a known problem with the signal-handling code which causes abrupt
|
||||||
termination of ncurses applications following resume from a ^Z suspend (this
|
termination of ncurses applications following resume from a ^Z suspend (this
|
||||||
problem was first seen running lynx). You will not see this problem if you
|
problem was first seen running lynx). You will not see this problem if you
|
||||||
are running Linux or one of the 4.4BSD derivatives like FreeBSD, NetBSD, or
|
are using one of the 4.4BSD derivatives like such as, NetBSD, or BSDI, or
|
||||||
BSDI. For details, see the analysis in the header comment of
|
systems using that convention. For details, see the analysis in the header
|
||||||
ncurses/tty/lib_tstp.c .
|
comment of ncurses/tty/lib_tstp.c .
|
||||||
|
|
||||||
+ In theory, vwprintw and vwscanf are supposed to use the older varargs.h
|
+ In theory, vwprintw and vwscanf are supposed to use the older varargs.h
|
||||||
interface for handling variadic argument lists (and are deprecated by X/Open
|
interface for handling variadic argument lists (and are deprecated by X/Open
|
||||||
for that reason). Linux doesn't have varargs.h, it has the newer
|
for that reason). Many newer systems do no have varargs.h, instead they have
|
||||||
X/Open-standard stdargs.h equivalent. So these functions use stdargs
|
only the newer X/Open-standard stdargs.h equivalent. So these functions use
|
||||||
instead. This is unlikely to be a problem unless you're building ncurses on
|
stdargs instead. This is unlikely to be a problem unless you're building
|
||||||
a System V old enough to only have varargs.h. (Solaris 2.5.1 used the
|
ncurses on a System V old enough to only have varargs.h. (Solaris 2.5.1 used
|
||||||
stdarg.h binding as well).
|
the stdarg.h binding as well).
|
||||||
|
|
||||||
+ If you're using a BSD earlier than 4.4BSD, or a Linux old enough not to have
|
+ If you're using a system old enough not to have a native vsscanf(3) in its
|
||||||
a native vsscanf(3) in its library, vwscanw() will not work. You lose. (It
|
library, vwscanw() will not work. If you want to fix this, add an
|
||||||
should work on any System V, however). If you want to fix this, add an
|
|
||||||
implementation to ncurses/vsscanf.c.
|
implementation to ncurses/vsscanf.c.
|
||||||
|
|
||||||
+ The C++ binding fails to build with a few C++ compilers.
|
+ The C++ binding fails to build with a few C++ compilers.
|
||||||
@ -122,7 +123,7 @@ supporting internationalization.
|
|||||||
2. DOS port
|
2. DOS port
|
||||||
|
|
||||||
Only a few of the files in the library depend on the terminfo format.
|
Only a few of the files in the library depend on the terminfo format.
|
||||||
It should be possible to further kernelize the package, then rewrite
|
It should be possible to further kernelize the package, then rewrite
|
||||||
a small number of core files to produce a functionally-compatible
|
a small number of core files to produce a functionally-compatible
|
||||||
port that would do updates to a memory-mapped screen area. The first
|
port that would do updates to a memory-mapped screen area. The first
|
||||||
result of this would be a DOS port.
|
result of this would be a DOS port.
|
||||||
@ -195,10 +196,10 @@ F. Unused VDT capabilities:
|
|||||||
move_insert, dest_tabs_magic_smso, transparent_underline,
|
move_insert, dest_tabs_magic_smso, transparent_underline,
|
||||||
needs_xon_xoff, hard_cursor.
|
needs_xon_xoff, hard_cursor.
|
||||||
Numerics: lines_of_memory, buttons.
|
Numerics: lines_of_memory, buttons.
|
||||||
Strings: pkey_key, pkey_local, pkey_xmit, underline_char,
|
Strings: pkey_key, pkey_local, pkey_xmit, underline_char,
|
||||||
enter_xon_mode, exit_xon_mode, xon_character, xoff_character,
|
enter_xon_mode, exit_xon_mode, xon_character, xoff_character,
|
||||||
display_clock, remove_clock, user[0-5], display_pc_char,
|
display_clock, remove_clock, user[0-5], display_pc_char,
|
||||||
enter_scancode_mode, exit_scancode_mode, pc_term_options,
|
enter_scancode_mode, exit_scancode_mode, pc_term_options,
|
||||||
scancode_escape, alt_scancode_esc.
|
scancode_escape, alt_scancode_esc.
|
||||||
|
|
||||||
These are the potentially important ones for ncurses. Notes:
|
These are the potentially important ones for ncurses. Notes:
|
||||||
|
1808
contrib/ncurses/aclocal.m4
vendored
1808
contrib/ncurses/aclocal.m4
vendored
File diff suppressed because it is too large
Load Diff
@ -1,8 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
$Id: announce.html.in,v 1.70 2008/11/02 01:03:05 tom Exp $
|
$Id: announce.html.in,v 1.85 2011/04/04 00:05:34 tom Exp $
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,560 +29,361 @@
|
|||||||
* authorization. *
|
* authorization. *
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
-->
|
-->
|
||||||
<HTML>
|
|
||||||
<HEAD>
|
<html>
|
||||||
<TITLE>Announcing ncurses @VERSION@</TITLE>
|
<head>
|
||||||
<link rev=made href="mailto:bug-ncurses@gnu.org">
|
<meta name="generator" content=
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
"HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
|
||||||
</HEAD>
|
|
||||||
<BODY>
|
<title>Announcing ncurses @VERSION@</title>
|
||||||
|
<link rev="made" href="mailto:bug-ncurses@gnu.org">
|
||||||
<H1>Announcing ncurses @VERSION@</H1>
|
<meta http-equiv="Content-Type" content=
|
||||||
|
"text/html; charset=us-ascii">
|
||||||
The ncurses (new curses) library is a free software emulation of
|
</head>
|
||||||
curses in System V Release 4.0, and more. It uses terminfo format,
|
|
||||||
supports pads and color
|
<body>
|
||||||
and multiple highlights and forms characters and function-key mapping,
|
<h1>Announcing ncurses @VERSION@</h1>The ncurses (new curses)
|
||||||
and has all the other SYSV-curses enhancements over BSD curses.<P>
|
library is a free software emulation of curses in System V
|
||||||
|
Release 4.0, and more. It uses terminfo format, supports pads and
|
||||||
In mid-June 1995, the maintainer of 4.4BSD curses declared that he
|
color and multiple highlights and forms characters and
|
||||||
considered 4.4BSD curses obsolete, and encouraged the keepers of
|
function-key mapping, and has all the other SYSV-curses
|
||||||
Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to
|
enhancements over BSD curses.
|
||||||
ncurses.<P>
|
|
||||||
|
<p>In mid-June 1995, the maintainer of 4.4BSD curses declared
|
||||||
The ncurses code was developed under GNU/Linux.
|
that he considered 4.4BSD curses obsolete, and encouraged the
|
||||||
It has been in use for some time with OpenBSD as the system curses library,
|
keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to
|
||||||
and on FreeBSD and NetBSD as an external package.
|
switch over to ncurses.</p>
|
||||||
It should port easily to any ANSI/POSIX-conforming UNIX.
|
|
||||||
It has even been ported to OS/2 Warp!<P>
|
<p>The ncurses code was developed under GNU/Linux. It has been in
|
||||||
|
use for some time with OpenBSD as the system curses library, and
|
||||||
The distribution includes the library and support utilities, including a
|
on FreeBSD and NetBSD as an external package. It should port
|
||||||
terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1),
|
easily to any ANSI/POSIX-conforming UNIX. It has even been ported
|
||||||
and a termcap conversion tool captoinfo(1). Full manual pages are provided for
|
to OS/2 Warp!</p>
|
||||||
the library and tools.<P>
|
|
||||||
|
<p>The distribution includes the library and support utilities,
|
||||||
The ncurses distribution is available via anonymous FTP at
|
including a terminfo compiler tic(1), a decompiler infocmp(1),
|
||||||
the GNU distribution site
|
clear(1), tput(1), tset(1), and a termcap conversion tool
|
||||||
<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A> .
|
captoinfo(1). Full manual pages are provided for the library and
|
||||||
<br>It is also available at
|
tools.</p>
|
||||||
<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A> .
|
|
||||||
|
<p>The ncurses distribution is available via anonymous FTP at the
|
||||||
<H1>Release Notes</H1>
|
GNU distribution site <a href=
|
||||||
|
"ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a> .<br>
|
||||||
This release is designed to be upward compatible from ncurses 5.0 through 5.6;
|
|
||||||
very few applications will require recompilation, depending on the platform.
|
It is also available at <a href=
|
||||||
These are the highlights from the change-log since ncurses 5.6 release.
|
"ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p>
|
||||||
<p>
|
|
||||||
Interface changes:
|
<h1>Release Notes</h1>This release is designed to be upward
|
||||||
<ul>
|
compatible from ncurses 5.0 through 5.8; very few applications
|
||||||
<li>generate linkable stubs for some macros:
|
will require recompilation, depending on the platform. These are
|
||||||
<br>
|
the highlights from the change-log since ncurses 5.8 release.
|
||||||
getattrs
|
<p>
|
||||||
|
This is a bug-fix release, correcting a small number of urgent problems
|
||||||
</ul>
|
in the ncurses library from the 5.8 release.
|
||||||
New features and improvements:
|
<p>
|
||||||
<ul>
|
It also improves the Ada95 binding:
|
||||||
<li>library
|
<ul>
|
||||||
<ul>
|
<li>fixes a longstanding portability problem with its use of the
|
||||||
<li>new flavor of the ncurses library provides rudimentary
|
<a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
|
||||||
support for POSIX threads. Several functions are
|
function. Because that function uses variable-length argument lists,
|
||||||
reentrant, but most require either a window-level or
|
its interface with gnat does not work with certain platforms.
|
||||||
screen-level mutex.<br>
|
<li>improves configurability and portability, particularly when built
|
||||||
(This is <em>API</em>-compatible,
|
separately from the main ncurses tree. The 5.8 release introduced
|
||||||
but not <em>ABI</em>-compatible with the normal library).
|
scripts which can be used to construct separate tarballs for the
|
||||||
|
Ada95 and ncurses examples.
|
||||||
<li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will
|
<p>Those were a proof of concept. For the 5.9 release, those
|
||||||
use to make structs opaque in selected configurations.
|
scripts are augmented with rpm- and dpkg-scripts used in test builds
|
||||||
|
against a variety of gnat- and system ncurses versions as old as
|
||||||
<li>add <code>NCURSES_EXT_FUNCS</code> and
|
gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
|
||||||
<code>NCURSES_EXT_COLORS</code> symbols to curses.h to make
|
<a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
|
||||||
it simpler to tell if the extended functions and/or colors
|
<li>additional improvements were made for portability of the
|
||||||
are declared.
|
ncurses examples, adding rpm- and dpkg-scripts for test-builds.
|
||||||
|
See
|
||||||
<li>add wresize() to C++ binding
|
<a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
|
||||||
|
for snapshots and other information.
|
||||||
<li>eliminate fixed-buffer vsprintf() calls in C++ binding.
|
</ul>
|
||||||
|
|
||||||
<li>add several functions to C++ binding which wrap C functions
|
<h1>Features of Ncurses</h1>The ncurses package is fully
|
||||||
that pass a WINDOW* parameter.
|
compatible with SVr4 (System V Release 4) curses:
|
||||||
|
|
||||||
<li>adapt mouse-handling code from menu library in form-library
|
<ul>
|
||||||
|
<li>All 257 of the SVr4 calls have been implemented (and are
|
||||||
<li>improve tracing for form library, showing created forms,
|
documented).</li>
|
||||||
fields, etc.
|
|
||||||
|
<li>Full support for SVr4 curses features including keyboard
|
||||||
<li>make $NCURSES_NO_PADDING feature work for termcap interface .
|
mapping, color, forms-drawing with ACS characters, and
|
||||||
|
automatic recognition of keypad and function keys.</li>
|
||||||
<li>add check to trace-file open, if the given name is a
|
|
||||||
directory, add ".log" to the name and try again.
|
<li>An emulation of the SVr4 panels library, supporting a stack
|
||||||
|
of windows with backing store, is included.</li>
|
||||||
<li>several new manpages: curs_legacy.3x, curs_memleaks.3x,
|
|
||||||
curs_opaque.3x and curs_threads.3x
|
<li>An emulation of the SVr4 menus library, supporting a
|
||||||
</ul>
|
uniform but flexible interface for menu programming, is
|
||||||
|
included.</li>
|
||||||
<li>programs:
|
|
||||||
<ul>
|
<li>An emulation of the SVr4 form library, supporting data
|
||||||
<li>modified three test-programs to demonstrate the threading
|
collection through on-screen forms, is included.</li>
|
||||||
support in this version: ditto, rain, worm.
|
|
||||||
|
<li>Binary terminfo entries generated by the ncurses tic(1)
|
||||||
<li>several new test-programs: demo_panels, dots_mvcur,
|
implementation are bit-for-bit-compatible with the entry format
|
||||||
inch_wide, inchs, key_name, key_names, savescreen,
|
SVr4 curses uses.</li>
|
||||||
savescreen.sh test_arrays, test_get_wstr, test_getstr,
|
|
||||||
test_instr, test_inwstr and test_opaque.
|
<li>The utilities have options to allow you to filter terminfo
|
||||||
|
entries for use with less capable
|
||||||
<li>add <code>adacurses-config</code> to the Ada95 install.
|
<strong>curses</strong>/<strong>terminfo</strong> versions such
|
||||||
|
as the HP/UX and AIX ports.</li>
|
||||||
<li>modify tic <code>-f</code> option to format spaces as
|
</ul>The ncurses package also has many useful extensions over
|
||||||
<code>\s</code> to prevent them from being lost when that
|
SVr4:
|
||||||
is read back in unformatted strings.
|
|
||||||
|
<ul>
|
||||||
<li>The <code>tack</code> program is now distributed separately
|
<li>The API is 8-bit clean and base-level conformant with the
|
||||||
from ncurses.
|
X/OPEN curses specification, XSI curses (that is, it implements
|
||||||
</ul>
|
all BASE level features, and most EXTENDED features). It
|
||||||
|
includes many function calls not supported under SVr4 curses
|
||||||
<li>terminal database
|
(but portability of all calls is documented so you can use the
|
||||||
<ul>
|
SVr4 subset only).</li>
|
||||||
<li>added entries:
|
|
||||||
<ul>
|
<li>Unlike SVr3 curses, ncurses can write to the
|
||||||
<li><code>Eterm-256color</code>,
|
rightmost-bottommost corner of the screen if your terminal has
|
||||||
<code>Eterm-88color</code> and
|
an insert-character capability.</li>
|
||||||
<code>rxvt-88color</code>
|
|
||||||
<li><code>aterm</code>
|
<li>Ada95 and C++ bindings.</li>
|
||||||
<li><code>konsole-256color</code>
|
|
||||||
<li><code>mrxvt</code>
|
<li>Support for mouse event reporting with X Window xterm and
|
||||||
<li><code>screen.mlterm</code>
|
FreeBSD and OS/2 console windows.</li>
|
||||||
<li><code>screen.rxvt</code>
|
|
||||||
<li><code>teraterm4.59</code> is now the primary primary
|
<li>Extended mouse support via Alessandro Rubini's gpm
|
||||||
teraterm entry, renamed original to
|
package.</li>
|
||||||
<code>teraterm2.3</code>
|
|
||||||
<li><code>9term</code> terminal
|
<li>The function <code>wresize</code> allows you to resize
|
||||||
<li>Newbury Data entries
|
windows, preserving their data.</li>
|
||||||
</ul>
|
|
||||||
<li>updated/improved entries:
|
<li>The function <code>use_default_colors</code> allows you to
|
||||||
<ul>
|
use the terminal's default colors for the default color pair,
|
||||||
<li><code>gnome</code> to version 2.22.3
|
achieving the effect of transparent colors.</li>
|
||||||
<li><code>h19</code>, <code>z100</code>
|
|
||||||
<li><code>konsole</code> to version 1.6.6
|
<li>The functions <code>keyok</code> and
|
||||||
<li><code>mlterm</code>, <code>mlterm+pcfkeys</code>
|
<code>define_key</code> allow you to better control the use of
|
||||||
<li><code>xterm</code>, and building-blocks for function-keys
|
function keys, e.g., disabling the ncurses KEY_MOUSE, or by
|
||||||
to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>.
|
defining more than one control sequence to map to a given key
|
||||||
</ul>
|
code.</li>
|
||||||
</ul>
|
|
||||||
</ul>
|
<li>Support for 256-color terminals, such as modern xterm, when
|
||||||
Major bug fixes:
|
configured using the <code>--enable-ext-colors</code>
|
||||||
<ul>
|
option.</li>
|
||||||
<li>add logic to tic for cancelling strings in user-defined
|
|
||||||
capabilities
|
<li>Support for 16-color terminals, such as <em>aixterm</em>
|
||||||
(this is <em>needed</em> for
|
and <em>modern xterm</em>.</li>
|
||||||
current <code>konsole</code> terminfo entry).
|
|
||||||
|
<li>Better cursor-movement optimization. The package now
|
||||||
<li>modify <code>mk-1st.awk</code> so the generated makefile rules for
|
features a cursor-local-movement computation more efficient
|
||||||
linking or installing shared libraries do not first remove the
|
than either BSD's or System V's.</li>
|
||||||
library, in case it is in use, e.g., <code>libncurses.so</code> by
|
|
||||||
<code>/bin/sh</code>.
|
<li>Super hardware scrolling support. The screen-update code
|
||||||
|
incorporates a novel, simple, and cheap algorithm that enables
|
||||||
<li>correct check for notimeout() in wgetch().
|
it to make optimal use of hardware scrolling, line-insertion,
|
||||||
|
and line-deletion for screen-line movements. This algorithm is
|
||||||
<li>fix a sign-extension bug in infocmp's repair_acsc() function.
|
more powerful than the 4.4BSD curses <code>quickch</code>
|
||||||
|
routine.</li>
|
||||||
<li>change winnstr() to stop at the end of the line.
|
|
||||||
|
<li>Real support for terminals with the magic-cookie glitch.
|
||||||
<li>make Ada95 demo_panels() example work.
|
The screen-update code will refrain from drawing a highlight if
|
||||||
|
the magic- cookie unattributed spaces required just before the
|
||||||
<li>fix for adding a non-spacing character at the beginning of a line.
|
beginning and after the end would step on a non-space
|
||||||
|
character. It will automatically shift highlight boundaries
|
||||||
<li>fill in extended-color pair to make colors work
|
when doing so would make it possible to draw the highlight
|
||||||
for wide-characters using extended-colors.
|
without changing the visual appearance of the screen.</li>
|
||||||
|
|
||||||
<li>improve refresh of window on top of multi-column characters,
|
<li>It is possible to generate the library with a list of
|
||||||
taking into account split characters on left/right window
|
pre-loaded fallback entries linked to it so that it can serve
|
||||||
boundaries.
|
those terminal types even when no terminfo tree or termcap file
|
||||||
|
is accessible (this may be useful for support of
|
||||||
<li>modify <code>win_wchnstr()</code> to ensure that only a base cell
|
screen-oriented programs that must run in single-user
|
||||||
is returned for each multi-column character.
|
mode).</li>
|
||||||
|
|
||||||
<li>improve <code>waddch()</code> and <code>winsch()</code> handling of
|
<li>The tic(1)/captoinfo utility provided with ncurses has the
|
||||||
EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code>
|
ability to translate many termcaps from the XENIX, IBM and
|
||||||
to display illegal bytes rather than trying to append further bytes
|
AT&T extension sets.</li>
|
||||||
to make up a valid sequence.
|
|
||||||
|
<li>A BSD-like tset(1) utility is provided.</li>
|
||||||
<li>restore <code>curs_set()</code> state after
|
|
||||||
<code>endwin()</code>/<code>refresh()</code>
|
<li>The ncurses library and utilities will automatically read
|
||||||
|
terminfo entries from $HOME/.terminfo if it exists, and compile
|
||||||
<li>modify <code>keyname()</code> to use "^X" form only if
|
to that directory if it exists and the user has no write access
|
||||||
<code>meta()</code> has been called, or if <code>keyname()</code>
|
to the system directory. This feature makes it easier for users
|
||||||
is called without initializing curses, e.g., via
|
to have personal terminfo entries without giving up access to
|
||||||
<code>initscr()</code> or <code>newterm()</code>.
|
the system terminfo directory.</li>
|
||||||
|
|
||||||
<li>modify <code>unctrl()</code> to check codes in 128-255 range versus
|
<li>You may specify a path of directories to search for
|
||||||
<code>isprint()</code>.
|
compiled descriptions with the environment variable
|
||||||
If they are not printable, and locale was set, use a "M-" or "~"
|
TERMINFO_DIRS (this generalizes the feature provided by
|
||||||
sequence.
|
TERMINFO under stock System V.)</li>
|
||||||
|
|
||||||
<li>improve <code>resizeterm()</code> by moving ripped-off lines, and
|
<li>In terminfo source files, use capabilities may refer not
|
||||||
repainting the soft-keys.
|
just to other entries in the same source file (as in System V)
|
||||||
|
but also to compiled entries in either the system terminfo
|
||||||
<li>modify form library to accept control characters such as newline
|
directory or the user's $HOME/.terminfo directory.</li>
|
||||||
in set_field_buffer(), which is compatible with Solaris.
|
|
||||||
|
<li>A script (<strong>capconvert</strong>) is provided to help
|
||||||
<li>use <code>NCURSES_MOUSE_MASK()</code> in definition of
|
BSD users transition from termcap to terminfo. It gathers the
|
||||||
<code>BUTTON_RELEASE()</code>, etc., to make those work properly
|
information in a TERMCAP environment variable and/or a
|
||||||
with the <code>--enable-ext-mouse</code> configuration
|
~/.termcap local entries file and converts it to an equivalent
|
||||||
|
local terminfo tree under $HOME/.terminfo.</li>
|
||||||
<li>correct some functions in Ada95 binding which were using return
|
|
||||||
value from C where none was returned.
|
<li>Automatic fallback to the /etc/termcap file can be compiled
|
||||||
|
in when it is not possible to build a terminfo tree. This
|
||||||
<li>reviewed/fixed issues reported by Coverity and Klocwork tools.
|
feature is neither fast nor cheap, you don't want to use it
|
||||||
</ul>
|
unless you have to, but it's there.</li>
|
||||||
|
|
||||||
Portability:
|
<li>The table-of-entries utility <strong>toe</strong> makes it
|
||||||
<ul>
|
easy for users to see exactly what terminal types are available
|
||||||
<li>configure script:
|
on the system.</li>
|
||||||
<ul>
|
|
||||||
<li>new options:
|
<li>The library meets the XSI requirement that every macro
|
||||||
<dl>
|
entry point have a corresponding function which may be linked
|
||||||
|
(and will be prototype-checked) if the macro definition is
|
||||||
<dt>--disable-big-strings
|
disabled with <code>#undef</code>.</li>
|
||||||
<dd>control whether static string tables are generated as single
|
|
||||||
large strings (to improve startup performance), or as array
|
<li>An HTML "Introduction to Programming with NCURSES" document
|
||||||
of individual strings.
|
provides a narrative introduction to the curses programming
|
||||||
|
interface.</li>
|
||||||
<dt>--disable-relink
|
</ul>
|
||||||
<dd>control whether shared libraries are relinked (during install)
|
|
||||||
when rpath is enabled.
|
<h1>State of the Package</h1>Numerous bugs present in earlier
|
||||||
|
versions have been fixed; the library is far more reliable than
|
||||||
<dt>--disable-tic-depends
|
it used to be. Bounds checking in many `dangerous' entry points
|
||||||
<dd>make explicit whether tic library depends on ncurses/ncursesw
|
has been improved. The code is now type-safe according to gcc
|
||||||
library.
|
-Wall. The library has been checked for malloc leaks and arena
|
||||||
|
corruption by the Purify memory-allocation tester.
|
||||||
<dt>--enable-mixed-case
|
|
||||||
<dd>override the configure script's check if the filesystem
|
<p>The ncurses code has been tested with a wide variety of
|
||||||
supports mixed-case filenames.
|
applications including (versions starting with those noted):</p>
|
||||||
This allows one to control how the terminal database
|
|
||||||
maps to the filesystem.
|
<dl>
|
||||||
For filesystems that do not support mixed-case, the library
|
<dt>cdk</dt>
|
||||||
uses generate 2-character (hexadecimal) codes for the
|
|
||||||
lower-level of the filesystem terminfo database
|
<dd>Curses Development Kit<br>
|
||||||
|
<a href=
|
||||||
<dt>--enable-reentrant
|
"http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
|
||||||
<dd>builds a different flavor of the ncurses library (ncursest)
|
|
||||||
which improves reentrant use of the
|
<a href=
|
||||||
library by reducing global and static variables
|
"http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd>
|
||||||
(see the "--with-pthread" option for the threaded support).
|
|
||||||
|
<dt>ded</dt>
|
||||||
<dt>--enable-weak-symbols
|
|
||||||
<dd>use weak-symbols for linking to the POSIX thread library,
|
<dd>directory-editor<br>
|
||||||
and use the same soname for the ncurses shared library
|
<a href=
|
||||||
as the normal library (caveat: the ABI is for the threaded
|
"http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd>
|
||||||
library, which makes global data accessed via functions).
|
|
||||||
|
<dt>dialog</dt>
|
||||||
<dt>--with-pthread
|
|
||||||
<dd>build with the POSIX thread library (tested with AIX,
|
<dd>the underlying application used in Slackware's setup, and
|
||||||
Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64).
|
the basis for similar applications on GNU/Linux.<br>
|
||||||
|
<a href=
|
||||||
<dt>--with-ticlib
|
"http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd>
|
||||||
<dd>build/install the tic-support functions in a separate library
|
|
||||||
|
<dt>lynx</dt>
|
||||||
</dl>
|
|
||||||
|
<dd>the character-screen WWW browser<br>
|
||||||
<li>improved options:
|
<a href=
|
||||||
<dl>
|
"http://lynx.isc.org/release/">http://lynx.isc.org/release/</a></dd>
|
||||||
|
|
||||||
<dt>--enable-ext-colors
|
<dt>Midnight Commander</dt>
|
||||||
<dd>requires the wide-character configuration.
|
|
||||||
|
<dd>file manager<br>
|
||||||
<dt>--with-chtype
|
<a href=
|
||||||
<dd>ignore option value "unsigned" is always added to
|
"http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></dd>
|
||||||
the type in curses.h; do the same for --with-mmask-t.
|
|
||||||
|
<dt>mutt</dt>
|
||||||
<dt>--with-dmalloc
|
|
||||||
<dd>build-fix for redefinition of <code>strndup</code>.
|
<dd>mail utility<br>
|
||||||
|
<a href="http://www.mutt.org/">http://www.mutt.org/</a></dd>
|
||||||
<dt>--with-hashed-db
|
|
||||||
<dd>accepts a parameter which is the install-prefix of a given
|
<dt>ncftp</dt>
|
||||||
Berkeley Database.
|
|
||||||
|
<dd>file-transfer utility<br>
|
||||||
<dt>--with-hashed-db
|
<a href="http://www.ncftp.com/">http://www.ncftp.com/</a></dd>
|
||||||
<dd>the $LIBS environment variable overrides the search for the db
|
|
||||||
library.
|
<dt>nvi</dt>
|
||||||
|
|
||||||
<dt>--without-hashed-db
|
<dd>New vi versions 1.50 are able to use ncurses versions 1.9.7
|
||||||
<dd>assumed when "--disable-database" is used.
|
and later.<br>
|
||||||
|
<a href=
|
||||||
</dl>
|
"https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
|
||||||
|
</dd>
|
||||||
</ul>
|
|
||||||
|
<dt>pinfo</dt>
|
||||||
<li>other configure/build issues:
|
|
||||||
<ul>
|
<dd>Lynx-like info browser. <a href=
|
||||||
<li>build-fixes for LynxOS
|
"https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</a></dd>
|
||||||
<li>modify shared-library rules to allow FreeBSD 3.x to use rpath.
|
|
||||||
<li>build-fix for FreeBSD "contemporary" TTY interface.
|
<dt>tin</dt>
|
||||||
<li>build-fixes for AIX with libtool.
|
|
||||||
<li>build-fixes for Darwin and libtool.
|
<dd>newsreader, supporting color, MIME <a href=
|
||||||
<li>modify BeOS-specific ifdef's to build on Haiku.
|
"http://www.tin.org/">http://www.tin.org/</a></dd>
|
||||||
<li>corrected gcc options for building shared libraries on Solaris
|
</dl>as well as some that use ncurses for the terminfo support
|
||||||
and IRIX64.
|
alone:
|
||||||
<li>change shared-library configuration for OpenBSD, make rpath work.
|
|
||||||
<li>build-fixes for using libutf8, e.g., on OpenBSD 3.7
|
<dl>
|
||||||
<li>add "-e" option in ncurses/Makefile.in when generating source-files
|
<dt>minicom</dt>
|
||||||
to force earlier exit if the build environment fails unexpectedly.
|
|
||||||
<li>add support for shared libraries for QNX.
|
<dd>terminal emulator<br>
|
||||||
<li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to
|
<a href=
|
||||||
avoid substitution by IBM xlc to '#' as part of its extensions to
|
"http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></dd>
|
||||||
digraphs.
|
|
||||||
</ul>
|
<dt>vile</dt>
|
||||||
|
|
||||||
<li>library:
|
<dd>vi-like-emacs<br>
|
||||||
<ul>
|
<a href=
|
||||||
<li>rewrite wrapper for <code>wcrtomb()</code>, making it work on
|
"http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></dd>
|
||||||
Solaris. This is used in the form library to determine the length
|
</dl>
|
||||||
of the buffer needed by <code>field_buffer</code>.
|
|
||||||
<li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
|
<p>The ncurses distribution includes a selection of test programs
|
||||||
type for data manipulated by signal handlers.
|
(including a few games).</p>
|
||||||
<li>set locale in misc/ncurses-config.in since it uses a range
|
|
||||||
<li>disable GPM mouse support when $TERM does not happen to contain
|
<h2>Who's Who and What's What</h2>Zeyd Ben-Halim started it from
|
||||||
"linux", since Gpm_Open() no longer limits its assertion to terminals
|
a previous package pcurses, written by Pavel Curtis. Eric S.
|
||||||
that it might handle, e.g., within "screen" in xterm.
|
Raymond continued development. Jürgen Pfeifer wrote most of
|
||||||
<li>reset mouse file-descriptor when unloading GPM library.
|
the form and menu libraries. Ongoing work is being done by
|
||||||
</ul>
|
<a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>.
|
||||||
|
Thomas Dickey acts as the maintainer for the Free Software
|
||||||
<li>test programs:
|
Foundation, which holds the copyright on ncurses. Contact the
|
||||||
<ul>
|
current maintainers at <a href=
|
||||||
<li>update test programs to build/work with various UNIX curses for
|
"mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.
|
||||||
comparisons.
|
|
||||||
</ul>
|
<p>To join the ncurses mailing list, please write email to
|
||||||
</ul>
|
<code>bug-ncurses-request@gnu.org</code> containing the line:</p>
|
||||||
|
<pre>
|
||||||
<H1>Features of Ncurses</H1>
|
|
||||||
|
|
||||||
The ncurses package is fully compatible with SVr4 (System V Release 4) curses:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI>All 257 of the SVr4 calls have been implemented (and are documented).
|
|
||||||
<LI>Full support for SVr4 curses features including keyboard mapping, color,
|
|
||||||
forms-drawing with ACS characters, and automatic recognition of keypad
|
|
||||||
and function keys.
|
|
||||||
<LI>An emulation of the SVr4 panels library, supporting
|
|
||||||
a stack of windows with backing store, is included.
|
|
||||||
<LI>An emulation of the SVr4 menus library, supporting
|
|
||||||
a uniform but flexible interface for menu programming, is included.
|
|
||||||
<LI>An emulation of the SVr4 form library, supporting
|
|
||||||
data collection through on-screen forms, is included.
|
|
||||||
<LI>Binary terminfo entries generated by the ncurses tic(1) implementation
|
|
||||||
are bit-for-bit-compatible with the entry format SVr4 curses uses.
|
|
||||||
<LI>The utilities have options to allow you to filter terminfo
|
|
||||||
entries for use with less capable <STRONG>curses</STRONG>/<STRONG>terminfo</STRONG>
|
|
||||||
versions such as the HP/UX and AIX ports.</UL>
|
|
||||||
|
|
||||||
The ncurses package also has many useful extensions over SVr4:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI>The API is 8-bit clean and base-level conformant with the X/OPEN curses
|
|
||||||
specification, XSI curses (that is, it implements all BASE level features,
|
|
||||||
and most EXTENDED features).
|
|
||||||
It includes many function calls not supported under SVr4 curses
|
|
||||||
(but portability of all
|
|
||||||
calls is documented so you can use the SVr4 subset only).
|
|
||||||
<LI>Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner
|
|
||||||
of the screen if your terminal has an insert-character capability.
|
|
||||||
<LI>Ada95 and C++ bindings.
|
|
||||||
<LI>Support for mouse event reporting with X Window xterm
|
|
||||||
and FreeBSD and OS/2 console windows.
|
|
||||||
<LI>Extended mouse support via Alessandro Rubini's gpm package.
|
|
||||||
<LI>The function <CODE>wresize()</CODE> allows you to resize windows, preserving
|
|
||||||
their data.
|
|
||||||
<LI>The function <CODE>use_default_colors()</CODE> allows you to
|
|
||||||
use the terminal's default colors for the default color pair,
|
|
||||||
achieving the effect of transparent colors.
|
|
||||||
<LI>The functions <CODE>keyok()</CODE>
|
|
||||||
and <CODE>define_key()</CODE> allow
|
|
||||||
you to better control the use of function keys,
|
|
||||||
e.g., disabling the ncurses KEY_MOUSE,
|
|
||||||
or by defining more than one control sequence to map to a given key code.
|
|
||||||
<LI>Support for 256-color terminals, such as modern xterm, when configured
|
|
||||||
using the <code>--enable-ext-colors</code> option.
|
|
||||||
<LI>Support for 16-color terminals, such as aixterm and modern xterm.
|
|
||||||
<LI>Better cursor-movement optimization. The package now features a
|
|
||||||
cursor-local-movement computation more efficient than either BSD's
|
|
||||||
or System V's.
|
|
||||||
<LI>Super hardware scrolling support. The screen-update code incorporates
|
|
||||||
a novel, simple, and cheap algorithm that enables it to make optimal
|
|
||||||
use of hardware scrolling, line-insertion, and line-deletion
|
|
||||||
for screen-line movements. This algorithm is more powerful than
|
|
||||||
the 4.4BSD curses quickch() routine.
|
|
||||||
<LI>Real support for terminals with the magic-cookie glitch. The
|
|
||||||
screen-update code will refrain from drawing a highlight if the magic-
|
|
||||||
cookie unattributed spaces required just before the beginning and
|
|
||||||
after the end would step on a non-space character. It will
|
|
||||||
automatically shift highlight boundaries when doing so would make it
|
|
||||||
possible to draw the highlight without changing the visual appearance
|
|
||||||
of the screen.
|
|
||||||
<LI>It is possible to generate the library with a list of pre-loaded
|
|
||||||
fallback entries linked to it so that it can serve those terminal types even
|
|
||||||
when no terminfo tree or termcap file is accessible (this may be useful
|
|
||||||
for support of screen-oriented programs that must run in single-user mode).
|
|
||||||
<LI>The tic(1)/captoinfo utility provided with ncurses has the
|
|
||||||
ability to translate many termcaps from the XENIX, IBM and
|
|
||||||
AT&T extension sets.
|
|
||||||
<LI>A BSD-like tset(1) utility is provided.
|
|
||||||
<LI>The ncurses library and utilities will automatically read terminfo
|
|
||||||
entries from $HOME/.terminfo if it exists, and compile to that directory
|
|
||||||
if it exists and the user has no write access to the system directory.
|
|
||||||
This feature makes it easier for users to have personal terminfo entries
|
|
||||||
without giving up access to the system terminfo directory.
|
|
||||||
<LI>You may specify a path of directories to search for compiled
|
|
||||||
descriptions with the environment variable TERMINFO_DIRS (this
|
|
||||||
generalizes the feature provided by TERMINFO under stock System V.)
|
|
||||||
<LI>In terminfo source files, use capabilities may refer not just to
|
|
||||||
other entries in the same source file (as in System V) but also to
|
|
||||||
compiled entries in either the system terminfo directory or the user's
|
|
||||||
$HOME/.terminfo directory.
|
|
||||||
<LI>A script (<STRONG>capconvert</STRONG>) is provided to help BSD users
|
|
||||||
transition from termcap to terminfo. It gathers the information in a
|
|
||||||
TERMCAP environment variable and/or a ~/.termcap local entries file
|
|
||||||
and converts it to an equivalent local terminfo tree under $HOME/.terminfo.
|
|
||||||
<LI>Automatic fallback to the /etc/termcap file can be compiled in
|
|
||||||
when it is not possible to build a terminfo tree. This feature is neither
|
|
||||||
fast nor cheap, you don't want to use it unless you have to,
|
|
||||||
but it's there.
|
|
||||||
<LI>The table-of-entries utility <STRONG>toe</STRONG> makes it easy for users to
|
|
||||||
see exactly what terminal types are available on the system.
|
|
||||||
<LI>The library meets the XSI requirement that every macro entry
|
|
||||||
point have a corresponding function which may be linked (and will be
|
|
||||||
prototype-checked) if the macro definition is disabled with
|
|
||||||
<CODE>#undef</CODE>.
|
|
||||||
<LI>An HTML "Introduction to Programming with NCURSES" document provides
|
|
||||||
a narrative introduction to the curses programming interface.
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>State of the Package</H1>
|
|
||||||
|
|
||||||
Numerous bugs present in earlier versions have been fixed; the
|
|
||||||
library is far more reliable than it used to be. Bounds checking in many
|
|
||||||
`dangerous' entry points has been improved. The code is now type-safe
|
|
||||||
according to gcc -Wall. The library has been checked for malloc leaks and
|
|
||||||
arena corruption by the Purify memory-allocation tester.<P>
|
|
||||||
|
|
||||||
The ncurses code has been tested with a wide variety of applications
|
|
||||||
including (versions starting with those noted):
|
|
||||||
<DL>
|
|
||||||
<DT> cdk
|
|
||||||
<DD> Curses Development Kit
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
|
|
||||||
<DT> ded
|
|
||||||
<DD> directory-editor
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
|
|
||||||
<DT> dialog
|
|
||||||
<DD> the underlying application used in Slackware's setup, and the basis
|
|
||||||
for similar applications on GNU/Linux.
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
|
|
||||||
<DT> lynx
|
|
||||||
<DD> the character-screen WWW browser
|
|
||||||
<br>
|
|
||||||
<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
|
|
||||||
<DT> Midnight Commander
|
|
||||||
<DD> file manager
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
|
|
||||||
<DT> mutt
|
|
||||||
<DD> mail utility
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
|
|
||||||
<DT> ncftp
|
|
||||||
<DD> file-transfer utility
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
|
|
||||||
<DT> nvi
|
|
||||||
<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
|
|
||||||
<br>
|
|
||||||
<DT> pinfo
|
|
||||||
<DD> Lynx-like info browser.
|
|
||||||
<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A>
|
|
||||||
<DT> tin
|
|
||||||
<DD> newsreader, supporting color, MIME
|
|
||||||
<A HREF="http://www.tin.org/">http://www.tin.org/</A>
|
|
||||||
</DL>
|
|
||||||
as well as some that use ncurses for the terminfo support alone:
|
|
||||||
<DL>
|
|
||||||
<DT> minicom
|
|
||||||
<DD> terminal emulator
|
|
||||||
<br>
|
|
||||||
<A HREF="http://alioth.debian.org/projects/minicom/">
|
|
||||||
http://alioth.debian.org/projects/minicom/</A>
|
|
||||||
<DT> vile
|
|
||||||
<DD> vi-like-emacs
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The ncurses distribution includes a selection of test programs (including
|
|
||||||
a few games).
|
|
||||||
|
|
||||||
<H2>Who's Who and What's What</H2>
|
|
||||||
|
|
||||||
Zeyd Ben-Halim
|
|
||||||
started it from a previous package pcurses, written by Pavel Curtis.
|
|
||||||
Eric S. Raymond
|
|
||||||
continued development.
|
|
||||||
Jürgen Pfeifer wrote most of the form and menu libraries.
|
|
||||||
Ongoing work is being done by
|
|
||||||
<A HREF="mailto:dickey@invisible-island.net">Thomas Dickey</A>.
|
|
||||||
Thomas Dickey
|
|
||||||
acts as the maintainer for the Free Software Foundation,
|
|
||||||
which holds the copyright on ncurses.
|
|
||||||
Contact the current maintainers at
|
|
||||||
<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
To join the ncurses mailing list, please write email to
|
|
||||||
<CODE>bug-ncurses-request@gnu.org</CODE> containing the line:
|
|
||||||
<PRE>
|
|
||||||
subscribe <name>@<host.domain>
|
subscribe <name>@<host.domain>
|
||||||
</PRE>
|
</pre>
|
||||||
|
|
||||||
This list is open to anyone interested in helping with the development and
|
<p>This list is open to anyone interested in helping with the
|
||||||
testing of this package.<P>
|
development and testing of this package.</p>
|
||||||
|
|
||||||
Beta versions of ncurses and patches to the current release are made available at
|
<p>Beta versions of ncurses and patches to the current release
|
||||||
<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A> .
|
are made available at <a href=
|
||||||
|
"ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p>
|
||||||
|
|
||||||
<H2>Future Plans</H2>
|
<h2>Future Plans</h2>
|
||||||
<UL>
|
|
||||||
<LI>Extended-level XPG4 conformance, with internationalization support.
|
|
||||||
<LI>Ports to more systems, including DOS and Windows.
|
|
||||||
</UL>
|
|
||||||
We need people to help with these projects. If you are interested in working
|
|
||||||
on them, please join the ncurses list.
|
|
||||||
|
|
||||||
<H2>Other Related Resources</H2>
|
<ul>
|
||||||
|
<li>Extended-level XPG4 conformance, with internationalization
|
||||||
|
support.</li>
|
||||||
|
|
||||||
The distribution provides a newer version of the terminfo-format
|
<li>Ports to more systems, including DOS and Windows.</li>
|
||||||
terminal description file once maintained by
|
</ul>We need people to help with these projects. If you are
|
||||||
<A HREF="http://www.catb.org/~esr/terminfo/">Eric Raymond</A> .
|
interested in working on them, please join the ncurses list.
|
||||||
Unlike the older version, the termcap and terminfo data are provided
|
|
||||||
in the same file, and provides several user-definable extensions
|
|
||||||
beyond the X/Open specification.<P>
|
|
||||||
|
|
||||||
You can find lots of information on terminal-related topics
|
<h2>Other Related Resources</h2>The distribution provides a newer
|
||||||
not covered in the terminfo file at
|
version of the terminfo-format terminal description file once
|
||||||
<A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
|
maintained by <a href="http://www.catb.org/~esr/terminfo/">Eric
|
||||||
archive</A> .
|
Raymond</a> . Unlike the older version, the termcap and
|
||||||
</BODY>
|
terminfo data are provided in the same file, and provides several
|
||||||
</HTML>
|
user-definable extensions beyond the X/Open specification.
|
||||||
<!--
|
|
||||||
# The following sets edit modes for GNU EMACS
|
<p>You can find lots of information on terminal-related topics
|
||||||
# Local Variables:
|
not covered in the terminfo file at <a href=
|
||||||
# mode:html
|
"http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
|
||||||
# case-fold-search:nil
|
Richard Shuford's archive</a> .</p>
|
||||||
# fill-column:70
|
</body>
|
||||||
# End:
|
</html>
|
||||||
-->
|
|
||||||
|
370
contrib/ncurses/config.guess
vendored
370
contrib/ncurses/config.guess
vendored
@ -1,10 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Attempt to guess a canonical system name.
|
# Attempt to guess a canonical system name.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2008-04-14'
|
timestamp='2010-09-24'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# This file is free software; you can redistribute it and/or modify it
|
||||||
# under the terms of the GNU General Public License as published by
|
# under the terms of the GNU General Public License as published by
|
||||||
@ -27,16 +27,16 @@ timestamp='2008-04-14'
|
|||||||
# the same distribution terms that you use for the rest of that program.
|
# the same distribution terms that you use for the rest of that program.
|
||||||
|
|
||||||
|
|
||||||
# Originally written by Per Bothner <per@bothner.com>.
|
# Originally written by Per Bothner. Please send patches (context
|
||||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
# diff format) to <config-patches@gnu.org> and include a ChangeLog
|
||||||
# diff and a properly formatted ChangeLog entry.
|
# entry.
|
||||||
#
|
#
|
||||||
# This script attempts to guess a canonical system name similar to
|
# This script attempts to guess a canonical system name similar to
|
||||||
# config.sub. If it succeeds, it prints the system name on stdout, and
|
# config.sub. If it succeeds, it prints the system name on stdout, and
|
||||||
# exits with 0. Otherwise, it exits with 1.
|
# exits with 0. Otherwise, it exits with 1.
|
||||||
#
|
#
|
||||||
# The plan is that this can be called by configure scripts if you
|
# You can get the latest version of this script from:
|
||||||
# don't specify an explicit build system type.
|
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
|
||||||
|
|
||||||
me=`echo "$0" | sed -e 's,.*/,,'`
|
me=`echo "$0" | sed -e 's,.*/,,'`
|
||||||
|
|
||||||
@ -56,8 +56,9 @@ version="\
|
|||||||
GNU config.guess ($timestamp)
|
GNU config.guess ($timestamp)
|
||||||
|
|
||||||
Originally written by Per Bothner.
|
Originally written by Per Bothner.
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@ -91,7 +92,7 @@ if test $# != 0; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
trap 'exit 1' 1 2 15
|
trap 'exit 1' HUP INT TERM
|
||||||
|
|
||||||
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
|
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
|
||||||
# compiler to aid in system detection is discouraged as it requires
|
# compiler to aid in system detection is discouraged as it requires
|
||||||
@ -105,7 +106,7 @@ trap 'exit 1' 1 2 15
|
|||||||
|
|
||||||
set_cc_for_build='
|
set_cc_for_build='
|
||||||
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
|
||||||
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
|
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
|
||||||
: ${TMPDIR=/tmp} ;
|
: ${TMPDIR=/tmp} ;
|
||||||
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
|
||||||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
|
||||||
@ -170,7 +171,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
||||||
| grep __ELF__ >/dev/null
|
| grep -q __ELF__
|
||||||
then
|
then
|
||||||
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
|
||||||
# Return netbsd for either. FIX?
|
# Return netbsd for either. FIX?
|
||||||
@ -180,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
os=netbsd
|
os=netbsd
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# The OS release
|
# The OS release
|
||||||
@ -219,11 +220,11 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
exit ;;
|
exit ;;
|
||||||
alpha:OSF1:*:*)
|
alpha:OSF1:*:*)
|
||||||
case $UNAME_RELEASE in
|
case $UNAME_RELEASE in
|
||||||
*4.0)
|
*4.0)
|
||||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||||
;;
|
;;
|
||||||
*5.*)
|
*5.*)
|
||||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
# According to Compaq, /usr/sbin/psrinfo has been available on
|
# According to Compaq, /usr/sbin/psrinfo has been available on
|
||||||
@ -295,7 +296,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
echo s390-ibm-zvmoe
|
echo s390-ibm-zvmoe
|
||||||
exit ;;
|
exit ;;
|
||||||
*:OS400:*:*)
|
*:OS400:*:*)
|
||||||
echo powerpc-ibm-os400
|
echo powerpc-ibm-os400
|
||||||
exit ;;
|
exit ;;
|
||||||
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
|
||||||
echo arm-acorn-riscix${UNAME_RELEASE}
|
echo arm-acorn-riscix${UNAME_RELEASE}
|
||||||
@ -324,14 +325,33 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
case `/usr/bin/uname -p` in
|
case `/usr/bin/uname -p` in
|
||||||
sparc) echo sparc-icl-nx7; exit ;;
|
sparc) echo sparc-icl-nx7; exit ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
|
s390x:SunOS:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
|
exit ;;
|
||||||
sun4H:SunOS:5.*:*)
|
sun4H:SunOS:5.*:*)
|
||||||
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
|
||||||
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
|
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
|
||||||
|
echo i386-pc-auroraux${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
|
||||||
echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
eval $set_cc_for_build
|
||||||
|
SUN_ARCH="i386"
|
||||||
|
# If there is a compiler, see if it is configured for 64-bit objects.
|
||||||
|
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
|
||||||
|
# This test works for both compilers.
|
||||||
|
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||||
|
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||||
|
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
|
grep IS_64BIT_ARCH >/dev/null
|
||||||
|
then
|
||||||
|
SUN_ARCH="x86_64"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
sun4*:SunOS:6*:*)
|
sun4*:SunOS:6*:*)
|
||||||
# According to config.sub, this is the proper way to canonicalize
|
# According to config.sub, this is the proper way to canonicalize
|
||||||
@ -375,23 +395,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
|||||||
# MiNT. But MiNT is downward compatible to TOS, so this should
|
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||||
# be no problem.
|
# be no problem.
|
||||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||||
echo m68k-milan-mint${UNAME_RELEASE}
|
echo m68k-milan-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||||
echo m68k-hades-mint${UNAME_RELEASE}
|
echo m68k-hades-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
m68k:machten:*:*)
|
m68k:machten:*:*)
|
||||||
echo m68k-apple-machten${UNAME_RELEASE}
|
echo m68k-apple-machten${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -461,8 +481,8 @@ EOF
|
|||||||
echo m88k-motorola-sysv3
|
echo m88k-motorola-sysv3
|
||||||
exit ;;
|
exit ;;
|
||||||
AViiON:dgux:*:*)
|
AViiON:dgux:*:*)
|
||||||
# DG/UX returns AViiON for all architectures
|
# DG/UX returns AViiON for all architectures
|
||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||||
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
|
||||||
then
|
then
|
||||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
|
||||||
@ -532,7 +552,7 @@ EOF
|
|||||||
echo rs6000-ibm-aix3.2
|
echo rs6000-ibm-aix3.2
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
*:AIX:*:[456])
|
*:AIX:*:[4567])
|
||||||
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
|
||||||
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
|
||||||
IBM_ARCH=rs6000
|
IBM_ARCH=rs6000
|
||||||
@ -575,8 +595,8 @@ EOF
|
|||||||
9000/[678][0-9][0-9])
|
9000/[678][0-9][0-9])
|
||||||
if [ -x /usr/bin/getconf ]; then
|
if [ -x /usr/bin/getconf ]; then
|
||||||
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
|
||||||
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
|
||||||
case "${sc_cpu_version}" in
|
case "${sc_cpu_version}" in
|
||||||
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
|
||||||
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
|
||||||
532) # CPU_PA_RISC2_0
|
532) # CPU_PA_RISC2_0
|
||||||
@ -640,7 +660,7 @@ EOF
|
|||||||
# => hppa64-hp-hpux11.23
|
# => hppa64-hp-hpux11.23
|
||||||
|
|
||||||
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
|
||||||
grep __LP64__ >/dev/null
|
grep -q __LP64__
|
||||||
then
|
then
|
||||||
HP_ARCH="hppa2.0w"
|
HP_ARCH="hppa2.0w"
|
||||||
else
|
else
|
||||||
@ -711,22 +731,22 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||||
echo c1-convex-bsd
|
echo c1-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||||
if getsysinfo -f scalar_acc
|
if getsysinfo -f scalar_acc
|
||||||
then echo c32-convex-bsd
|
then echo c32-convex-bsd
|
||||||
else echo c2-convex-bsd
|
else echo c2-convex-bsd
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||||
echo c34-convex-bsd
|
echo c34-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||||
echo c38-convex-bsd
|
echo c38-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||||
echo c4-convex-bsd
|
echo c4-convex-bsd
|
||||||
exit ;;
|
exit ;;
|
||||||
CRAY*Y-MP:*:*:*)
|
CRAY*Y-MP:*:*:*)
|
||||||
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -750,14 +770,14 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
|
||||||
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||||
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
5000:UNIX_System_V:4.*:*)
|
5000:UNIX_System_V:4.*:*)
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
|
||||||
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
|
||||||
@ -785,27 +805,30 @@ EOF
|
|||||||
echo ${UNAME_MACHINE}-pc-mingw32
|
echo ${UNAME_MACHINE}-pc-mingw32
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:windows32*:*)
|
i*:windows32*:*)
|
||||||
# uname -m includes "-pc" on this system.
|
# uname -m includes "-pc" on this system.
|
||||||
echo ${UNAME_MACHINE}-mingw32
|
echo ${UNAME_MACHINE}-mingw32
|
||||||
exit ;;
|
exit ;;
|
||||||
i*:PW*:*)
|
i*:PW*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-pw32
|
echo ${UNAME_MACHINE}-pc-pw32
|
||||||
exit ;;
|
exit ;;
|
||||||
*:Interix*:[3456]*)
|
*:Interix*:*)
|
||||||
case ${UNAME_MACHINE} in
|
case ${UNAME_MACHINE} in
|
||||||
x86)
|
x86)
|
||||||
echo i586-pc-interix${UNAME_RELEASE}
|
echo i586-pc-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
EM64T | authenticamd)
|
authenticamd | genuineintel | EM64T)
|
||||||
echo x86_64-unknown-interix${UNAME_RELEASE}
|
echo x86_64-unknown-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
IA64)
|
IA64)
|
||||||
echo ia64-unknown-interix${UNAME_RELEASE}
|
echo ia64-unknown-interix${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
esac ;;
|
esac ;;
|
||||||
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
|
||||||
echo i${UNAME_MACHINE}-pc-mks
|
echo i${UNAME_MACHINE}-pc-mks
|
||||||
exit ;;
|
exit ;;
|
||||||
|
8664:Windows_NT:*)
|
||||||
|
echo x86_64-pc-mks
|
||||||
|
exit ;;
|
||||||
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
|
||||||
# How do we know it's Interix rather than the generic POSIX subsystem?
|
# How do we know it's Interix rather than the generic POSIX subsystem?
|
||||||
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
|
||||||
@ -835,10 +858,24 @@ EOF
|
|||||||
i*86:Minix:*:*)
|
i*86:Minix:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-minix
|
echo ${UNAME_MACHINE}-pc-minix
|
||||||
exit ;;
|
exit ;;
|
||||||
|
alpha:Linux:*:*)
|
||||||
|
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
||||||
|
EV5) UNAME_MACHINE=alphaev5 ;;
|
||||||
|
EV56) UNAME_MACHINE=alphaev56 ;;
|
||||||
|
PCA56) UNAME_MACHINE=alphapca56 ;;
|
||||||
|
PCA57) UNAME_MACHINE=alphapca56 ;;
|
||||||
|
EV6) UNAME_MACHINE=alphaev6 ;;
|
||||||
|
EV67) UNAME_MACHINE=alphaev67 ;;
|
||||||
|
EV68*) UNAME_MACHINE=alphaev68 ;;
|
||||||
|
esac
|
||||||
|
objdump --private-headers /bin/sh | grep -q ld.so.1
|
||||||
|
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
||||||
|
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
||||||
|
exit ;;
|
||||||
arm*:Linux:*:*)
|
arm*:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
|
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null | \
|
||||||
| grep -q __ARM_EABI__
|
grep -q __ARM_EABI__
|
||||||
then
|
then
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
else
|
else
|
||||||
@ -855,7 +892,18 @@ EOF
|
|||||||
echo crisv32-axis-linux-gnu
|
echo crisv32-axis-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
frv:Linux:*:*)
|
frv:Linux:*:*)
|
||||||
echo frv-unknown-linux-gnu
|
echo frv-unknown-linux-gnu
|
||||||
|
exit ;;
|
||||||
|
i*86:Linux:*:*)
|
||||||
|
LIBC=gnu
|
||||||
|
eval $set_cc_for_build
|
||||||
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
|
#ifdef __dietlibc__
|
||||||
|
LIBC=dietlibc
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||||
|
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
||||||
exit ;;
|
exit ;;
|
||||||
ia64:Linux:*:*)
|
ia64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
@ -866,75 +914,34 @@ EOF
|
|||||||
m68*:Linux:*:*)
|
m68*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
mips:Linux:*:*)
|
mips:Linux:*:* | mips64:Linux:*:*)
|
||||||
eval $set_cc_for_build
|
eval $set_cc_for_build
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#undef CPU
|
#undef CPU
|
||||||
#undef mips
|
#undef ${UNAME_MACHINE}
|
||||||
#undef mipsel
|
#undef ${UNAME_MACHINE}el
|
||||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
||||||
CPU=mipsel
|
CPU=${UNAME_MACHINE}el
|
||||||
#else
|
#else
|
||||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
||||||
CPU=mips
|
CPU=${UNAME_MACHINE}
|
||||||
#else
|
#else
|
||||||
CPU=
|
CPU=
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||||
/^CPU/{
|
|
||||||
s: ::g
|
|
||||||
p
|
|
||||||
}'`"
|
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
|
||||||
;;
|
|
||||||
mips64:Linux:*:*)
|
|
||||||
eval $set_cc_for_build
|
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
|
||||||
#undef CPU
|
|
||||||
#undef mips64
|
|
||||||
#undef mips64el
|
|
||||||
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
|
|
||||||
CPU=mips64el
|
|
||||||
#else
|
|
||||||
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
|
|
||||||
CPU=mips64
|
|
||||||
#else
|
|
||||||
CPU=
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
|
||||||
/^CPU/{
|
|
||||||
s: ::g
|
|
||||||
p
|
|
||||||
}'`"
|
|
||||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
|
||||||
;;
|
;;
|
||||||
or32:Linux:*:*)
|
or32:Linux:*:*)
|
||||||
echo or32-unknown-linux-gnu
|
echo or32-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
ppc:Linux:*:*)
|
padre:Linux:*:*)
|
||||||
echo powerpc-unknown-linux-gnu
|
echo sparc-unknown-linux-gnu
|
||||||
exit ;;
|
|
||||||
ppc64:Linux:*:*)
|
|
||||||
echo powerpc64-unknown-linux-gnu
|
|
||||||
exit ;;
|
|
||||||
alpha:Linux:*:*)
|
|
||||||
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
|
|
||||||
EV5) UNAME_MACHINE=alphaev5 ;;
|
|
||||||
EV56) UNAME_MACHINE=alphaev56 ;;
|
|
||||||
PCA56) UNAME_MACHINE=alphapca56 ;;
|
|
||||||
PCA57) UNAME_MACHINE=alphapca56 ;;
|
|
||||||
EV6) UNAME_MACHINE=alphaev6 ;;
|
|
||||||
EV67) UNAME_MACHINE=alphaev67 ;;
|
|
||||||
EV68*) UNAME_MACHINE=alphaev68 ;;
|
|
||||||
esac
|
|
||||||
objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
|
|
||||||
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
|
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
|
|
||||||
exit ;;
|
exit ;;
|
||||||
|
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
||||||
|
echo hppa64-unknown-linux-gnu
|
||||||
|
exit ;;
|
||||||
parisc:Linux:*:* | hppa:Linux:*:*)
|
parisc:Linux:*:* | hppa:Linux:*:*)
|
||||||
# Look for CPU level
|
# Look for CPU level
|
||||||
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
|
||||||
@ -943,14 +950,17 @@ EOF
|
|||||||
*) echo hppa-unknown-linux-gnu ;;
|
*) echo hppa-unknown-linux-gnu ;;
|
||||||
esac
|
esac
|
||||||
exit ;;
|
exit ;;
|
||||||
parisc64:Linux:*:* | hppa64:Linux:*:*)
|
ppc64:Linux:*:*)
|
||||||
echo hppa64-unknown-linux-gnu
|
echo powerpc64-unknown-linux-gnu
|
||||||
|
exit ;;
|
||||||
|
ppc:Linux:*:*)
|
||||||
|
echo powerpc-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
s390:Linux:*:* | s390x:Linux:*:*)
|
s390:Linux:*:* | s390x:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-ibm-linux
|
echo ${UNAME_MACHINE}-ibm-linux
|
||||||
exit ;;
|
exit ;;
|
||||||
sh64*:Linux:*:*)
|
sh64*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
sh*:Linux:*:*)
|
sh*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
@ -958,6 +968,9 @@ EOF
|
|||||||
sparc:Linux:*:* | sparc64:Linux:*:*)
|
sparc:Linux:*:* | sparc64:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
|
tile*:Linux:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-tilera-linux-gnu
|
||||||
|
exit ;;
|
||||||
vax:Linux:*:*)
|
vax:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-dec-linux-gnu
|
echo ${UNAME_MACHINE}-dec-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -965,68 +978,8 @@ EOF
|
|||||||
echo x86_64-unknown-linux-gnu
|
echo x86_64-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
xtensa*:Linux:*:*)
|
xtensa*:Linux:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
echo ${UNAME_MACHINE}-unknown-linux-gnu
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:Linux:*:*)
|
|
||||||
# The BFD linker knows what the default object file format is, so
|
|
||||||
# first see if it will tell us. cd to the root directory to prevent
|
|
||||||
# problems with other programs or directories called `ld' in the path.
|
|
||||||
# Set LC_ALL=C to ensure ld outputs messages in English.
|
|
||||||
ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
|
|
||||||
| sed -ne '/supported targets:/!d
|
|
||||||
s/[ ][ ]*/ /g
|
|
||||||
s/.*supported targets: *//
|
|
||||||
s/ .*//
|
|
||||||
p'`
|
|
||||||
case "$ld_supported_targets" in
|
|
||||||
elf32-i386)
|
|
||||||
TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
|
|
||||||
;;
|
|
||||||
a.out-i386-linux)
|
|
||||||
echo "${UNAME_MACHINE}-pc-linux-gnuaout"
|
|
||||||
exit ;;
|
|
||||||
"")
|
|
||||||
# Either a pre-BFD a.out linker (linux-gnuoldld) or
|
|
||||||
# one that does not give us useful --help.
|
|
||||||
echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
|
|
||||||
exit ;;
|
|
||||||
esac
|
|
||||||
# Determine whether the default compiler is a.out or elf
|
|
||||||
eval $set_cc_for_build
|
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
|
||||||
#include <features.h>
|
|
||||||
#ifdef __ELF__
|
|
||||||
# ifdef __GLIBC__
|
|
||||||
# if __GLIBC__ >= 2
|
|
||||||
LIBC=gnu
|
|
||||||
# else
|
|
||||||
LIBC=gnulibc1
|
|
||||||
# endif
|
|
||||||
# else
|
|
||||||
LIBC=gnulibc1
|
|
||||||
# endif
|
|
||||||
#else
|
|
||||||
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
|
||||||
LIBC=gnu
|
|
||||||
#else
|
|
||||||
LIBC=gnuaout
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#ifdef __dietlibc__
|
|
||||||
LIBC=dietlibc
|
|
||||||
#endif
|
|
||||||
EOF
|
|
||||||
eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
|
|
||||||
/^LIBC/{
|
|
||||||
s: ::g
|
|
||||||
p
|
|
||||||
}'`"
|
|
||||||
test x"${LIBC}" != x && {
|
|
||||||
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
|
|
||||||
exit
|
|
||||||
}
|
|
||||||
test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
|
|
||||||
;;
|
|
||||||
i*86:DYNIX/ptx:4*:*)
|
i*86:DYNIX/ptx:4*:*)
|
||||||
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
|
||||||
# earlier versions are messed up and put the nodename in both
|
# earlier versions are messed up and put the nodename in both
|
||||||
@ -1034,11 +987,11 @@ EOF
|
|||||||
echo i386-sequent-sysv4
|
echo i386-sequent-sysv4
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:UNIX_SV:4.2MP:2.*)
|
i*86:UNIX_SV:4.2MP:2.*)
|
||||||
# Unixware is an offshoot of SVR4, but it has its own version
|
# Unixware is an offshoot of SVR4, but it has its own version
|
||||||
# number series starting with 2...
|
# number series starting with 2...
|
||||||
# I am not positive that other SVR4 systems won't match this,
|
# I am not positive that other SVR4 systems won't match this,
|
||||||
# I just have to hope. -- rms.
|
# I just have to hope. -- rms.
|
||||||
# Use sysv4.2uw... so that sysv4* matches it.
|
# Use sysv4.2uw... so that sysv4* matches it.
|
||||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:OS/2:*:*)
|
i*86:OS/2:*:*)
|
||||||
@ -1055,7 +1008,7 @@ EOF
|
|||||||
i*86:syllable:*:*)
|
i*86:syllable:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-syllable
|
echo ${UNAME_MACHINE}-pc-syllable
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
|
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
|
||||||
echo i386-unknown-lynxos${UNAME_RELEASE}
|
echo i386-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:*DOS:*:*)
|
i*86:*DOS:*:*)
|
||||||
@ -1070,7 +1023,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
i*86:*:5:[678]*)
|
i*86:*:5:[678]*)
|
||||||
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
# UnixWare 7.x, OpenUNIX and OpenServer 6.
|
||||||
case `/bin/uname -X | grep "^Machine"` in
|
case `/bin/uname -X | grep "^Machine"` in
|
||||||
*486*) UNAME_MACHINE=i486 ;;
|
*486*) UNAME_MACHINE=i486 ;;
|
||||||
*Pentium) UNAME_MACHINE=i586 ;;
|
*Pentium) UNAME_MACHINE=i586 ;;
|
||||||
@ -1098,10 +1051,13 @@ EOF
|
|||||||
exit ;;
|
exit ;;
|
||||||
pc:*:*:*)
|
pc:*:*:*)
|
||||||
# Left here for compatibility:
|
# Left here for compatibility:
|
||||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||||
# the processor, so we play safe by assuming i386.
|
# the processor, so we play safe by assuming i586.
|
||||||
echo i386-pc-msdosdjgpp
|
# Note: whatever this is, it MUST be the same as what config.sub
|
||||||
exit ;;
|
# prints for the "djgpp" host, or else GDB configury will decide that
|
||||||
|
# this is a cross-build.
|
||||||
|
echo i586-pc-msdosdjgpp
|
||||||
|
exit ;;
|
||||||
Intel:Mach:3*:*)
|
Intel:Mach:3*:*)
|
||||||
echo i386-pc-mach3
|
echo i386-pc-mach3
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1136,8 +1092,18 @@ EOF
|
|||||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||||
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
&& { echo i486-ncr-sysv4; exit; } ;;
|
&& { echo i486-ncr-sysv4; exit; } ;;
|
||||||
|
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
|
||||||
|
OS_REL='.3'
|
||||||
|
test -r /etc/.relid \
|
||||||
|
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
|
||||||
|
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
|
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
|
||||||
|
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||||
|
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
|
||||||
|
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
|
||||||
|
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
|
||||||
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
|
||||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1150,7 +1116,7 @@ EOF
|
|||||||
rs6000:LynxOS:2.*:*)
|
rs6000:LynxOS:2.*:*)
|
||||||
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
echo rs6000-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
|
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
|
||||||
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
echo powerpc-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
SM[BE]S:UNIX_SV:*:*)
|
SM[BE]S:UNIX_SV:*:*)
|
||||||
@ -1171,9 +1137,9 @@ EOF
|
|||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||||
echo i586-unisys-sysv4
|
echo i586-unisys-sysv4
|
||||||
exit ;;
|
exit ;;
|
||||||
*:UNIX_System_V:4*:FTX*)
|
*:UNIX_System_V:4*:FTX*)
|
||||||
# From Gerald Hewes <hewes@openmarket.com>.
|
# From Gerald Hewes <hewes@openmarket.com>.
|
||||||
# How about differentiating between stratus architectures? -djm
|
# How about differentiating between stratus architectures? -djm
|
||||||
@ -1203,7 +1169,7 @@ EOF
|
|||||||
else
|
else
|
||||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit ;;
|
exit ;;
|
||||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||||
echo powerpc-be-beos
|
echo powerpc-be-beos
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1243,6 +1209,16 @@ EOF
|
|||||||
*:Darwin:*:*)
|
*:Darwin:*:*)
|
||||||
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
|
||||||
case $UNAME_PROCESSOR in
|
case $UNAME_PROCESSOR in
|
||||||
|
i386)
|
||||||
|
eval $set_cc_for_build
|
||||||
|
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||||
|
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||||
|
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||||
|
grep IS_64BIT_ARCH >/dev/null
|
||||||
|
then
|
||||||
|
UNAME_PROCESSOR="x86_64"
|
||||||
|
fi
|
||||||
|
fi ;;
|
||||||
unknown) UNAME_PROCESSOR=powerpc ;;
|
unknown) UNAME_PROCESSOR=powerpc ;;
|
||||||
esac
|
esac
|
||||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||||
@ -1250,14 +1226,17 @@ EOF
|
|||||||
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
*:procnto*:*:* | *:QNX:[0123456789]*:*)
|
||||||
UNAME_PROCESSOR=`uname -p`
|
UNAME_PROCESSOR=`uname -p`
|
||||||
if test "$UNAME_PROCESSOR" = "x86"; then
|
if test "$UNAME_PROCESSOR" = "x86"; then
|
||||||
UNAME_PROCESSOR=i386
|
UNAME_PROCESSOR=i386
|
||||||
UNAME_MACHINE=pc
|
UNAME_MACHINE=pc
|
||||||
fi
|
fi
|
||||||
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
|
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:QNX:*:4*)
|
*:QNX:*:4*)
|
||||||
echo i386-pc-qnx
|
echo i386-pc-qnx
|
||||||
exit ;;
|
exit ;;
|
||||||
|
NEO-?:NONSTOP_KERNEL:*:*)
|
||||||
|
echo neo-tandem-nsk${UNAME_RELEASE}
|
||||||
|
exit ;;
|
||||||
NSE-?:NONSTOP_KERNEL:*:*)
|
NSE-?:NONSTOP_KERNEL:*:*)
|
||||||
echo nse-tandem-nsk${UNAME_RELEASE}
|
echo nse-tandem-nsk${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
@ -1303,13 +1282,13 @@ EOF
|
|||||||
echo pdp10-unknown-its
|
echo pdp10-unknown-its
|
||||||
exit ;;
|
exit ;;
|
||||||
SEI:*:*:SEIUX)
|
SEI:*:*:SEIUX)
|
||||||
echo mips-sei-seiux${UNAME_RELEASE}
|
echo mips-sei-seiux${UNAME_RELEASE}
|
||||||
exit ;;
|
exit ;;
|
||||||
*:DragonFly:*:*)
|
*:DragonFly:*:*)
|
||||||
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
|
||||||
exit ;;
|
exit ;;
|
||||||
*:*VMS:*:*)
|
*:*VMS:*:*)
|
||||||
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
UNAME_MACHINE=`(uname -p) 2>/dev/null`
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE}" in
|
||||||
A*) echo alpha-dec-vms ; exit ;;
|
A*) echo alpha-dec-vms ; exit ;;
|
||||||
I*) echo ia64-dec-vms ; exit ;;
|
I*) echo ia64-dec-vms ; exit ;;
|
||||||
@ -1324,6 +1303,9 @@ EOF
|
|||||||
i*86:rdos:*:*)
|
i*86:rdos:*:*)
|
||||||
echo ${UNAME_MACHINE}-pc-rdos
|
echo ${UNAME_MACHINE}-pc-rdos
|
||||||
exit ;;
|
exit ;;
|
||||||
|
i*86:AROS:*:*)
|
||||||
|
echo ${UNAME_MACHINE}-pc-aros
|
||||||
|
exit ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
#echo '(No uname command or uname output not recognized.)' 1>&2
|
#echo '(No uname command or uname output not recognized.)' 1>&2
|
||||||
|
166
contrib/ncurses/config.sub
vendored
166
contrib/ncurses/config.sub
vendored
@ -1,10 +1,10 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
|
||||||
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
|
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
|
||||||
# Free Software Foundation, Inc.
|
# Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2008-06-16'
|
timestamp='2010-09-11'
|
||||||
|
|
||||||
# This file is (in principle) common to ALL GNU software.
|
# This file is (in principle) common to ALL GNU software.
|
||||||
# The presence of a machine in this file suggests that SOME GNU software
|
# The presence of a machine in this file suggests that SOME GNU software
|
||||||
@ -32,13 +32,16 @@ timestamp='2008-06-16'
|
|||||||
|
|
||||||
|
|
||||||
# Please send patches to <config-patches@gnu.org>. Submit a context
|
# Please send patches to <config-patches@gnu.org>. Submit a context
|
||||||
# diff and a properly formatted ChangeLog entry.
|
# diff and a properly formatted GNU ChangeLog entry.
|
||||||
#
|
#
|
||||||
# Configuration subroutine to validate and canonicalize a configuration type.
|
# Configuration subroutine to validate and canonicalize a configuration type.
|
||||||
# Supply the specified configuration type as an argument.
|
# Supply the specified configuration type as an argument.
|
||||||
# If it is invalid, we print an error message on stderr and exit with code 1.
|
# If it is invalid, we print an error message on stderr and exit with code 1.
|
||||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||||
|
|
||||||
|
# You can get the latest version of this script from:
|
||||||
|
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
|
||||||
|
|
||||||
# This file is supposed to be the same for all GNU packages
|
# This file is supposed to be the same for all GNU packages
|
||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
# that are meaningful with *any* GNU software.
|
# that are meaningful with *any* GNU software.
|
||||||
@ -72,8 +75,9 @@ Report bugs and patches to <config-patches@gnu.org>."
|
|||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
|
||||||
2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
|
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
|
||||||
|
Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
@ -120,8 +124,10 @@ esac
|
|||||||
# Here we must recognize all the valid KERNEL-OS combinations.
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
|
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||||
uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
|
linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||||
|
knetbsd*-gnu* | netbsd*-gnu* | \
|
||||||
|
kopensolaris*-gnu* | \
|
||||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
@ -148,10 +154,13 @@ case $os in
|
|||||||
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
|
||||||
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
|
||||||
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
|
||||||
-apple | -axis | -knuth | -cray)
|
-apple | -axis | -knuth | -cray | -microblaze)
|
||||||
os=
|
os=
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
;;
|
;;
|
||||||
|
-bluegene*)
|
||||||
|
os=-cnk
|
||||||
|
;;
|
||||||
-sim | -cisco | -oki | -wec | -winbond)
|
-sim | -cisco | -oki | -wec | -winbond)
|
||||||
os=
|
os=
|
||||||
basic_machine=$1
|
basic_machine=$1
|
||||||
@ -249,6 +258,7 @@ case $basic_machine in
|
|||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
|
| lm32 \
|
||||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||||
| maxq | mb | microblaze | mcore | mep | metag \
|
| maxq | mb | microblaze | mcore | mep | metag \
|
||||||
| mips | mipsbe | mipseb | mipsel | mipsle \
|
| mips | mipsbe | mipseb | mipsel | mipsle \
|
||||||
@ -270,28 +280,41 @@ case $basic_machine in
|
|||||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||||
| mipstx39 | mipstx39el \
|
| mipstx39 | mipstx39el \
|
||||||
| mn10200 | mn10300 \
|
| mn10200 | mn10300 \
|
||||||
|
| moxie \
|
||||||
| mt \
|
| mt \
|
||||||
| msp430 \
|
| msp430 \
|
||||||
|
| nds32 | nds32le | nds32be\
|
||||||
| nios | nios2 \
|
| nios | nios2 \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| or32 \
|
| or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pdp11 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
| powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
|
| rx \
|
||||||
| score \
|
| score \
|
||||||
| sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||||
| sh64 | sh64le \
|
| sh64 | sh64le \
|
||||||
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
|
||||||
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
|
||||||
| spu | strongarm \
|
| spu | strongarm \
|
||||||
| tahoe | thumb | tic4x | tic80 | tron \
|
| tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
|
||||||
|
| ubicom32 \
|
||||||
| v850 | v850e \
|
| v850 | v850e \
|
||||||
| we32k \
|
| we32k \
|
||||||
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
| x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
|
||||||
| z8k)
|
| z8k | z80)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
;;
|
;;
|
||||||
m6811 | m68hc11 | m6812 | m68hc12)
|
c54x)
|
||||||
|
basic_machine=tic54x-unknown
|
||||||
|
;;
|
||||||
|
c55x)
|
||||||
|
basic_machine=tic55x-unknown
|
||||||
|
;;
|
||||||
|
c6x)
|
||||||
|
basic_machine=tic6x-unknown
|
||||||
|
;;
|
||||||
|
m6811 | m68hc11 | m6812 | m68hc12 | picochip)
|
||||||
# Motorola 68HC11/12.
|
# Motorola 68HC11/12.
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
os=-none
|
os=-none
|
||||||
@ -306,8 +329,8 @@ case $basic_machine in
|
|||||||
# because (1) that's what they normally are, and
|
# because (1) that's what they normally are, and
|
||||||
# (2) the word "unknown" tends to confuse beginning users.
|
# (2) the word "unknown" tends to confuse beginning users.
|
||||||
i*86 | x86_64)
|
i*86 | x86_64)
|
||||||
basic_machine=$basic_machine-pc
|
basic_machine=$basic_machine-pc
|
||||||
;;
|
;;
|
||||||
# Object if more than one company name word.
|
# Object if more than one company name word.
|
||||||
*-*-*)
|
*-*-*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||||
@ -322,7 +345,7 @@ case $basic_machine in
|
|||||||
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
|
||||||
| avr-* | avr32-* \
|
| avr-* | avr32-* \
|
||||||
| bfin-* | bs2000-* \
|
| bfin-* | bs2000-* \
|
||||||
| c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
|
| c[123]* | c30-* | [cjt]90-* | c4x-* \
|
||||||
| clipper-* | craynv-* | cydra-* \
|
| clipper-* | craynv-* | cydra-* \
|
||||||
| d10v-* | d30v-* | dlx-* \
|
| d10v-* | d30v-* | dlx-* \
|
||||||
| elxsi-* \
|
| elxsi-* \
|
||||||
@ -331,9 +354,10 @@ case $basic_machine in
|
|||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
|
| lm32-* \
|
||||||
| m32c-* | m32r-* | m32rle-* \
|
| m32c-* | m32r-* | m32rle-* \
|
||||||
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
|
||||||
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
|
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
|
||||||
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
|
||||||
| mips16-* \
|
| mips16-* \
|
||||||
| mips64-* | mips64el-* \
|
| mips64-* | mips64el-* \
|
||||||
@ -355,27 +379,30 @@ case $basic_machine in
|
|||||||
| mmix-* \
|
| mmix-* \
|
||||||
| mt-* \
|
| mt-* \
|
||||||
| msp430-* \
|
| msp430-* \
|
||||||
|
| nds32-* | nds32le-* | nds32be-* \
|
||||||
| nios-* | nios2-* \
|
| nios-* | nios2-* \
|
||||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||||
| orion-* \
|
| orion-* \
|
||||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
|
||||||
| pyramid-* \
|
| pyramid-* \
|
||||||
| romp-* | rs6000-* \
|
| romp-* | rs6000-* | rx-* \
|
||||||
| sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
|
||||||
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
|
||||||
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
|
||||||
| sparclite-* \
|
| sparclite-* \
|
||||||
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
|
||||||
| tahoe-* | thumb-* \
|
| tahoe-* | thumb-* \
|
||||||
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
|
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
|
||||||
|
| tile-* | tilegx-* \
|
||||||
| tron-* \
|
| tron-* \
|
||||||
|
| ubicom32-* \
|
||||||
| v850-* | v850e-* | vax-* \
|
| v850-* | v850e-* | vax-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
|
||||||
| xstormy16-* | xtensa*-* \
|
| xstormy16-* | xtensa*-* \
|
||||||
| ymp-* \
|
| ymp-* \
|
||||||
| z8k-*)
|
| z8k-* | z80-*)
|
||||||
;;
|
;;
|
||||||
# Recognize the basic CPU types without company name, with glob match.
|
# Recognize the basic CPU types without company name, with glob match.
|
||||||
xtensa*)
|
xtensa*)
|
||||||
@ -397,7 +424,7 @@ case $basic_machine in
|
|||||||
basic_machine=a29k-amd
|
basic_machine=a29k-amd
|
||||||
os=-udi
|
os=-udi
|
||||||
;;
|
;;
|
||||||
abacus)
|
abacus)
|
||||||
basic_machine=abacus-unknown
|
basic_machine=abacus-unknown
|
||||||
;;
|
;;
|
||||||
adobe68k)
|
adobe68k)
|
||||||
@ -443,6 +470,10 @@ case $basic_machine in
|
|||||||
basic_machine=m68k-apollo
|
basic_machine=m68k-apollo
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
|
aros)
|
||||||
|
basic_machine=i386-pc
|
||||||
|
os=-aros
|
||||||
|
;;
|
||||||
aux)
|
aux)
|
||||||
basic_machine=m68k-apple
|
basic_machine=m68k-apple
|
||||||
os=-aux
|
os=-aux
|
||||||
@ -459,11 +490,24 @@ case $basic_machine in
|
|||||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
|
bluegene*)
|
||||||
|
basic_machine=powerpc-ibm
|
||||||
|
os=-cnk
|
||||||
|
;;
|
||||||
|
c54x-*)
|
||||||
|
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
c55x-*)
|
||||||
|
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
|
c6x-*)
|
||||||
|
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
|
;;
|
||||||
c90)
|
c90)
|
||||||
basic_machine=c90-cray
|
basic_machine=c90-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
cegcc)
|
cegcc)
|
||||||
basic_machine=arm-unknown
|
basic_machine=arm-unknown
|
||||||
os=-cegcc
|
os=-cegcc
|
||||||
;;
|
;;
|
||||||
@ -711,6 +755,9 @@ case $basic_machine in
|
|||||||
basic_machine=ns32k-utek
|
basic_machine=ns32k-utek
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
microblaze)
|
||||||
|
basic_machine=microblaze-xilinx
|
||||||
|
;;
|
||||||
mingw32)
|
mingw32)
|
||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
os=-mingw32
|
os=-mingw32
|
||||||
@ -815,6 +862,12 @@ case $basic_machine in
|
|||||||
np1)
|
np1)
|
||||||
basic_machine=np1-gould
|
basic_machine=np1-gould
|
||||||
;;
|
;;
|
||||||
|
neo-tandem)
|
||||||
|
basic_machine=neo-tandem
|
||||||
|
;;
|
||||||
|
nse-tandem)
|
||||||
|
basic_machine=nse-tandem
|
||||||
|
;;
|
||||||
nsr-tandem)
|
nsr-tandem)
|
||||||
basic_machine=nsr-tandem
|
basic_machine=nsr-tandem
|
||||||
;;
|
;;
|
||||||
@ -1049,17 +1102,10 @@ case $basic_machine in
|
|||||||
basic_machine=t90-cray
|
basic_machine=t90-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
tic54x | c54x*)
|
# This must be matched before tile*.
|
||||||
basic_machine=tic54x-unknown
|
tilegx*)
|
||||||
os=-coff
|
basic_machine=tilegx-unknown
|
||||||
;;
|
os=-linux-gnu
|
||||||
tic55x | c55x*)
|
|
||||||
basic_machine=tic55x-unknown
|
|
||||||
os=-coff
|
|
||||||
;;
|
|
||||||
tic6x | c6x*)
|
|
||||||
basic_machine=tic6x-unknown
|
|
||||||
os=-coff
|
|
||||||
;;
|
;;
|
||||||
tile*)
|
tile*)
|
||||||
basic_machine=tile-unknown
|
basic_machine=tile-unknown
|
||||||
@ -1140,6 +1186,10 @@ case $basic_machine in
|
|||||||
basic_machine=z8k-unknown
|
basic_machine=z8k-unknown
|
||||||
os=-sim
|
os=-sim
|
||||||
;;
|
;;
|
||||||
|
z80-*-coff)
|
||||||
|
basic_machine=z80-unknown
|
||||||
|
os=-sim
|
||||||
|
;;
|
||||||
none)
|
none)
|
||||||
basic_machine=none-none
|
basic_machine=none-none
|
||||||
os=-none
|
os=-none
|
||||||
@ -1178,7 +1228,7 @@ case $basic_machine in
|
|||||||
we32k)
|
we32k)
|
||||||
basic_machine=we32k-att
|
basic_machine=we32k-att
|
||||||
;;
|
;;
|
||||||
sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele)
|
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||||
basic_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
||||||
@ -1225,9 +1275,12 @@ esac
|
|||||||
if [ x"$os" != x"" ]
|
if [ x"$os" != x"" ]
|
||||||
then
|
then
|
||||||
case $os in
|
case $os in
|
||||||
# First match some system type aliases
|
# First match some system type aliases
|
||||||
# that might get confused with valid system types.
|
# that might get confused with valid system types.
|
||||||
# -solaris* is a basic system type, with this one exception.
|
# -solaris* is a basic system type, with this one exception.
|
||||||
|
-auroraux)
|
||||||
|
os=-auroraux
|
||||||
|
;;
|
||||||
-solaris1 | -solaris1.*)
|
-solaris1 | -solaris1.*)
|
||||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||||
;;
|
;;
|
||||||
@ -1248,10 +1301,11 @@ case $os in
|
|||||||
# Each alternative MUST END IN A *, to match a version number.
|
# Each alternative MUST END IN A *, to match a version number.
|
||||||
# -sysv* is not here because it comes later, after sysvr4.
|
# -sysv* is not here because it comes later, after sysvr4.
|
||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||||
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
|
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
|
||||||
|
| -sym* | -kopensolaris* \
|
||||||
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
|
||||||
| -aos* \
|
| -aos* | -aros* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
@ -1262,7 +1316,8 @@ case $os in
|
|||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
| -chorusos* | -chorusrdb* | -cegcc* \
|
||||||
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
|
| -mingw32* | -linux-gnu* | -linux-android* \
|
||||||
|
| -linux-newlib* | -linux-uclibc* \
|
||||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
@ -1270,7 +1325,7 @@ case $os in
|
|||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
|
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
@ -1309,7 +1364,7 @@ case $os in
|
|||||||
-opened*)
|
-opened*)
|
||||||
os=-openedition
|
os=-openedition
|
||||||
;;
|
;;
|
||||||
-os400*)
|
-os400*)
|
||||||
os=-os400
|
os=-os400
|
||||||
;;
|
;;
|
||||||
-wince*)
|
-wince*)
|
||||||
@ -1358,7 +1413,7 @@ case $os in
|
|||||||
-sinix*)
|
-sinix*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
-tpf*)
|
-tpf*)
|
||||||
os=-tpf
|
os=-tpf
|
||||||
;;
|
;;
|
||||||
-triton*)
|
-triton*)
|
||||||
@ -1403,6 +1458,8 @@ case $os in
|
|||||||
-dicos*)
|
-dicos*)
|
||||||
os=-dicos
|
os=-dicos
|
||||||
;;
|
;;
|
||||||
|
-nacl*)
|
||||||
|
;;
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
@ -1425,10 +1482,10 @@ else
|
|||||||
# system, and we'll never get to this point.
|
# system, and we'll never get to this point.
|
||||||
|
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
score-*)
|
score-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
spu-*)
|
spu-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
*-acorn)
|
*-acorn)
|
||||||
@ -1440,8 +1497,17 @@ case $basic_machine in
|
|||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
c4x-* | tic4x-*)
|
c4x-* | tic4x-*)
|
||||||
os=-coff
|
os=-coff
|
||||||
|
;;
|
||||||
|
tic54x-*)
|
||||||
|
os=-coff
|
||||||
|
;;
|
||||||
|
tic55x-*)
|
||||||
|
os=-coff
|
||||||
|
;;
|
||||||
|
tic6x-*)
|
||||||
|
os=-coff
|
||||||
;;
|
;;
|
||||||
# This must come before the *-dec entry.
|
# This must come before the *-dec entry.
|
||||||
pdp10-*)
|
pdp10-*)
|
||||||
@ -1468,7 +1534,7 @@ case $basic_machine in
|
|||||||
m68*-cisco)
|
m68*-cisco)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
mep-*)
|
mep-*)
|
||||||
os=-elf
|
os=-elf
|
||||||
;;
|
;;
|
||||||
mips*-cisco)
|
mips*-cisco)
|
||||||
@ -1495,7 +1561,7 @@ case $basic_machine in
|
|||||||
*-ibm)
|
*-ibm)
|
||||||
os=-aix
|
os=-aix
|
||||||
;;
|
;;
|
||||||
*-knuth)
|
*-knuth)
|
||||||
os=-mmixware
|
os=-mmixware
|
||||||
;;
|
;;
|
||||||
*-wec)
|
*-wec)
|
||||||
@ -1600,7 +1666,7 @@ case $basic_machine in
|
|||||||
-sunos*)
|
-sunos*)
|
||||||
vendor=sun
|
vendor=sun
|
||||||
;;
|
;;
|
||||||
-aix*)
|
-cnk*|-aix*)
|
||||||
vendor=ibm
|
vendor=ibm
|
||||||
;;
|
;;
|
||||||
-beos*)
|
-beos*)
|
||||||
|
6943
contrib/ncurses/configure
vendored
6943
contrib/ncurses/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
dnl***************************************************************************
|
dnl***************************************************************************
|
||||||
dnl Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
|
dnl Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
|
||||||
dnl *
|
dnl *
|
||||||
dnl Permission is hereby granted, free of charge, to any person obtaining a *
|
dnl Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
dnl copy of this software and associated documentation files (the *
|
dnl copy of this software and associated documentation files (the *
|
||||||
@ -28,14 +28,14 @@ dnl***************************************************************************
|
|||||||
dnl
|
dnl
|
||||||
dnl Author: Thomas E. Dickey 1995-on
|
dnl Author: Thomas E. Dickey 1995-on
|
||||||
dnl
|
dnl
|
||||||
dnl $Id: configure.in,v 1.454 2008/10/18 14:53:32 tom Exp $
|
dnl $Id: configure.in,v 1.520 2011/03/28 00:22:26 tom Exp $
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
dnl Process this file with autoconf to produce a configure script.
|
||||||
dnl
|
dnl
|
||||||
dnl See http://invisible-island.net/autoconf/ for additional information.
|
dnl See http://invisible-island.net/autoconf/ for additional information.
|
||||||
dnl
|
dnl
|
||||||
dnl ---------------------------------------------------------------------------
|
dnl ---------------------------------------------------------------------------
|
||||||
AC_PREREQ(2.13.20020210)
|
AC_PREREQ(2.13.20020210)
|
||||||
AC_REVISION($Revision: 1.454 $)
|
AC_REVISION($Revision: 1.520 $)
|
||||||
AC_INIT(ncurses/base/lib_initscr.c)
|
AC_INIT(ncurses/base/lib_initscr.c)
|
||||||
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
|
AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin)
|
||||||
|
|
||||||
@ -122,6 +122,13 @@ AC_ARG_WITH(ada,
|
|||||||
[cf_with_ada=yes])
|
[cf_with_ada=yes])
|
||||||
AC_MSG_RESULT($cf_with_ada)
|
AC_MSG_RESULT($cf_with_ada)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(if you want to install manpages)
|
||||||
|
AC_ARG_WITH(manpages,
|
||||||
|
[ --without-manpages suppress install of manpages],
|
||||||
|
[cf_with_manpages=$withval],
|
||||||
|
[cf_with_manpages=yes])
|
||||||
|
AC_MSG_RESULT($cf_with_manpages)
|
||||||
|
|
||||||
AC_MSG_CHECKING(if you want to build programs such as tic)
|
AC_MSG_CHECKING(if you want to build programs such as tic)
|
||||||
AC_ARG_WITH(progs,
|
AC_ARG_WITH(progs,
|
||||||
[ --without-progs suppress build with programs (e.g., tic)],
|
[ --without-progs suppress build with programs (e.g., tic)],
|
||||||
@ -129,6 +136,13 @@ AC_ARG_WITH(progs,
|
|||||||
[cf_with_progs=yes])
|
[cf_with_progs=yes])
|
||||||
AC_MSG_RESULT($cf_with_progs)
|
AC_MSG_RESULT($cf_with_progs)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(if you want to build test-programs)
|
||||||
|
AC_ARG_WITH(tests,
|
||||||
|
[ --without-tests suppress build with test-programs],
|
||||||
|
[cf_with_tests=$withval],
|
||||||
|
[cf_with_tests=yes])
|
||||||
|
AC_MSG_RESULT($cf_with_tests)
|
||||||
|
|
||||||
AC_MSG_CHECKING(if you wish to install curses.h)
|
AC_MSG_CHECKING(if you wish to install curses.h)
|
||||||
AC_ARG_WITH(curses-h,
|
AC_ARG_WITH(curses-h,
|
||||||
[ --without-curses-h install curses.h as ncurses.h only],
|
[ --without-curses-h install curses.h as ncurses.h only],
|
||||||
@ -148,10 +162,35 @@ CF_PROG_AWK
|
|||||||
CF_PROG_EGREP
|
CF_PROG_EGREP
|
||||||
CF_PROG_INSTALL
|
CF_PROG_INSTALL
|
||||||
CF_PROG_LINT
|
CF_PROG_LINT
|
||||||
AC_PROG_LN_S
|
CF_PROG_LN_S
|
||||||
|
|
||||||
AC_SYS_LONG_FILE_NAMES
|
AC_SYS_LONG_FILE_NAMES
|
||||||
|
|
||||||
|
# if we find pkg-config, check if we should install the ".pc" files.
|
||||||
|
CF_PKG_CONFIG
|
||||||
|
|
||||||
|
if test "$PKG_CONFIG" != no ; then
|
||||||
|
AC_MSG_CHECKING(if we should install .pc files for $PKG_CONFIG)
|
||||||
|
|
||||||
|
# Leave this as something that can be overridden in the environment.
|
||||||
|
if test -z "$PKG_CONFIG_LIBDIR" ; then
|
||||||
|
PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG" | sed -e 's,/[[^/]]*/[[^/]]*$,,'`/lib/pkgconfig
|
||||||
|
fi
|
||||||
|
PKG_CONFIG_LIBDIR=`echo "$PKG_CONFIG_LIBDIR" | sed -e 's/^://' -e 's/:.*//'`
|
||||||
|
if test -n "$PKG_CONFIG_LIBDIR" && test -d "$PKG_CONFIG_LIBDIR" ; then
|
||||||
|
AC_ARG_ENABLE(pc-files,
|
||||||
|
[ --enable-pc-files generate and install .pc files for pkg-config],
|
||||||
|
[enable_pc_files=$enableval],
|
||||||
|
[enable_pc_files=no])
|
||||||
|
AC_MSG_RESULT($enable_pc_files)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
AC_MSG_WARN(did not find library $PKG_CONFIG_LIBDIR)
|
||||||
|
enable_pc_files=no
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(PKG_CONFIG_LIBDIR)
|
||||||
|
|
||||||
AC_MSG_CHECKING(if we should assume mixed-case filenames)
|
AC_MSG_CHECKING(if we should assume mixed-case filenames)
|
||||||
AC_ARG_ENABLE(mixed-case,
|
AC_ARG_ENABLE(mixed-case,
|
||||||
[ --enable-mixed-case tic should assume mixed-case filenames],
|
[ --enable-mixed-case tic should assume mixed-case filenames],
|
||||||
@ -176,7 +215,7 @@ dnl These are standard among *NIX systems, but not when cross-compiling
|
|||||||
AC_CHECK_TOOL(RANLIB, ranlib, ':')
|
AC_CHECK_TOOL(RANLIB, ranlib, ':')
|
||||||
AC_CHECK_TOOL(LD, ld, ld)
|
AC_CHECK_TOOL(LD, ld, ld)
|
||||||
AC_CHECK_TOOL(AR, ar, ar)
|
AC_CHECK_TOOL(AR, ar, ar)
|
||||||
CF_SUBST(archiver options,AR_OPTS,rv)
|
CF_AR_FLAGS
|
||||||
|
|
||||||
dnl Special option for use by system-builders: the install-prefix is used to
|
dnl Special option for use by system-builders: the install-prefix is used to
|
||||||
dnl adjust the location into which the actual install is done, so that an
|
dnl adjust the location into which the actual install is done, so that an
|
||||||
@ -327,6 +366,7 @@ if test "$with_gpm" != no ; then
|
|||||||
SHLIB_LIST="-ldl $SHLIB_LIST"
|
SHLIB_LIST="-ldl $SHLIB_LIST"
|
||||||
else
|
else
|
||||||
SHLIB_LIST="-lgpm $SHLIB_LIST"
|
SHLIB_LIST="-lgpm $SHLIB_LIST"
|
||||||
|
CF_ADD_LIB(gpm,TEST_LIBS)
|
||||||
fi
|
fi
|
||||||
AC_DEFINE(HAVE_LIBGPM)
|
AC_DEFINE(HAVE_LIBGPM)
|
||||||
CF_CHECK_GPM_WGETCH
|
CF_CHECK_GPM_WGETCH
|
||||||
@ -380,6 +420,11 @@ if test "$CC_SHARED_OPTS" = "unknown"; then
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
### If we're building with rpath, try to link non-standard libs that way too.
|
||||||
|
if test "$DFT_LWR_MODEL" = "shared"; then
|
||||||
|
CF_DISABLE_RPATH_HACK
|
||||||
|
fi
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
|
CF_HELP_MESSAGE(Fine-Tuning Your Configuration:)
|
||||||
|
|
||||||
@ -413,7 +458,7 @@ if test "$use_database" != no ; then
|
|||||||
AC_DEFINE(USE_DATABASE)
|
AC_DEFINE(USE_DATABASE)
|
||||||
|
|
||||||
AC_MSG_CHECKING(which terminfo source-file will be installed)
|
AC_MSG_CHECKING(which terminfo source-file will be installed)
|
||||||
AC_ARG_ENABLE(database,
|
AC_ARG_WITH(database,
|
||||||
[ --with-database=XXX specify terminfo source to install],
|
[ --with-database=XXX specify terminfo source to install],
|
||||||
[TERMINFO_SRC=$withval])
|
[TERMINFO_SRC=$withval])
|
||||||
AC_MSG_RESULT($TERMINFO_SRC)
|
AC_MSG_RESULT($TERMINFO_SRC)
|
||||||
@ -618,7 +663,7 @@ AC_MSG_CHECKING(if you want broken-linker support code)
|
|||||||
AC_ARG_ENABLE(broken_linker,
|
AC_ARG_ENABLE(broken_linker,
|
||||||
[ --enable-broken_linker compile with broken-linker support code],
|
[ --enable-broken_linker compile with broken-linker support code],
|
||||||
[with_broken_linker=$enableval],
|
[with_broken_linker=$enableval],
|
||||||
[with_broken_linker=${BROKEN_LINKER-no}])
|
[with_broken_linker=${BROKEN_LINKER:-no}])
|
||||||
AC_MSG_RESULT($with_broken_linker)
|
AC_MSG_RESULT($with_broken_linker)
|
||||||
|
|
||||||
BROKEN_LINKER=0
|
BROKEN_LINKER=0
|
||||||
@ -655,7 +700,7 @@ NCURSES_WCHAR_T=0
|
|||||||
NCURSES_WINT_T=0
|
NCURSES_WINT_T=0
|
||||||
|
|
||||||
# Check to define _XOPEN_SOURCE "automatically"
|
# Check to define _XOPEN_SOURCE "automatically"
|
||||||
CF_XOPEN_SOURCE
|
CF_XOPEN_SOURCE(500)
|
||||||
|
|
||||||
# Work around breakage on OS X
|
# Work around breakage on OS X
|
||||||
CF_SIGWINCH
|
CF_SIGWINCH
|
||||||
@ -676,7 +721,15 @@ AC_MSG_RESULT($with_widec)
|
|||||||
if test "$with_widec" = yes ; then
|
if test "$with_widec" = yes ; then
|
||||||
LIB_SUFFIX="w${LIB_SUFFIX}"
|
LIB_SUFFIX="w${LIB_SUFFIX}"
|
||||||
AC_DEFINE(USE_WIDEC_SUPPORT)
|
AC_DEFINE(USE_WIDEC_SUPPORT)
|
||||||
CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
|
|
||||||
|
case "$CFLAGS $CPPFLAGS" in #(vi
|
||||||
|
*-D_XOPEN_SOURCE=500) #(vi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
CF_PREDEFINE(_XOPEN_SOURCE_EXTENDED)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# with_overwrite=no
|
# with_overwrite=no
|
||||||
NCURSES_CH_T=cchar_t
|
NCURSES_CH_T=cchar_t
|
||||||
AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
|
AC_CHECK_FUNCS(putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc wcsrtombs mbsrtowcs wcstombs mbstowcs)
|
||||||
@ -797,6 +850,15 @@ AC_ARG_WITH(mmask-t,
|
|||||||
[NCURSES_MMASK_T=auto])
|
[NCURSES_MMASK_T=auto])
|
||||||
AC_MSG_RESULT($NCURSES_MMASK_T)
|
AC_MSG_RESULT($NCURSES_MMASK_T)
|
||||||
|
|
||||||
|
### use option --with-ccharw-max to override CCHARW_MAX size
|
||||||
|
AC_MSG_CHECKING(for size CCHARW_MAX)
|
||||||
|
AC_ARG_WITH(ccharw-max,
|
||||||
|
[ --with-ccharw-max=XXX override size CCHARW_MAX],
|
||||||
|
[NCURSES_CCHARW_MAX="$withval"],
|
||||||
|
[NCURSES_CCHARW_MAX=5])
|
||||||
|
AC_MSG_RESULT($NCURSES_CCHARW_MAX)
|
||||||
|
AC_SUBST(NCURSES_CCHARW_MAX)
|
||||||
|
|
||||||
### Enable compiling-in rcs id's
|
### Enable compiling-in rcs id's
|
||||||
AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
|
AC_MSG_CHECKING(if RCS identifiers should be compiled-in)
|
||||||
AC_ARG_WITH(rcs-ids,
|
AC_ARG_WITH(rcs-ids,
|
||||||
@ -807,7 +869,7 @@ AC_MSG_RESULT($with_rcs_ids)
|
|||||||
test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
|
test "$with_rcs_ids" = yes && AC_DEFINE(USE_RCS_IDS)
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
CF_MAN_PAGES([ captoinfo clear infocmp infotocap tic toe tput ])
|
CF_MAN_PAGES([ captoinfo clear infocmp infotocap tabs tic toe tput tset ])
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
CF_HELP_MESSAGE(Extensions:)
|
CF_HELP_MESSAGE(Extensions:)
|
||||||
@ -825,13 +887,47 @@ if test "$with_ext_funcs" = yes ; then
|
|||||||
AC_DEFINE(HAVE_HAS_KEY)
|
AC_DEFINE(HAVE_HAS_KEY)
|
||||||
AC_DEFINE(HAVE_RESIZETERM)
|
AC_DEFINE(HAVE_RESIZETERM)
|
||||||
AC_DEFINE(HAVE_RESIZE_TERM)
|
AC_DEFINE(HAVE_RESIZE_TERM)
|
||||||
|
AC_DEFINE(HAVE_TERM_ENTRY_H)
|
||||||
AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
|
AC_DEFINE(HAVE_USE_DEFAULT_COLORS)
|
||||||
AC_DEFINE(HAVE_WRESIZE)
|
AC_DEFINE(HAVE_WRESIZE)
|
||||||
AC_DEFINE(NCURSES_EXT_FUNCS)
|
AC_DEFINE(NCURSES_EXT_FUNCS)
|
||||||
|
GENERATED_EXT_FUNCS=generated
|
||||||
else
|
else
|
||||||
NCURSES_EXT_FUNCS=0
|
NCURSES_EXT_FUNCS=0
|
||||||
|
GENERATED_EXT_FUNCS=
|
||||||
fi
|
fi
|
||||||
AC_SUBST(NCURSES_EXT_FUNCS)
|
AC_SUBST(NCURSES_EXT_FUNCS)
|
||||||
|
AC_SUBST(GENERATED_EXT_FUNCS)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(if you want to build with experimental SCREEN extensions)
|
||||||
|
AC_ARG_ENABLE(sp-funcs,
|
||||||
|
[ --enable-sp-funcs enable experimental SCREEN-extensions],
|
||||||
|
[with_sp_funcs=$enableval],
|
||||||
|
[with_sp_funcs=no])
|
||||||
|
AC_MSG_RESULT($with_sp_funcs)
|
||||||
|
if test "$with_sp_funcs" = yes ; then
|
||||||
|
NCURSES_SP_FUNCS=1
|
||||||
|
AC_DEFINE(NCURSES_SP_FUNCS)
|
||||||
|
GENERATED_SP_FUNCS=generated
|
||||||
|
else
|
||||||
|
NCURSES_SP_FUNCS=0
|
||||||
|
GENERATED_SP_FUNCS=
|
||||||
|
fi
|
||||||
|
AC_SUBST(NCURSES_SP_FUNCS)
|
||||||
|
AC_SUBST(GENERATED_SP_FUNCS)
|
||||||
|
|
||||||
|
AC_MSG_CHECKING(if you want to build with experimental terminal-driver)
|
||||||
|
AC_ARG_ENABLE(term-driver,
|
||||||
|
[ --enable-term-driver enable experimental terminal-driver],
|
||||||
|
[with_term_driver=$enableval],
|
||||||
|
[with_term_driver=no])
|
||||||
|
AC_MSG_RESULT($with_term_driver)
|
||||||
|
if test "$with_term_driver" = yes ; then
|
||||||
|
AC_DEFINE(USE_TERM_DRIVER)
|
||||||
|
if test "$with_sp_funcs" != yes ; then
|
||||||
|
AC_MSG_ERROR(The term-driver option relies upon sp-funcs)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
### use option --enable-const to turn on use of const beyond that in XSI.
|
### use option --enable-const to turn on use of const beyond that in XSI.
|
||||||
AC_MSG_CHECKING(for extended use of const keyword)
|
AC_MSG_CHECKING(for extended use of const keyword)
|
||||||
@ -973,30 +1069,55 @@ test "$with_hashmap" = yes && AC_DEFINE(USE_HASHMAP)
|
|||||||
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
### use option --enable-colorfgbg to turn on use of $COLORFGBG environment
|
||||||
AC_MSG_CHECKING(if you want colorfgbg code)
|
AC_MSG_CHECKING(if you want colorfgbg code)
|
||||||
AC_ARG_ENABLE(colorfgbg,
|
AC_ARG_ENABLE(colorfgbg,
|
||||||
[ --enable-colorfgbg compile with $COLORFGBG code],
|
[ --enable-colorfgbg compile-in experimental $COLORFGBG code],
|
||||||
[with_colorfgbg=$enableval],
|
[with_colorfgbg=$enableval],
|
||||||
[with_colorfgbg=no])
|
[with_colorfgbg=no])
|
||||||
AC_MSG_RESULT($with_colorfgbg)
|
AC_MSG_RESULT($with_colorfgbg)
|
||||||
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
|
test "$with_colorfgbg" = yes && AC_DEFINE(USE_COLORFGBG)
|
||||||
|
|
||||||
|
### use option --enable-interop to turn on use of bindings used for interop
|
||||||
|
AC_MSG_CHECKING(if you want interop bindings)
|
||||||
|
AC_ARG_ENABLE(interop,
|
||||||
|
[ --enable-interop compile-in experimental interop bindings],
|
||||||
|
[with_exp_interop=$enableval],
|
||||||
|
[with_exp_interop=no])
|
||||||
|
AC_MSG_RESULT($with_exp_interop)
|
||||||
|
|
||||||
|
NCURSES_INTEROP_FUNCS=0
|
||||||
|
test "$with_exp_interop" = yes && NCURSES_INTEROP_FUNCS=1
|
||||||
|
AC_SUBST(NCURSES_INTEROP_FUNCS)
|
||||||
|
|
||||||
# This is still experimental (20080329), but should ultimately be moved to
|
# This is still experimental (20080329), but should ultimately be moved to
|
||||||
# the script-block --with-normal, etc.
|
# the script-block --with-normal, etc.
|
||||||
CF_WITH_PTHREAD
|
CF_WITH_PTHREAD
|
||||||
|
|
||||||
AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
|
if test "x$with_pthread" != xno; then
|
||||||
AC_ARG_ENABLE(weak-symbols,
|
AC_CHECK_FUNC(pthread_kill,[
|
||||||
[ --enable-weak-symbols enable weak-symbols for pthreads],
|
AC_MSG_CHECKING(if you want to allow EINTR in wgetch with pthreads)
|
||||||
[use_weak_symbols=$withval],
|
AC_ARG_ENABLE(pthreads-eintr,
|
||||||
[use_weak_symbols=no])
|
[ --enable-pthreads-eintr enable EINTR in wgetch with pthreads],
|
||||||
AC_MSG_RESULT($use_weak_symbols)
|
[use_pthreads_eintr=$enableval],
|
||||||
if test "$use_weak_symbols" = yes ; then
|
[use_pthreads_eintr=no])
|
||||||
CF_WEAK_SYMBOLS
|
AC_MSG_RESULT($use_pthreads_eintr)
|
||||||
else
|
if test $use_pthreads_eintr = yes ; then
|
||||||
cf_cv_weak_symbols=no
|
AC_DEFINE(USE_PTHREADS_EINTR)
|
||||||
fi
|
fi])
|
||||||
|
|
||||||
if test $cf_cv_weak_symbols = yes ; then
|
AC_MSG_CHECKING(if you want to use weak-symbols for pthreads)
|
||||||
AC_DEFINE(USE_WEAK_SYMBOLS)
|
AC_ARG_ENABLE(weak-symbols,
|
||||||
|
[ --enable-weak-symbols enable weak-symbols for pthreads],
|
||||||
|
[use_weak_symbols=$enableval],
|
||||||
|
[use_weak_symbols=no])
|
||||||
|
AC_MSG_RESULT($use_weak_symbols)
|
||||||
|
if test "$use_weak_symbols" = yes ; then
|
||||||
|
CF_WEAK_SYMBOLS
|
||||||
|
else
|
||||||
|
cf_cv_weak_symbols=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test $cf_cv_weak_symbols = yes ; then
|
||||||
|
AC_DEFINE(USE_WEAK_SYMBOLS)
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
PTHREAD=
|
PTHREAD=
|
||||||
@ -1024,11 +1145,13 @@ if test "$with_reentrant" = yes ; then
|
|||||||
cf_cv_enable_opaque="NCURSES_INTERNALS"
|
cf_cv_enable_opaque="NCURSES_INTERNALS"
|
||||||
NCURSES_OPAQUE=1
|
NCURSES_OPAQUE=1
|
||||||
NCURSES_SIZE_T=int
|
NCURSES_SIZE_T=int
|
||||||
if test $cf_cv_weak_symbols = yes ; then
|
if test $cf_cv_weak_symbols = yes ; then
|
||||||
CF_REMOVE_LIB(LIBS,$LIBS,pthread)
|
CF_REMOVE_LIB(LIBS,$LIBS,pthread)
|
||||||
else
|
CF_ADD_LIB(pthread,TEST_LIBS)
|
||||||
LIB_SUFFIX="t${LIB_SUFFIX}"
|
CF_ADD_LIB(pthread,TEST_LIBS2)
|
||||||
fi
|
else
|
||||||
|
LIB_SUFFIX="t${LIB_SUFFIX}"
|
||||||
|
fi
|
||||||
AC_DEFINE(USE_REENTRANT)
|
AC_DEFINE(USE_REENTRANT)
|
||||||
CF_NCURSES_ABI_6
|
CF_NCURSES_ABI_6
|
||||||
else
|
else
|
||||||
@ -1042,6 +1165,20 @@ AC_SUBST(cf_cv_enable_opaque)
|
|||||||
AC_SUBST(NCURSES_OPAQUE)
|
AC_SUBST(NCURSES_OPAQUE)
|
||||||
AC_SUBST(NCURSES_SIZE_T)
|
AC_SUBST(NCURSES_SIZE_T)
|
||||||
|
|
||||||
|
### Allow using a different wrap-prefix
|
||||||
|
if test "$cf_cv_enable_reentrant" != 0 || test "$BROKEN_LINKER" = 1 ; then
|
||||||
|
AC_MSG_CHECKING(for prefix used to wrap public variables)
|
||||||
|
AC_ARG_WITH(wrap-prefix,
|
||||||
|
[ --with-wrap-prefix=XXX override prefix used for public variables],
|
||||||
|
[NCURSES_WRAP_PREFIX=$withval],
|
||||||
|
[NCURSES_WRAP_PREFIX=_nc_])
|
||||||
|
AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
|
||||||
|
else
|
||||||
|
NCURSES_WRAP_PREFIX=_nc_
|
||||||
|
fi
|
||||||
|
AC_SUBST(NCURSES_WRAP_PREFIX)
|
||||||
|
AC_DEFINE_UNQUOTED(NCURSES_WRAP_PREFIX,"$NCURSES_WRAP_PREFIX")
|
||||||
|
|
||||||
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
|
AC_MSG_CHECKING(if you want experimental safe-sprintf code)
|
||||||
AC_ARG_ENABLE(safe-sprintf,
|
AC_ARG_ENABLE(safe-sprintf,
|
||||||
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
|
[ --enable-safe-sprintf compile with experimental safe-sprintf code],
|
||||||
@ -1097,7 +1234,7 @@ AC_ARG_ENABLE(warnings,
|
|||||||
AC_MSG_RESULT($with_warnings)
|
AC_MSG_RESULT($with_warnings)
|
||||||
|
|
||||||
if test "x$with_warnings" = "xyes"; then
|
if test "x$with_warnings" = "xyes"; then
|
||||||
ADAFLAGS="$ADAFLAGS -gnatg"
|
CF_ADD_ADAFLAGS(-gnatg)
|
||||||
CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
|
CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum)
|
||||||
if test "$cf_with_cxx" = yes ; then
|
if test "$cf_with_cxx" = yes ; then
|
||||||
CF_GXX_WARNINGS(Wno-unused)
|
CF_GXX_WARNINGS(Wno-unused)
|
||||||
@ -1119,7 +1256,7 @@ then
|
|||||||
AC_DEFINE(NDEBUG)
|
AC_DEFINE(NDEBUG)
|
||||||
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
CPPFLAGS="$CPPFLAGS -DNDEBUG"
|
||||||
else
|
else
|
||||||
ADAFLAGS="$ADAFLAGS -gnata"
|
CF_ADD_ADAFLAGS(-gnata)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -1165,12 +1302,18 @@ fi
|
|||||||
AC_SUBST(ADA_TRACE)
|
AC_SUBST(ADA_TRACE)
|
||||||
|
|
||||||
### Checks for libraries.
|
### Checks for libraries.
|
||||||
|
case $cf_cv_system_name in #(vi
|
||||||
|
*mingw32*) #(vi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
AC_CHECK_FUNC(gettimeofday,
|
AC_CHECK_FUNC(gettimeofday,
|
||||||
AC_DEFINE(HAVE_GETTIMEOFDAY),[
|
AC_DEFINE(HAVE_GETTIMEOFDAY),[
|
||||||
|
|
||||||
AC_CHECK_LIB(bsd, gettimeofday,
|
AC_CHECK_LIB(bsd, gettimeofday,
|
||||||
AC_DEFINE(HAVE_GETTIMEOFDAY)
|
AC_DEFINE(HAVE_GETTIMEOFDAY)
|
||||||
LIBS="$LIBS -lbsd")])dnl CLIX: bzero, select, gettimeofday
|
CF_ADD_LIB(bsd))])dnl CLIX: bzero, select, gettimeofday
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
CF_MATH_LIB(MATH_LIB,sin(x))
|
CF_MATH_LIB(MATH_LIB,sin(x))
|
||||||
AC_SUBST(MATH_LIB)
|
AC_SUBST(MATH_LIB)
|
||||||
@ -1187,6 +1330,7 @@ fcntl.h \
|
|||||||
getopt.h \
|
getopt.h \
|
||||||
limits.h \
|
limits.h \
|
||||||
locale.h \
|
locale.h \
|
||||||
|
math.h \
|
||||||
poll.h \
|
poll.h \
|
||||||
sys/bsdtypes.h \
|
sys/bsdtypes.h \
|
||||||
sys/ioctl.h \
|
sys/ioctl.h \
|
||||||
@ -1204,7 +1348,7 @@ wctype.h \
|
|||||||
# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
|
# Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set
|
||||||
if test "$ISC" = yes ; then
|
if test "$ISC" = yes ; then
|
||||||
AC_CHECK_LIB(cposix,main)
|
AC_CHECK_LIB(cposix,main)
|
||||||
AC_CHECK_LIB(inet,bzero,LIBS="$LIBS -linet")dnl also 'select()'
|
AC_CHECK_LIB(inet,bzero,CF_ADD_LIB(inet))dnl also 'select()'
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CF_SYS_TIME_SELECT
|
CF_SYS_TIME_SELECT
|
||||||
@ -1287,6 +1431,8 @@ CF_TYPE_SIGACTION
|
|||||||
CF_SIZECHANGE
|
CF_SIZECHANGE
|
||||||
CF_FUNC_MEMMOVE
|
CF_FUNC_MEMMOVE
|
||||||
CF_FUNC_POLL
|
CF_FUNC_POLL
|
||||||
|
CF_VA_COPY
|
||||||
|
AC_FUNC_VFORK
|
||||||
|
|
||||||
# special check for test/ditto.c
|
# special check for test/ditto.c
|
||||||
CF_FUNC_OPENPTY
|
CF_FUNC_OPENPTY
|
||||||
@ -1294,10 +1440,11 @@ if test "$cf_cv_func_openpty" != no ; then
|
|||||||
AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>)
|
AC_DEFINE_UNQUOTED(USE_OPENPTY_HEADER,<$cf_cv_func_openpty>)
|
||||||
AC_DEFINE(USE_XTERM_PTY)
|
AC_DEFINE(USE_XTERM_PTY)
|
||||||
if test "$cf_cv_lib_util" = yes ; then
|
if test "$cf_cv_lib_util" = yes ; then
|
||||||
TEST_LIBS="-lutil $TEST_LIBS"
|
CF_ADD_LIB(util,TEST_LIBS)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_SUBST(TEST_LIBS)
|
AC_SUBST(TEST_LIBS)
|
||||||
|
AC_SUBST(TEST_LIBS2)
|
||||||
|
|
||||||
if test "$with_hashed_db" != no ; then
|
if test "$with_hashed_db" != no ; then
|
||||||
AC_DEFINE(USE_HASHED_DB)
|
AC_DEFINE(USE_HASHED_DB)
|
||||||
@ -1354,12 +1501,12 @@ cerr << "testing" << endl;
|
|||||||
CF_CPP_STATIC_CAST
|
CF_CPP_STATIC_CAST
|
||||||
|
|
||||||
CXX_AR='$(AR)'
|
CXX_AR='$(AR)'
|
||||||
CXX_AR_OPTS='$(AR_OPTS)'
|
CXX_ARFLAGS='$(ARFLAGS)'
|
||||||
case $cf_cv_system_name in #(vi
|
case $cf_cv_system_name in #(vi
|
||||||
irix*) #(vi
|
irix*) #(vi
|
||||||
if test "$GXX" != yes ; then
|
if test "$GXX" != yes ; then
|
||||||
CXX_AR='$(CXX)'
|
CXX_AR='$(CXX)'
|
||||||
CXX_AR_OPTS='-ar -o'
|
CXX_ARFLAGS='-ar -o'
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
sco3.2v5*) #(vi
|
sco3.2v5*) #(vi
|
||||||
@ -1368,13 +1515,13 @@ cerr << "testing" << endl;
|
|||||||
solaris2*)
|
solaris2*)
|
||||||
if test "$GXX" != yes ; then
|
if test "$GXX" != yes ; then
|
||||||
CXX_AR='$(CXX)'
|
CXX_AR='$(CXX)'
|
||||||
CXX_AR_OPTS='-xar -o'
|
CXX_ARFLAGS='-xar -o'
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
AC_SUBST(CXXLDFLAGS)
|
AC_SUBST(CXXLDFLAGS)
|
||||||
AC_SUBST(CXX_AR)
|
AC_SUBST(CXX_AR)
|
||||||
AC_SUBST(CXX_AR_OPTS)
|
AC_SUBST(CXX_ARFLAGS)
|
||||||
else
|
else
|
||||||
cf_cxx_library=no
|
cf_cxx_library=no
|
||||||
cf_cv_builtin_bool=1
|
cf_cv_builtin_bool=1
|
||||||
@ -1435,99 +1582,49 @@ if test -f "${srcdir}/Ada95/Makefile.in" ; then
|
|||||||
dnl libtool does not know anything about GNAT, though a change made in 1998
|
dnl libtool does not know anything about GNAT, though a change made in 1998
|
||||||
dnl provided for it "someday". Disable the ada subtree if we are using
|
dnl provided for it "someday". Disable the ada subtree if we are using
|
||||||
dnl libtool -TD 20070714
|
dnl libtool -TD 20070714
|
||||||
if test "$cf_with_ada" != "no" ; then
|
if test "$cf_with_ada" != "no" ; then
|
||||||
if test "$with_libtool" != "no"; then
|
if test "$with_libtool" != "no"; then
|
||||||
AC_MSG_WARN(libtool does not support Ada - disabling feature)
|
AC_MSG_WARN(libtool does not support Ada - disabling feature)
|
||||||
cf_with_ada=no
|
cf_with_ada=no
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl Check for availability of GNU Ada Translator (GNAT).
|
dnl Check for availability of GNU Ada Translator (GNAT).
|
||||||
dnl At the moment we support no other Ada95 compiler.
|
dnl At the moment we support no other Ada95 compiler.
|
||||||
if test "$cf_with_ada" != "no" ; then
|
if test "$cf_with_ada" != "no" ; then
|
||||||
cf_ada_make=gnatmake
|
CF_PROG_GNAT
|
||||||
AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no)
|
if test "$cf_cv_prog_gnat_correct" = yes; then
|
||||||
if test "$ac_cv_prog_gnat_exists" = no; then
|
CF_ADD_ADAFLAGS(-gnatpn)
|
||||||
cf_ada_make=
|
|
||||||
|
# make ADAFLAGS consistent with CFLAGS
|
||||||
|
case "$CFLAGS" in
|
||||||
|
*-g*)
|
||||||
|
CF_ADD_ADAFLAGS(-g)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
case "$CFLAGS" in
|
||||||
|
*-O*)
|
||||||
|
CF_ADD_ADAFLAGS(-O3)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
CF_GNAT_GENERICS
|
||||||
|
CF_GNAT_SIGINT
|
||||||
|
CF_GNAT_PRAGMA_UNREF
|
||||||
|
CF_GNAT_PROJECTS
|
||||||
|
|
||||||
|
CF_WITH_ADA_COMPILER
|
||||||
|
|
||||||
|
cf_ada_package=terminal_interface
|
||||||
|
AC_SUBST(cf_ada_package)
|
||||||
|
|
||||||
|
CF_WITH_ADA_INCLUDE
|
||||||
|
CF_WITH_ADA_OBJECTS
|
||||||
|
CF_WITH_ADA_SHAREDLIB
|
||||||
|
fi
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
CF_GNAT_VERSION
|
cf_with_ada=no
|
||||||
AC_CHECK_PROG(M4_exists, m4, yes, no)
|
|
||||||
if test "$ac_cv_prog_M4_exists" = no; then
|
|
||||||
cf_cv_prog_gnat_correct=no
|
|
||||||
echo Ada95 binding required program m4 not found. Ada95 binding disabled.
|
|
||||||
fi
|
|
||||||
if test "$cf_cv_prog_gnat_correct" = yes; then
|
|
||||||
AC_MSG_CHECKING(if GNAT works)
|
|
||||||
CF_GNAT_TRY_RUN([procedure conftest;],
|
|
||||||
[with Text_IO;
|
|
||||||
with GNAT.OS_Lib;
|
|
||||||
procedure conftest is
|
|
||||||
begin
|
|
||||||
Text_IO.Put ("Hello World");
|
|
||||||
Text_IO.New_Line;
|
|
||||||
GNAT.OS_Lib.OS_Exit (0);
|
|
||||||
end conftest;],[cf_cv_prog_gnat_correct=yes],[cf_cv_prog_gnat_correct=no])
|
|
||||||
AC_MSG_RESULT($cf_cv_prog_gnat_correct)
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if test "$cf_cv_prog_gnat_correct" = yes; then
|
|
||||||
ADAFLAGS="-O3 -gnatpn $ADAFLAGS"
|
|
||||||
|
|
||||||
AC_MSG_CHECKING(if GNAT pragma Unreferenced works)
|
|
||||||
CF_GNAT_TRY_LINK([procedure conftest;],
|
|
||||||
[with Text_IO;
|
|
||||||
with GNAT.OS_Lib;
|
|
||||||
procedure conftest is
|
|
||||||
test : Integer;
|
|
||||||
pragma Unreferenced (test);
|
|
||||||
begin
|
|
||||||
test := 1;
|
|
||||||
Text_IO.Put ("Hello World");
|
|
||||||
Text_IO.New_Line;
|
|
||||||
GNAT.OS_Lib.OS_Exit (0);
|
|
||||||
end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no])
|
|
||||||
AC_MSG_RESULT($cf_cv_pragma_unreferenced)
|
|
||||||
|
|
||||||
# if the pragma is supported, use it (needed in the Trace code).
|
|
||||||
if test $cf_cv_pragma_unreferenced = yes ; then
|
|
||||||
PRAGMA_UNREF=TRUE
|
|
||||||
else
|
|
||||||
PRAGMA_UNREF=FALSE
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_ARG_WITH(ada-compiler,
|
|
||||||
[ --with-ada-compiler=CMD specify Ada95 compiler command (default gnatmake)],
|
|
||||||
[cf_ada_compiler=$withval],
|
|
||||||
[cf_ada_compiler=gnatmake])
|
|
||||||
|
|
||||||
cf_ada_package=terminal_interface
|
|
||||||
|
|
||||||
AC_SUBST(cf_ada_make)
|
|
||||||
AC_SUBST(cf_ada_compiler)
|
|
||||||
AC_SUBST(cf_ada_package)
|
|
||||||
AC_SUBST(ADAFLAGS)
|
|
||||||
AC_SUBST(cf_compile_generics)
|
|
||||||
AC_SUBST(cf_generic_objects)
|
|
||||||
AC_SUBST(PRAGMA_UNREF)
|
|
||||||
|
|
||||||
CF_WITH_PATH(ada-include,
|
|
||||||
[ --with-ada-include=DIR Ada includes are in DIR],
|
|
||||||
ADA_INCLUDE,
|
|
||||||
PREFIX/lib/ada/adainclude,
|
|
||||||
[$]prefix/lib/ada/adainclude)
|
|
||||||
AC_SUBST(ADA_INCLUDE)
|
|
||||||
|
|
||||||
CF_WITH_PATH(ada-objects,
|
|
||||||
[ --with-ada-objects=DIR Ada objects are in DIR],
|
|
||||||
ADA_OBJECTS,
|
|
||||||
PREFIX/lib/ada/adalib,
|
|
||||||
[$]prefix/lib/ada/adalib)
|
|
||||||
AC_SUBST(ADA_OBJECTS)
|
|
||||||
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
cf_with_ada=no
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Construct the ncurses library-subsets, if any, from this set of keywords:
|
### Construct the ncurses library-subsets, if any, from this set of keywords:
|
||||||
@ -1554,6 +1651,7 @@ fi
|
|||||||
|
|
||||||
LIB_SUBSETS="${LIB_SUBSETS}termlib"
|
LIB_SUBSETS="${LIB_SUBSETS}termlib"
|
||||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
|
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo"
|
||||||
|
|
||||||
if test "$with_termlib" != no ; then
|
if test "$with_termlib" != no ; then
|
||||||
LIB_SUBSETS="${LIB_SUBSETS} "
|
LIB_SUBSETS="${LIB_SUBSETS} "
|
||||||
else
|
else
|
||||||
@ -1561,6 +1659,21 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
LIB_SUBSETS="${LIB_SUBSETS}base"
|
LIB_SUBSETS="${LIB_SUBSETS}base"
|
||||||
|
|
||||||
|
# Most term-driver calls are to tinfo, but some like init_pair are to the
|
||||||
|
# base library (so it resides in base).
|
||||||
|
if test "$with_term_driver" != no ; then
|
||||||
|
LIB_SUBSETS="${LIB_SUBSETS}+port_drivers"
|
||||||
|
case $cf_cv_system_name in #(vi
|
||||||
|
*mingw32*) #(vi
|
||||||
|
LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo+port_win32con"
|
||||||
|
;;
|
||||||
|
*) #(vi
|
||||||
|
LIB_SUBSETS="${LIB_SUBSETS}+port_tinfo"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
|
test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
|
||||||
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
|
test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
|
||||||
|
|
||||||
@ -1656,6 +1769,8 @@ if test "$with_termlib" != no ; then
|
|||||||
TEST_ARGS="${TEST_DEPS}"
|
TEST_ARGS="${TEST_DEPS}"
|
||||||
TEST_ARG2="${TEST_DEP2}"
|
TEST_ARG2="${TEST_DEP2}"
|
||||||
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
|
TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS"
|
||||||
|
TICS_LIST="$SHLIB_LIST $TEST_ARGS"
|
||||||
|
SHLIB_LIST="${SHLIB_LIST} $TEST_ARGS"
|
||||||
else
|
else
|
||||||
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
|
TEST_ARGS="-l${TINFO_ARG_SUFFIX}"
|
||||||
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
|
TEST_ARG2="-l${TINFO_ARG_SUFFIX}"
|
||||||
@ -1723,6 +1838,7 @@ if test "$NCURSES_LIBUTF8" = 1 ; then
|
|||||||
AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
|
AC_MSG_WARN(Wide-character applications must define HAVE_LIBUTF8_H to include curses.h)
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
WITH_OVERWRITE=$with_overwrite
|
||||||
|
|
||||||
AC_SUBST(WITH_OVERWRITE)
|
AC_SUBST(WITH_OVERWRITE)
|
||||||
AC_SUBST(TICS_LIST)
|
AC_SUBST(TICS_LIST)
|
||||||
@ -1742,40 +1858,91 @@ AC_DEFINE(HAVE_SLK_COLOR)
|
|||||||
CF_SRC_MODULES($modules_to_build)
|
CF_SRC_MODULES($modules_to_build)
|
||||||
|
|
||||||
if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
|
if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then
|
||||||
SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config"
|
SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses${DFT_ARG_SUFFIX}-config:Ada95/gen/adacurses-config.in"
|
||||||
|
SUB_MAKEFILES="$SUB_MAKEFILES man/adacurses${DFT_ARG_SUFFIX}-config.1:man/MKada_config.in"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
CF_DIRS_TO_MAKE
|
CF_DIRS_TO_MAKE
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP')
|
# symbols that differ when compiling Ada95 by itself.
|
||||||
|
NCURSES_SHLIB2='sh $(top_srcdir)/misc/shlib'
|
||||||
|
AC_SUBST(NCURSES_SHLIB2)
|
||||||
|
|
||||||
|
# values to use as strings
|
||||||
|
AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATH_SEPARATOR')
|
||||||
|
|
||||||
AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
|
AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${NCURSES_PATCH}")
|
||||||
|
|
||||||
### Now that we're done running tests, add the compiler-warnings, if any
|
### Now that we're done running tests, add the compiler-warnings, if any
|
||||||
CF_ADD_CFLAGS($EXTRA_CFLAGS)
|
CF_ADD_CFLAGS($EXTRA_CFLAGS)
|
||||||
|
|
||||||
### If we're building with rpath, try to link non-standard libs that way too.
|
|
||||||
if test "$DFT_LWR_MODEL" = "shared"; then
|
|
||||||
CF_RPATH_HACK
|
|
||||||
fi
|
|
||||||
|
|
||||||
### Define substitutions for header files to avoid name-pollution
|
### Define substitutions for header files to avoid name-pollution
|
||||||
CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
|
CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0)
|
||||||
CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
|
CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0)
|
||||||
CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
|
CF_SUBST_IF(["$ac_cv_header_termios_h" = yes], HAVE_TERMIOS_H, 1, 0)
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
test "$use_database" = yes && SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
|
test "$use_database" = yes && \
|
||||||
|
SUB_MAKEFILES="$SUB_MAKEFILES misc/run_tic.sh:misc/run_tic.in"
|
||||||
|
|
||||||
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
|
SUB_MAKEFILES="$SUB_MAKEFILES misc/ncurses-config:misc/ncurses-config.in"
|
||||||
|
SUB_MAKEFILES="$SUB_MAKEFILES man/ncurses${DFT_ARG_SUFFIX}${cf_cv_abi_version}-config.1:man/MKncu_config.in"
|
||||||
|
|
||||||
|
if test x"$enable_pc_files" = xyes ; then \
|
||||||
|
SUB_MAKEFILES="$SUB_MAKEFILES misc/gen-pkgconfig:misc/gen-pkgconfig.in"
|
||||||
|
MAKE_PC_FILES=
|
||||||
|
else
|
||||||
|
MAKE_PC_FILES="#"
|
||||||
|
fi
|
||||||
|
AC_SUBST(MAKE_PC_FILES)
|
||||||
|
AC_SUBST(cross_compiling)
|
||||||
|
|
||||||
|
AC_PATH_PROG(TIC_PATH,tic,unknown,$PATH:/usr/local/ncurses/bin)
|
||||||
|
if test -n "$FALLBACK_LIST"
|
||||||
|
then
|
||||||
|
if test "$TIC_PATH" = unknown
|
||||||
|
then
|
||||||
|
AC_MSG_WARN(no tic program found for fallbacks)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
AC_SUBST(TIC_PATH)
|
||||||
|
|
||||||
|
if test "x$cf_with_tests" != xno ; then
|
||||||
|
MAKE_TESTS=
|
||||||
|
else
|
||||||
|
MAKE_TESTS="#"
|
||||||
|
fi
|
||||||
|
AC_SUBST(MAKE_TESTS)
|
||||||
|
|
||||||
|
ADAHTML_DIR=../../doc/html/ada
|
||||||
|
AC_SUBST(ADAHTML_DIR)
|
||||||
|
|
||||||
|
SUB_SCRIPTS=
|
||||||
|
case $cf_cv_system_name in #(vi
|
||||||
|
*mingw32*) #(vi
|
||||||
|
SUB_SCRIPTS="mk-dlls.sh"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
AC_OUTPUT( \
|
AC_OUTPUT( \
|
||||||
include/MKterm.h.awk \
|
include/MKterm.h.awk \
|
||||||
include/curses.head:include/curses.h.in \
|
include/curses.head:include/curses.h.in \
|
||||||
|
include/ncurses_dll.h \
|
||||||
include/termcap.h \
|
include/termcap.h \
|
||||||
include/unctrl.h \
|
include/unctrl.h \
|
||||||
|
$SUB_SCRIPTS \
|
||||||
$SUB_MAKEFILES \
|
$SUB_MAKEFILES \
|
||||||
Makefile,[
|
Makefile,[
|
||||||
CF_PRG_RULES([$srcdir/test/mk-test.awk ECHO_LINK="$ECHO_LINK"], test)
|
if test "x$cf_with_tests" != xno ; then
|
||||||
|
CF_PRG_RULES([$srcdir/test/mk-test.awk INSTALL=no ECHO_LINK="$ECHO_LINK"], test)
|
||||||
|
fi
|
||||||
CF_LIB_RULES($SRC_SUBDIRS)
|
CF_LIB_RULES($SRC_SUBDIRS)
|
||||||
|
|
||||||
|
if test "x$cf_with_ada" != xno ; then
|
||||||
|
if test -z "$USE_OLD_MAKERULES" ; then
|
||||||
|
$AWK -f $srcdir/Ada95/mk-1st.awk <$srcdir/Ada95/src/modules >>Ada95/src/Makefile
|
||||||
|
fi
|
||||||
|
fi
|
||||||
],[
|
],[
|
||||||
### Special initialization commands, used to pass information from the
|
### Special initialization commands, used to pass information from the
|
||||||
### configuration-run into config.status
|
### configuration-run into config.status
|
||||||
@ -1785,10 +1952,12 @@ DFT_ARG_SUFFIX="$DFT_ARG_SUFFIX"
|
|||||||
DFT_LWR_MODEL="$DFT_LWR_MODEL"
|
DFT_LWR_MODEL="$DFT_LWR_MODEL"
|
||||||
ECHO_LINK="$ECHO_LINK"
|
ECHO_LINK="$ECHO_LINK"
|
||||||
LDCONFIG="$LDCONFIG"
|
LDCONFIG="$LDCONFIG"
|
||||||
|
LIBTOOL_VERSION="$LIBTOOL_VERSION"
|
||||||
LIB_NAME="$LIB_NAME"
|
LIB_NAME="$LIB_NAME"
|
||||||
LIB_SUBSETS="$LIB_SUBSETS"
|
LIB_SUBSETS="$LIB_SUBSETS"
|
||||||
LIB_SUFFIX="$LIB_SUFFIX"
|
LIB_SUFFIX="$LIB_SUFFIX"
|
||||||
LIB_TRACING="$LIB_TRACING"
|
LIB_TRACING="$LIB_TRACING"
|
||||||
|
LN_S="$LN_S"
|
||||||
MAKE_TERMINFO="$MAKE_TERMINFO"
|
MAKE_TERMINFO="$MAKE_TERMINFO"
|
||||||
NCURSES_MAJOR="$NCURSES_MAJOR"
|
NCURSES_MAJOR="$NCURSES_MAJOR"
|
||||||
NCURSES_MINOR="$NCURSES_MINOR"
|
NCURSES_MINOR="$NCURSES_MINOR"
|
||||||
@ -1796,13 +1965,15 @@ NCURSES_OSPEED="$NCURSES_OSPEED"
|
|||||||
NCURSES_PATCH="$NCURSES_PATCH"
|
NCURSES_PATCH="$NCURSES_PATCH"
|
||||||
SRC_SUBDIRS="$SRC_SUBDIRS"
|
SRC_SUBDIRS="$SRC_SUBDIRS"
|
||||||
TERMINFO="$TERMINFO"
|
TERMINFO="$TERMINFO"
|
||||||
|
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
|
||||||
|
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
|
||||||
|
TICS_NAME="$TICS_NAME"
|
||||||
|
TIC_PATH="$TIC_PATH"
|
||||||
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
|
TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX"
|
||||||
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
|
TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX"
|
||||||
TINFO_NAME="$TINFO_NAME"
|
TINFO_NAME="$TINFO_NAME"
|
||||||
TINFO_SUFFIX="$TINFO_SUFFIX"
|
TINFO_SUFFIX="$TINFO_SUFFIX"
|
||||||
TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX"
|
USE_OLD_MAKERULES="$USE_OLD_MAKERULES"
|
||||||
TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX"
|
|
||||||
TICS_NAME="$TICS_NAME"
|
|
||||||
WITH_CURSES_H="$with_curses_h"
|
WITH_CURSES_H="$with_curses_h"
|
||||||
WITH_ECHO="$with_echo"
|
WITH_ECHO="$with_echo"
|
||||||
WITH_OVERWRITE="$with_overwrite"
|
WITH_OVERWRITE="$with_overwrite"
|
||||||
@ -1820,9 +1991,12 @@ cf_cv_shared_soname='$cf_cv_shared_soname'
|
|||||||
cf_cv_shlib_version="$cf_cv_shlib_version"
|
cf_cv_shlib_version="$cf_cv_shlib_version"
|
||||||
cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
|
cf_cv_shlib_version_infix="$cf_cv_shlib_version_infix"
|
||||||
cf_cv_system_name="$cf_cv_system_name"
|
cf_cv_system_name="$cf_cv_system_name"
|
||||||
|
cf_with_ada="$cf_with_ada"
|
||||||
cf_with_cxx_binding="$cf_with_cxx_binding"
|
cf_with_cxx_binding="$cf_with_cxx_binding"
|
||||||
|
cf_with_manpages="$cf_with_manpages"
|
||||||
|
cf_with_tests="$cf_with_tests"
|
||||||
host="$host"
|
host="$host"
|
||||||
target="$target"
|
target="$target"
|
||||||
|
|
||||||
],cat)dnl
|
],cat)dnl
|
||||||
${MAKE-make} preinstall
|
${MAKE:-make} preinstall
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -25,7 +25,7 @@
|
|||||||
# use or other dealings in this Software without prior written #
|
# use or other dealings in this Software without prior written #
|
||||||
# authorization. #
|
# authorization. #
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# $Id: dist.mk,v 1.671 2008/11/02 00:58:38 tom Exp $
|
# $Id: dist.mk,v 1.810 2011/04/04 22:42:20 tom Exp $
|
||||||
# Makefile for creating ncurses distributions.
|
# Makefile for creating ncurses distributions.
|
||||||
#
|
#
|
||||||
# This only needs to be used directly as a makefile by developers, but
|
# This only needs to be used directly as a makefile by developers, but
|
||||||
@ -36,8 +36,8 @@ SHELL = /bin/sh
|
|||||||
|
|
||||||
# These define the major/minor/patch versions of ncurses.
|
# These define the major/minor/patch versions of ncurses.
|
||||||
NCURSES_MAJOR = 5
|
NCURSES_MAJOR = 5
|
||||||
NCURSES_MINOR = 7
|
NCURSES_MINOR = 9
|
||||||
NCURSES_PATCH = 20081102
|
NCURSES_PATCH = 20110404
|
||||||
|
|
||||||
# We don't append the patch to the version, since this only applies to releases
|
# We don't append the patch to the version, since this only applies to releases
|
||||||
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
|
||||||
@ -57,8 +57,7 @@ GNATHTML= `type -p gnathtml || type -p gnathtml.pl`
|
|||||||
# has the effect of lengthening the text portion of the page -- so man2html
|
# has the effect of lengthening the text portion of the page -- so man2html
|
||||||
# would remove some text. The man program on Redhat 6.1 appears to work with
|
# would remove some text. The man program on Redhat 6.1 appears to work with
|
||||||
# man2html if we set the top/bottom margins to 6 (the default is 7). Newer
|
# man2html if we set the top/bottom margins to 6 (the default is 7). Newer
|
||||||
# versions of 'man' on Linux leave no margin (and make it harder to sync with
|
# versions of 'man' leave no margin (and make it harder to sync with pages).
|
||||||
# pages).
|
|
||||||
MAN2HTML= man2html -botm=0 -topm=0 -cgiurl '$$title.$$section$$subsection.html'
|
MAN2HTML= man2html -botm=0 -topm=0 -cgiurl '$$title.$$section$$subsection.html'
|
||||||
|
|
||||||
ALL = ANNOUNCE doc/html/announce.html doc/ncurses-intro.doc doc/hackguide.doc manhtml adahtml
|
ALL = ANNOUNCE doc/html/announce.html doc/ncurses-intro.doc doc/hackguide.doc manhtml adahtml
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
$Id: announce.html,v 1.52 2008/11/02 01:05:08 tom Exp $
|
$Id: announce.html,v 1.55 2011/04/04 09:46:33 tom Exp $
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,560 +29,361 @@
|
|||||||
* authorization. *
|
* authorization. *
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
-->
|
-->
|
||||||
<HTML>
|
|
||||||
<HEAD>
|
<html>
|
||||||
<TITLE>Announcing ncurses 5.7</TITLE>
|
<head>
|
||||||
<link rev=made href="mailto:bug-ncurses@gnu.org">
|
<meta name="generator" content=
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
"HTML Tidy for Linux/x86 (vers 6 November 2007), see www.w3.org">
|
||||||
</HEAD>
|
|
||||||
<BODY>
|
<title>Announcing ncurses 5.9</title>
|
||||||
|
<link rev="made" href="mailto:bug-ncurses@gnu.org">
|
||||||
<H1>Announcing ncurses 5.7</H1>
|
<meta http-equiv="Content-Type" content=
|
||||||
|
"text/html; charset=us-ascii">
|
||||||
The ncurses (new curses) library is a free software emulation of
|
</head>
|
||||||
curses in System V Release 4.0, and more. It uses terminfo format,
|
|
||||||
supports pads and color
|
<body>
|
||||||
and multiple highlights and forms characters and function-key mapping,
|
<h1>Announcing ncurses 5.9</h1>The ncurses (new curses)
|
||||||
and has all the other SYSV-curses enhancements over BSD curses.<P>
|
library is a free software emulation of curses in System V
|
||||||
|
Release 4.0, and more. It uses terminfo format, supports pads and
|
||||||
In mid-June 1995, the maintainer of 4.4BSD curses declared that he
|
color and multiple highlights and forms characters and
|
||||||
considered 4.4BSD curses obsolete, and encouraged the keepers of
|
function-key mapping, and has all the other SYSV-curses
|
||||||
Unix releases such as BSD/OS, FreeBSD and NetBSD to switch over to
|
enhancements over BSD curses.
|
||||||
ncurses.<P>
|
|
||||||
|
<p>In mid-June 1995, the maintainer of 4.4BSD curses declared
|
||||||
The ncurses code was developed under GNU/Linux.
|
that he considered 4.4BSD curses obsolete, and encouraged the
|
||||||
It has been in use for some time with OpenBSD as the system curses library,
|
keepers of Unix releases such as BSD/OS, FreeBSD and NetBSD to
|
||||||
and on FreeBSD and NetBSD as an external package.
|
switch over to ncurses.</p>
|
||||||
It should port easily to any ANSI/POSIX-conforming UNIX.
|
|
||||||
It has even been ported to OS/2 Warp!<P>
|
<p>The ncurses code was developed under GNU/Linux. It has been in
|
||||||
|
use for some time with OpenBSD as the system curses library, and
|
||||||
The distribution includes the library and support utilities, including a
|
on FreeBSD and NetBSD as an external package. It should port
|
||||||
terminfo compiler tic(1), a decompiler infocmp(1), clear(1), tput(1), tset(1),
|
easily to any ANSI/POSIX-conforming UNIX. It has even been ported
|
||||||
and a termcap conversion tool captoinfo(1). Full manual pages are provided for
|
to OS/2 Warp!</p>
|
||||||
the library and tools.<P>
|
|
||||||
|
<p>The distribution includes the library and support utilities,
|
||||||
The ncurses distribution is available via anonymous FTP at
|
including a terminfo compiler tic(1), a decompiler infocmp(1),
|
||||||
the GNU distribution site
|
clear(1), tput(1), tset(1), and a termcap conversion tool
|
||||||
<A HREF="ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</A> .
|
captoinfo(1). Full manual pages are provided for the library and
|
||||||
<br>It is also available at
|
tools.</p>
|
||||||
<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A> .
|
|
||||||
|
<p>The ncurses distribution is available via anonymous FTP at the
|
||||||
<H1>Release Notes</H1>
|
GNU distribution site <a href=
|
||||||
|
"ftp://ftp.gnu.org/gnu/ncurses/">ftp://ftp.gnu.org/gnu/ncurses/</a> .<br>
|
||||||
This release is designed to be upward compatible from ncurses 5.0 through 5.6;
|
|
||||||
very few applications will require recompilation, depending on the platform.
|
It is also available at <a href=
|
||||||
These are the highlights from the change-log since ncurses 5.6 release.
|
"ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p>
|
||||||
<p>
|
|
||||||
Interface changes:
|
<h1>Release Notes</h1>This release is designed to be upward
|
||||||
<ul>
|
compatible from ncurses 5.0 through 5.8; very few applications
|
||||||
<li>generate linkable stubs for some macros:
|
will require recompilation, depending on the platform. These are
|
||||||
<br>
|
the highlights from the change-log since ncurses 5.8 release.
|
||||||
getattrs
|
<p>
|
||||||
|
This is a bug-fix release, correcting a small number of urgent problems
|
||||||
</ul>
|
in the ncurses library from the 5.8 release.
|
||||||
New features and improvements:
|
<p>
|
||||||
<ul>
|
It also improves the Ada95 binding:
|
||||||
<li>library
|
<ul>
|
||||||
<ul>
|
<li>fixes a longstanding portability problem with its use of the
|
||||||
<li>new flavor of the ncurses library provides rudimentary
|
<a href="http://invisible-island.net/ncurses/man/form_fieldtype.3x">set_field_type</a>
|
||||||
support for POSIX threads. Several functions are
|
function. Because that function uses variable-length argument lists,
|
||||||
reentrant, but most require either a window-level or
|
its interface with gnat does not work with certain platforms.
|
||||||
screen-level mutex.<br>
|
<li>improves configurability and portability, particularly when built
|
||||||
(This is <em>API</em>-compatible,
|
separately from the main ncurses tree. The 5.8 release introduced
|
||||||
but not <em>ABI</em>-compatible with the normal library).
|
scripts which can be used to construct separate tarballs for the
|
||||||
|
Ada95 and ncurses examples.
|
||||||
<li>add <code>NCURSES_OPAQUE</code> symbol to curses.h, will
|
<p>Those were a proof of concept. For the 5.9 release, those
|
||||||
use to make structs opaque in selected configurations.
|
scripts are augmented with rpm- and dpkg-scripts used in test builds
|
||||||
|
against a variety of gnat- and system ncurses versions as old as
|
||||||
<li>add <code>NCURSES_EXT_FUNCS</code> and
|
gnat 3.15 and ncurses 5.4 (see snapshots and systems tested
|
||||||
<code>NCURSES_EXT_COLORS</code> symbols to curses.h to make
|
<a href="http://invisible-island.net/ncurses/ncurses-Ada95.html">here</a>.
|
||||||
it simpler to tell if the extended functions and/or colors
|
<li>additional improvements were made for portability of the
|
||||||
are declared.
|
ncurses examples, adding rpm- and dpkg-scripts for test-builds.
|
||||||
|
See
|
||||||
<li>add wresize() to C++ binding
|
<a href="http://invisible-island.net/ncurses/ncurses-examples.html">this page</a>
|
||||||
|
for snapshots and other information.
|
||||||
<li>eliminate fixed-buffer vsprintf() calls in C++ binding.
|
</ul>
|
||||||
|
|
||||||
<li>add several functions to C++ binding which wrap C functions
|
<h1>Features of Ncurses</h1>The ncurses package is fully
|
||||||
that pass a WINDOW* parameter.
|
compatible with SVr4 (System V Release 4) curses:
|
||||||
|
|
||||||
<li>adapt mouse-handling code from menu library in form-library
|
<ul>
|
||||||
|
<li>All 257 of the SVr4 calls have been implemented (and are
|
||||||
<li>improve tracing for form library, showing created forms,
|
documented).</li>
|
||||||
fields, etc.
|
|
||||||
|
<li>Full support for SVr4 curses features including keyboard
|
||||||
<li>make $NCURSES_NO_PADDING feature work for termcap interface .
|
mapping, color, forms-drawing with ACS characters, and
|
||||||
|
automatic recognition of keypad and function keys.</li>
|
||||||
<li>add check to trace-file open, if the given name is a
|
|
||||||
directory, add ".log" to the name and try again.
|
<li>An emulation of the SVr4 panels library, supporting a stack
|
||||||
|
of windows with backing store, is included.</li>
|
||||||
<li>several new manpages: curs_legacy.3x, curs_memleaks.3x,
|
|
||||||
curs_opaque.3x and curs_threads.3x
|
<li>An emulation of the SVr4 menus library, supporting a
|
||||||
</ul>
|
uniform but flexible interface for menu programming, is
|
||||||
|
included.</li>
|
||||||
<li>programs:
|
|
||||||
<ul>
|
<li>An emulation of the SVr4 form library, supporting data
|
||||||
<li>modified three test-programs to demonstrate the threading
|
collection through on-screen forms, is included.</li>
|
||||||
support in this version: ditto, rain, worm.
|
|
||||||
|
<li>Binary terminfo entries generated by the ncurses tic(1)
|
||||||
<li>several new test-programs: demo_panels, dots_mvcur,
|
implementation are bit-for-bit-compatible with the entry format
|
||||||
inch_wide, inchs, key_name, key_names, savescreen,
|
SVr4 curses uses.</li>
|
||||||
savescreen.sh test_arrays, test_get_wstr, test_getstr,
|
|
||||||
test_instr, test_inwstr and test_opaque.
|
<li>The utilities have options to allow you to filter terminfo
|
||||||
|
entries for use with less capable
|
||||||
<li>add <code>adacurses-config</code> to the Ada95 install.
|
<strong>curses</strong>/<strong>terminfo</strong> versions such
|
||||||
|
as the HP/UX and AIX ports.</li>
|
||||||
<li>modify tic <code>-f</code> option to format spaces as
|
</ul>The ncurses package also has many useful extensions over
|
||||||
<code>\s</code> to prevent them from being lost when that
|
SVr4:
|
||||||
is read back in unformatted strings.
|
|
||||||
|
<ul>
|
||||||
<li>The <code>tack</code> program is now distributed separately
|
<li>The API is 8-bit clean and base-level conformant with the
|
||||||
from ncurses.
|
X/OPEN curses specification, XSI curses (that is, it implements
|
||||||
</ul>
|
all BASE level features, and most EXTENDED features). It
|
||||||
|
includes many function calls not supported under SVr4 curses
|
||||||
<li>terminal database
|
(but portability of all calls is documented so you can use the
|
||||||
<ul>
|
SVr4 subset only).</li>
|
||||||
<li>added entries:
|
|
||||||
<ul>
|
<li>Unlike SVr3 curses, ncurses can write to the
|
||||||
<li><code>Eterm-256color</code>,
|
rightmost-bottommost corner of the screen if your terminal has
|
||||||
<code>Eterm-88color</code> and
|
an insert-character capability.</li>
|
||||||
<code>rxvt-88color</code>
|
|
||||||
<li><code>aterm</code>
|
<li>Ada95 and C++ bindings.</li>
|
||||||
<li><code>konsole-256color</code>
|
|
||||||
<li><code>mrxvt</code>
|
<li>Support for mouse event reporting with X Window xterm and
|
||||||
<li><code>screen.mlterm</code>
|
FreeBSD and OS/2 console windows.</li>
|
||||||
<li><code>screen.rxvt</code>
|
|
||||||
<li><code>teraterm4.59</code> is now the primary primary
|
<li>Extended mouse support via Alessandro Rubini's gpm
|
||||||
teraterm entry, renamed original to
|
package.</li>
|
||||||
<code>teraterm2.3</code>
|
|
||||||
<li><code>9term</code> terminal
|
<li>The function <code>wresize</code> allows you to resize
|
||||||
<li>Newbury Data entries
|
windows, preserving their data.</li>
|
||||||
</ul>
|
|
||||||
<li>updated/improved entries:
|
<li>The function <code>use_default_colors</code> allows you to
|
||||||
<ul>
|
use the terminal's default colors for the default color pair,
|
||||||
<li><code>gnome</code> to version 2.22.3
|
achieving the effect of transparent colors.</li>
|
||||||
<li><code>h19</code>, <code>z100</code>
|
|
||||||
<li><code>konsole</code> to version 1.6.6
|
<li>The functions <code>keyok</code> and
|
||||||
<li><code>mlterm</code>, <code>mlterm+pcfkeys</code>
|
<code>define_key</code> allow you to better control the use of
|
||||||
<li><code>xterm</code>, and building-blocks for function-keys
|
function keys, e.g., disabling the ncurses KEY_MOUSE, or by
|
||||||
to <a href="http://invisible-island.net/xterm/xterm.log.html#xterm_230">xterm patch #230</a>.
|
defining more than one control sequence to map to a given key
|
||||||
</ul>
|
code.</li>
|
||||||
</ul>
|
|
||||||
</ul>
|
<li>Support for 256-color terminals, such as modern xterm, when
|
||||||
Major bug fixes:
|
configured using the <code>--enable-ext-colors</code>
|
||||||
<ul>
|
option.</li>
|
||||||
<li>add logic to tic for cancelling strings in user-defined
|
|
||||||
capabilities
|
<li>Support for 16-color terminals, such as <em>aixterm</em>
|
||||||
(this is <em>needed</em> for
|
and <em>modern xterm</em>.</li>
|
||||||
current <code>konsole</code> terminfo entry).
|
|
||||||
|
<li>Better cursor-movement optimization. The package now
|
||||||
<li>modify <code>mk-1st.awk</code> so the generated makefile rules for
|
features a cursor-local-movement computation more efficient
|
||||||
linking or installing shared libraries do not first remove the
|
than either BSD's or System V's.</li>
|
||||||
library, in case it is in use, e.g., <code>libncurses.so</code> by
|
|
||||||
<code>/bin/sh</code>.
|
<li>Super hardware scrolling support. The screen-update code
|
||||||
|
incorporates a novel, simple, and cheap algorithm that enables
|
||||||
<li>correct check for notimeout() in wgetch().
|
it to make optimal use of hardware scrolling, line-insertion,
|
||||||
|
and line-deletion for screen-line movements. This algorithm is
|
||||||
<li>fix a sign-extension bug in infocmp's repair_acsc() function.
|
more powerful than the 4.4BSD curses <code>quickch</code>
|
||||||
|
routine.</li>
|
||||||
<li>change winnstr() to stop at the end of the line.
|
|
||||||
|
<li>Real support for terminals with the magic-cookie glitch.
|
||||||
<li>make Ada95 demo_panels() example work.
|
The screen-update code will refrain from drawing a highlight if
|
||||||
|
the magic- cookie unattributed spaces required just before the
|
||||||
<li>fix for adding a non-spacing character at the beginning of a line.
|
beginning and after the end would step on a non-space
|
||||||
|
character. It will automatically shift highlight boundaries
|
||||||
<li>fill in extended-color pair to make colors work
|
when doing so would make it possible to draw the highlight
|
||||||
for wide-characters using extended-colors.
|
without changing the visual appearance of the screen.</li>
|
||||||
|
|
||||||
<li>improve refresh of window on top of multi-column characters,
|
<li>It is possible to generate the library with a list of
|
||||||
taking into account split characters on left/right window
|
pre-loaded fallback entries linked to it so that it can serve
|
||||||
boundaries.
|
those terminal types even when no terminfo tree or termcap file
|
||||||
|
is accessible (this may be useful for support of
|
||||||
<li>modify <code>win_wchnstr()</code> to ensure that only a base cell
|
screen-oriented programs that must run in single-user
|
||||||
is returned for each multi-column character.
|
mode).</li>
|
||||||
|
|
||||||
<li>improve <code>waddch()</code> and <code>winsch()</code> handling of
|
<li>The tic(1)/captoinfo utility provided with ncurses has the
|
||||||
EILSEQ from <code>mbrtowc()</code> by using <code>unctrl()</code>
|
ability to translate many termcaps from the XENIX, IBM and
|
||||||
to display illegal bytes rather than trying to append further bytes
|
AT&T extension sets.</li>
|
||||||
to make up a valid sequence.
|
|
||||||
|
<li>A BSD-like tset(1) utility is provided.</li>
|
||||||
<li>restore <code>curs_set()</code> state after
|
|
||||||
<code>endwin()</code>/<code>refresh()</code>
|
<li>The ncurses library and utilities will automatically read
|
||||||
|
terminfo entries from $HOME/.terminfo if it exists, and compile
|
||||||
<li>modify <code>keyname()</code> to use "^X" form only if
|
to that directory if it exists and the user has no write access
|
||||||
<code>meta()</code> has been called, or if <code>keyname()</code>
|
to the system directory. This feature makes it easier for users
|
||||||
is called without initializing curses, e.g., via
|
to have personal terminfo entries without giving up access to
|
||||||
<code>initscr()</code> or <code>newterm()</code>.
|
the system terminfo directory.</li>
|
||||||
|
|
||||||
<li>modify <code>unctrl()</code> to check codes in 128-255 range versus
|
<li>You may specify a path of directories to search for
|
||||||
<code>isprint()</code>.
|
compiled descriptions with the environment variable
|
||||||
If they are not printable, and locale was set, use a "M-" or "~"
|
TERMINFO_DIRS (this generalizes the feature provided by
|
||||||
sequence.
|
TERMINFO under stock System V.)</li>
|
||||||
|
|
||||||
<li>improve <code>resizeterm()</code> by moving ripped-off lines, and
|
<li>In terminfo source files, use capabilities may refer not
|
||||||
repainting the soft-keys.
|
just to other entries in the same source file (as in System V)
|
||||||
|
but also to compiled entries in either the system terminfo
|
||||||
<li>modify form library to accept control characters such as newline
|
directory or the user's $HOME/.terminfo directory.</li>
|
||||||
in set_field_buffer(), which is compatible with Solaris.
|
|
||||||
|
<li>A script (<strong>capconvert</strong>) is provided to help
|
||||||
<li>use <code>NCURSES_MOUSE_MASK()</code> in definition of
|
BSD users transition from termcap to terminfo. It gathers the
|
||||||
<code>BUTTON_RELEASE()</code>, etc., to make those work properly
|
information in a TERMCAP environment variable and/or a
|
||||||
with the <code>--enable-ext-mouse</code> configuration
|
~/.termcap local entries file and converts it to an equivalent
|
||||||
|
local terminfo tree under $HOME/.terminfo.</li>
|
||||||
<li>correct some functions in Ada95 binding which were using return
|
|
||||||
value from C where none was returned.
|
<li>Automatic fallback to the /etc/termcap file can be compiled
|
||||||
|
in when it is not possible to build a terminfo tree. This
|
||||||
<li>reviewed/fixed issues reported by Coverity and Klocwork tools.
|
feature is neither fast nor cheap, you don't want to use it
|
||||||
</ul>
|
unless you have to, but it's there.</li>
|
||||||
|
|
||||||
Portability:
|
<li>The table-of-entries utility <strong>toe</strong> makes it
|
||||||
<ul>
|
easy for users to see exactly what terminal types are available
|
||||||
<li>configure script:
|
on the system.</li>
|
||||||
<ul>
|
|
||||||
<li>new options:
|
<li>The library meets the XSI requirement that every macro
|
||||||
<dl>
|
entry point have a corresponding function which may be linked
|
||||||
|
(and will be prototype-checked) if the macro definition is
|
||||||
<dt>--disable-big-strings
|
disabled with <code>#undef</code>.</li>
|
||||||
<dd>control whether static string tables are generated as single
|
|
||||||
large strings (to improve startup performance), or as array
|
<li>An HTML "Introduction to Programming with NCURSES" document
|
||||||
of individual strings.
|
provides a narrative introduction to the curses programming
|
||||||
|
interface.</li>
|
||||||
<dt>--disable-relink
|
</ul>
|
||||||
<dd>control whether shared libraries are relinked (during install)
|
|
||||||
when rpath is enabled.
|
<h1>State of the Package</h1>Numerous bugs present in earlier
|
||||||
|
versions have been fixed; the library is far more reliable than
|
||||||
<dt>--disable-tic-depends
|
it used to be. Bounds checking in many `dangerous' entry points
|
||||||
<dd>make explicit whether tic library depends on ncurses/ncursesw
|
has been improved. The code is now type-safe according to gcc
|
||||||
library.
|
-Wall. The library has been checked for malloc leaks and arena
|
||||||
|
corruption by the Purify memory-allocation tester.
|
||||||
<dt>--enable-mixed-case
|
|
||||||
<dd>override the configure script's check if the filesystem
|
<p>The ncurses code has been tested with a wide variety of
|
||||||
supports mixed-case filenames.
|
applications including (versions starting with those noted):</p>
|
||||||
This allows one to control how the terminal database
|
|
||||||
maps to the filesystem.
|
<dl>
|
||||||
For filesystems that do not support mixed-case, the library
|
<dt>cdk</dt>
|
||||||
uses generate 2-character (hexadecimal) codes for the
|
|
||||||
lower-level of the filesystem terminfo database
|
<dd>Curses Development Kit<br>
|
||||||
|
<a href=
|
||||||
<dt>--enable-reentrant
|
"http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</a><br>
|
||||||
<dd>builds a different flavor of the ncurses library (ncursest)
|
|
||||||
which improves reentrant use of the
|
<a href=
|
||||||
library by reducing global and static variables
|
"http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a></dd>
|
||||||
(see the "--with-pthread" option for the threaded support).
|
|
||||||
|
<dt>ded</dt>
|
||||||
<dt>--enable-weak-symbols
|
|
||||||
<dd>use weak-symbols for linking to the POSIX thread library,
|
<dd>directory-editor<br>
|
||||||
and use the same soname for the ncurses shared library
|
<a href=
|
||||||
as the normal library (caveat: the ABI is for the threaded
|
"http://invisible-island.net/ded/">http://invisible-island.net/ded/</a></dd>
|
||||||
library, which makes global data accessed via functions).
|
|
||||||
|
<dt>dialog</dt>
|
||||||
<dt>--with-pthread
|
|
||||||
<dd>build with the POSIX thread library (tested with AIX,
|
<dd>the underlying application used in Slackware's setup, and
|
||||||
Linux, FreeBSD, OpenBSD, HPUX, IRIX64, Solaris, Tru64).
|
the basis for similar applications on GNU/Linux.<br>
|
||||||
|
<a href=
|
||||||
<dt>--with-ticlib
|
"http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</a></dd>
|
||||||
<dd>build/install the tic-support functions in a separate library
|
|
||||||
|
<dt>lynx</dt>
|
||||||
</dl>
|
|
||||||
|
<dd>the character-screen WWW browser<br>
|
||||||
<li>improved options:
|
<a href=
|
||||||
<dl>
|
"http://lynx.isc.org/release/">http://lynx.isc.org/release/</a></dd>
|
||||||
|
|
||||||
<dt>--enable-ext-colors
|
<dt>Midnight Commander</dt>
|
||||||
<dd>requires the wide-character configuration.
|
|
||||||
|
<dd>file manager<br>
|
||||||
<dt>--with-chtype
|
<a href=
|
||||||
<dd>ignore option value "unsigned" is always added to
|
"http://www.midnight-commander.org/">http://www.midnight-commander.org/</a></dd>
|
||||||
the type in curses.h; do the same for --with-mmask-t.
|
|
||||||
|
<dt>mutt</dt>
|
||||||
<dt>--with-dmalloc
|
|
||||||
<dd>build-fix for redefinition of <code>strndup</code>.
|
<dd>mail utility<br>
|
||||||
|
<a href="http://www.mutt.org/">http://www.mutt.org/</a></dd>
|
||||||
<dt>--with-hashed-db
|
|
||||||
<dd>accepts a parameter which is the install-prefix of a given
|
<dt>ncftp</dt>
|
||||||
Berkeley Database.
|
|
||||||
|
<dd>file-transfer utility<br>
|
||||||
<dt>--with-hashed-db
|
<a href="http://www.ncftp.com/">http://www.ncftp.com/</a></dd>
|
||||||
<dd>the $LIBS environment variable overrides the search for the db
|
|
||||||
library.
|
<dt>nvi</dt>
|
||||||
|
|
||||||
<dt>--without-hashed-db
|
<dd>New vi versions 1.50 are able to use ncurses versions 1.9.7
|
||||||
<dd>assumed when "--disable-database" is used.
|
and later.<br>
|
||||||
|
<a href=
|
||||||
</dl>
|
"https://sites.google.com/a/bostic.com/keithbostic/nvi">https://sites.google.com/a/bostic.com/keithbostic/nvi</a><br>
|
||||||
|
</dd>
|
||||||
</ul>
|
|
||||||
|
<dt>pinfo</dt>
|
||||||
<li>other configure/build issues:
|
|
||||||
<ul>
|
<dd>Lynx-like info browser. <a href=
|
||||||
<li>build-fixes for LynxOS
|
"https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</a></dd>
|
||||||
<li>modify shared-library rules to allow FreeBSD 3.x to use rpath.
|
|
||||||
<li>build-fix for FreeBSD "contemporary" TTY interface.
|
<dt>tin</dt>
|
||||||
<li>build-fixes for AIX with libtool.
|
|
||||||
<li>build-fixes for Darwin and libtool.
|
<dd>newsreader, supporting color, MIME <a href=
|
||||||
<li>modify BeOS-specific ifdef's to build on Haiku.
|
"http://www.tin.org/">http://www.tin.org/</a></dd>
|
||||||
<li>corrected gcc options for building shared libraries on Solaris
|
</dl>as well as some that use ncurses for the terminfo support
|
||||||
and IRIX64.
|
alone:
|
||||||
<li>change shared-library configuration for OpenBSD, make rpath work.
|
|
||||||
<li>build-fixes for using libutf8, e.g., on OpenBSD 3.7
|
<dl>
|
||||||
<li>add "-e" option in ncurses/Makefile.in when generating source-files
|
<dt>minicom</dt>
|
||||||
to force earlier exit if the build environment fails unexpectedly.
|
|
||||||
<li>add support for shared libraries for QNX.
|
<dd>terminal emulator<br>
|
||||||
<li>change delimiter in <code>MKlib_gen.sh</code> from '%' to '@', to
|
<a href=
|
||||||
avoid substitution by IBM xlc to '#' as part of its extensions to
|
"http://alioth.debian.org/projects/minicom/">http://alioth.debian.org/projects/minicom/</a></dd>
|
||||||
digraphs.
|
|
||||||
</ul>
|
<dt>vile</dt>
|
||||||
|
|
||||||
<li>library:
|
<dd>vi-like-emacs<br>
|
||||||
<ul>
|
<a href=
|
||||||
<li>rewrite wrapper for <code>wcrtomb()</code>, making it work on
|
"http://invisible-island.net/vile/">http://invisible-island.net/vile/</a></dd>
|
||||||
Solaris. This is used in the form library to determine the length
|
</dl>
|
||||||
of the buffer needed by <code>field_buffer</code>.
|
|
||||||
<li>add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding
|
<p>The ncurses distribution includes a selection of test programs
|
||||||
type for data manipulated by signal handlers.
|
(including a few games).</p>
|
||||||
<li>set locale in misc/ncurses-config.in since it uses a range
|
|
||||||
<li>disable GPM mouse support when $TERM does not happen to contain
|
<h2>Who's Who and What's What</h2>Zeyd Ben-Halim started it from
|
||||||
"linux", since Gpm_Open() no longer limits its assertion to terminals
|
a previous package pcurses, written by Pavel Curtis. Eric S.
|
||||||
that it might handle, e.g., within "screen" in xterm.
|
Raymond continued development. Jürgen Pfeifer wrote most of
|
||||||
<li>reset mouse file-descriptor when unloading GPM library.
|
the form and menu libraries. Ongoing work is being done by
|
||||||
</ul>
|
<a href="mailto:dickey@invisible-island.net">Thomas Dickey</a>.
|
||||||
|
Thomas Dickey acts as the maintainer for the Free Software
|
||||||
<li>test programs:
|
Foundation, which holds the copyright on ncurses. Contact the
|
||||||
<ul>
|
current maintainers at <a href=
|
||||||
<li>update test programs to build/work with various UNIX curses for
|
"mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</a>.
|
||||||
comparisons.
|
|
||||||
</ul>
|
<p>To join the ncurses mailing list, please write email to
|
||||||
</ul>
|
<code>bug-ncurses-request@gnu.org</code> containing the line:</p>
|
||||||
|
<pre>
|
||||||
<H1>Features of Ncurses</H1>
|
|
||||||
|
|
||||||
The ncurses package is fully compatible with SVr4 (System V Release 4) curses:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI>All 257 of the SVr4 calls have been implemented (and are documented).
|
|
||||||
<LI>Full support for SVr4 curses features including keyboard mapping, color,
|
|
||||||
forms-drawing with ACS characters, and automatic recognition of keypad
|
|
||||||
and function keys.
|
|
||||||
<LI>An emulation of the SVr4 panels library, supporting
|
|
||||||
a stack of windows with backing store, is included.
|
|
||||||
<LI>An emulation of the SVr4 menus library, supporting
|
|
||||||
a uniform but flexible interface for menu programming, is included.
|
|
||||||
<LI>An emulation of the SVr4 form library, supporting
|
|
||||||
data collection through on-screen forms, is included.
|
|
||||||
<LI>Binary terminfo entries generated by the ncurses tic(1) implementation
|
|
||||||
are bit-for-bit-compatible with the entry format SVr4 curses uses.
|
|
||||||
<LI>The utilities have options to allow you to filter terminfo
|
|
||||||
entries for use with less capable <STRONG>curses</STRONG>/<STRONG>terminfo</STRONG>
|
|
||||||
versions such as the HP/UX and AIX ports.</UL>
|
|
||||||
|
|
||||||
The ncurses package also has many useful extensions over SVr4:
|
|
||||||
|
|
||||||
<UL>
|
|
||||||
<LI>The API is 8-bit clean and base-level conformant with the X/OPEN curses
|
|
||||||
specification, XSI curses (that is, it implements all BASE level features,
|
|
||||||
and most EXTENDED features).
|
|
||||||
It includes many function calls not supported under SVr4 curses
|
|
||||||
(but portability of all
|
|
||||||
calls is documented so you can use the SVr4 subset only).
|
|
||||||
<LI>Unlike SVr3 curses, ncurses can write to the rightmost-bottommost corner
|
|
||||||
of the screen if your terminal has an insert-character capability.
|
|
||||||
<LI>Ada95 and C++ bindings.
|
|
||||||
<LI>Support for mouse event reporting with X Window xterm
|
|
||||||
and FreeBSD and OS/2 console windows.
|
|
||||||
<LI>Extended mouse support via Alessandro Rubini's gpm package.
|
|
||||||
<LI>The function <CODE>wresize()</CODE> allows you to resize windows, preserving
|
|
||||||
their data.
|
|
||||||
<LI>The function <CODE>use_default_colors()</CODE> allows you to
|
|
||||||
use the terminal's default colors for the default color pair,
|
|
||||||
achieving the effect of transparent colors.
|
|
||||||
<LI>The functions <CODE>keyok()</CODE>
|
|
||||||
and <CODE>define_key()</CODE> allow
|
|
||||||
you to better control the use of function keys,
|
|
||||||
e.g., disabling the ncurses KEY_MOUSE,
|
|
||||||
or by defining more than one control sequence to map to a given key code.
|
|
||||||
<LI>Support for 256-color terminals, such as modern xterm, when configured
|
|
||||||
using the <code>--enable-ext-colors</code> option.
|
|
||||||
<LI>Support for 16-color terminals, such as aixterm and modern xterm.
|
|
||||||
<LI>Better cursor-movement optimization. The package now features a
|
|
||||||
cursor-local-movement computation more efficient than either BSD's
|
|
||||||
or System V's.
|
|
||||||
<LI>Super hardware scrolling support. The screen-update code incorporates
|
|
||||||
a novel, simple, and cheap algorithm that enables it to make optimal
|
|
||||||
use of hardware scrolling, line-insertion, and line-deletion
|
|
||||||
for screen-line movements. This algorithm is more powerful than
|
|
||||||
the 4.4BSD curses quickch() routine.
|
|
||||||
<LI>Real support for terminals with the magic-cookie glitch. The
|
|
||||||
screen-update code will refrain from drawing a highlight if the magic-
|
|
||||||
cookie unattributed spaces required just before the beginning and
|
|
||||||
after the end would step on a non-space character. It will
|
|
||||||
automatically shift highlight boundaries when doing so would make it
|
|
||||||
possible to draw the highlight without changing the visual appearance
|
|
||||||
of the screen.
|
|
||||||
<LI>It is possible to generate the library with a list of pre-loaded
|
|
||||||
fallback entries linked to it so that it can serve those terminal types even
|
|
||||||
when no terminfo tree or termcap file is accessible (this may be useful
|
|
||||||
for support of screen-oriented programs that must run in single-user mode).
|
|
||||||
<LI>The tic(1)/captoinfo utility provided with ncurses has the
|
|
||||||
ability to translate many termcaps from the XENIX, IBM and
|
|
||||||
AT&T extension sets.
|
|
||||||
<LI>A BSD-like tset(1) utility is provided.
|
|
||||||
<LI>The ncurses library and utilities will automatically read terminfo
|
|
||||||
entries from $HOME/.terminfo if it exists, and compile to that directory
|
|
||||||
if it exists and the user has no write access to the system directory.
|
|
||||||
This feature makes it easier for users to have personal terminfo entries
|
|
||||||
without giving up access to the system terminfo directory.
|
|
||||||
<LI>You may specify a path of directories to search for compiled
|
|
||||||
descriptions with the environment variable TERMINFO_DIRS (this
|
|
||||||
generalizes the feature provided by TERMINFO under stock System V.)
|
|
||||||
<LI>In terminfo source files, use capabilities may refer not just to
|
|
||||||
other entries in the same source file (as in System V) but also to
|
|
||||||
compiled entries in either the system terminfo directory or the user's
|
|
||||||
$HOME/.terminfo directory.
|
|
||||||
<LI>A script (<STRONG>capconvert</STRONG>) is provided to help BSD users
|
|
||||||
transition from termcap to terminfo. It gathers the information in a
|
|
||||||
TERMCAP environment variable and/or a ~/.termcap local entries file
|
|
||||||
and converts it to an equivalent local terminfo tree under $HOME/.terminfo.
|
|
||||||
<LI>Automatic fallback to the /etc/termcap file can be compiled in
|
|
||||||
when it is not possible to build a terminfo tree. This feature is neither
|
|
||||||
fast nor cheap, you don't want to use it unless you have to,
|
|
||||||
but it's there.
|
|
||||||
<LI>The table-of-entries utility <STRONG>toe</STRONG> makes it easy for users to
|
|
||||||
see exactly what terminal types are available on the system.
|
|
||||||
<LI>The library meets the XSI requirement that every macro entry
|
|
||||||
point have a corresponding function which may be linked (and will be
|
|
||||||
prototype-checked) if the macro definition is disabled with
|
|
||||||
<CODE>#undef</CODE>.
|
|
||||||
<LI>An HTML "Introduction to Programming with NCURSES" document provides
|
|
||||||
a narrative introduction to the curses programming interface.
|
|
||||||
</UL>
|
|
||||||
|
|
||||||
<H1>State of the Package</H1>
|
|
||||||
|
|
||||||
Numerous bugs present in earlier versions have been fixed; the
|
|
||||||
library is far more reliable than it used to be. Bounds checking in many
|
|
||||||
`dangerous' entry points has been improved. The code is now type-safe
|
|
||||||
according to gcc -Wall. The library has been checked for malloc leaks and
|
|
||||||
arena corruption by the Purify memory-allocation tester.<P>
|
|
||||||
|
|
||||||
The ncurses code has been tested with a wide variety of applications
|
|
||||||
including (versions starting with those noted):
|
|
||||||
<DL>
|
|
||||||
<DT> cdk
|
|
||||||
<DD> Curses Development Kit
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/cdk/">http://invisible-island.net/cdk/</A>
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.vexus.ca/products/CDK/">http://www.vexus.ca/products/CDK/</a>
|
|
||||||
<DT> ded
|
|
||||||
<DD> directory-editor
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/ded/">http://invisible-island.net/ded/</A>
|
|
||||||
<DT> dialog
|
|
||||||
<DD> the underlying application used in Slackware's setup, and the basis
|
|
||||||
for similar applications on GNU/Linux.
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/dialog/">http://invisible-island.net/dialog/</A>
|
|
||||||
<DT> lynx
|
|
||||||
<DD> the character-screen WWW browser
|
|
||||||
<br>
|
|
||||||
<A HREF="http://lynx.isc.org/release/">http://lynx.isc.org/release/</A>
|
|
||||||
<DT> Midnight Commander
|
|
||||||
<DD> file manager
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.ibiblio.org/mc/">http://www.ibiblio.org/mc/</A>
|
|
||||||
<DT> mutt
|
|
||||||
<DD> mail utility
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.mutt.org/">http://www.mutt.org/</A>
|
|
||||||
<DT> ncftp
|
|
||||||
<DD> file-transfer utility
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.ncftp.com/">http://www.ncftp.com/</A>
|
|
||||||
<DT> nvi
|
|
||||||
<DD> New vi versions 1.50 are able to use ncurses versions 1.9.7 and later.
|
|
||||||
<br>
|
|
||||||
<A HREF="http://www.bostic.com/vi/">http://www.bostic.com/vi/</A>
|
|
||||||
<br>
|
|
||||||
<DT> pinfo
|
|
||||||
<DD> Lynx-like info browser.
|
|
||||||
<A HREF="https://alioth.debian.org/projects/pinfo/">https://alioth.debian.org/projects/pinfo/</A>
|
|
||||||
<DT> tin
|
|
||||||
<DD> newsreader, supporting color, MIME
|
|
||||||
<A HREF="http://www.tin.org/">http://www.tin.org/</A>
|
|
||||||
</DL>
|
|
||||||
as well as some that use ncurses for the terminfo support alone:
|
|
||||||
<DL>
|
|
||||||
<DT> minicom
|
|
||||||
<DD> terminal emulator
|
|
||||||
<br>
|
|
||||||
<A HREF="http://alioth.debian.org/projects/minicom/">
|
|
||||||
http://alioth.debian.org/projects/minicom/</A>
|
|
||||||
<DT> vile
|
|
||||||
<DD> vi-like-emacs
|
|
||||||
<br>
|
|
||||||
<A HREF="http://invisible-island.net/vile/">http://invisible-island.net/vile/</A>
|
|
||||||
</DL>
|
|
||||||
<P>
|
|
||||||
|
|
||||||
The ncurses distribution includes a selection of test programs (including
|
|
||||||
a few games).
|
|
||||||
|
|
||||||
<H2>Who's Who and What's What</H2>
|
|
||||||
|
|
||||||
Zeyd Ben-Halim
|
|
||||||
started it from a previous package pcurses, written by Pavel Curtis.
|
|
||||||
Eric S. Raymond
|
|
||||||
continued development.
|
|
||||||
Jürgen Pfeifer wrote most of the form and menu libraries.
|
|
||||||
Ongoing work is being done by
|
|
||||||
<A HREF="mailto:dickey@invisible-island.net">Thomas Dickey</A>.
|
|
||||||
Thomas Dickey
|
|
||||||
acts as the maintainer for the Free Software Foundation,
|
|
||||||
which holds the copyright on ncurses.
|
|
||||||
Contact the current maintainers at
|
|
||||||
<A HREF="mailto:bug-ncurses@gnu.org">bug-ncurses@gnu.org</A>.
|
|
||||||
<P>
|
|
||||||
|
|
||||||
To join the ncurses mailing list, please write email to
|
|
||||||
<CODE>bug-ncurses-request@gnu.org</CODE> containing the line:
|
|
||||||
<PRE>
|
|
||||||
subscribe <name>@<host.domain>
|
subscribe <name>@<host.domain>
|
||||||
</PRE>
|
</pre>
|
||||||
|
|
||||||
This list is open to anyone interested in helping with the development and
|
<p>This list is open to anyone interested in helping with the
|
||||||
testing of this package.<P>
|
development and testing of this package.</p>
|
||||||
|
|
||||||
Beta versions of ncurses and patches to the current release are made available at
|
<p>Beta versions of ncurses and patches to the current release
|
||||||
<A HREF="ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</A> .
|
are made available at <a href=
|
||||||
|
"ftp://invisible-island.net/ncurses/">ftp://invisible-island.net/ncurses/</a> .</p>
|
||||||
|
|
||||||
<H2>Future Plans</H2>
|
<h2>Future Plans</h2>
|
||||||
<UL>
|
|
||||||
<LI>Extended-level XPG4 conformance, with internationalization support.
|
|
||||||
<LI>Ports to more systems, including DOS and Windows.
|
|
||||||
</UL>
|
|
||||||
We need people to help with these projects. If you are interested in working
|
|
||||||
on them, please join the ncurses list.
|
|
||||||
|
|
||||||
<H2>Other Related Resources</H2>
|
<ul>
|
||||||
|
<li>Extended-level XPG4 conformance, with internationalization
|
||||||
|
support.</li>
|
||||||
|
|
||||||
The distribution provides a newer version of the terminfo-format
|
<li>Ports to more systems, including DOS and Windows.</li>
|
||||||
terminal description file once maintained by
|
</ul>We need people to help with these projects. If you are
|
||||||
<A HREF="http://www.catb.org/~esr/terminfo/">Eric Raymond</A> .
|
interested in working on them, please join the ncurses list.
|
||||||
Unlike the older version, the termcap and terminfo data are provided
|
|
||||||
in the same file, and provides several user-definable extensions
|
|
||||||
beyond the X/Open specification.<P>
|
|
||||||
|
|
||||||
You can find lots of information on terminal-related topics
|
<h2>Other Related Resources</h2>The distribution provides a newer
|
||||||
not covered in the terminfo file at
|
version of the terminfo-format terminal description file once
|
||||||
<A HREF="http://www.cs.utk.edu/~shuford/terminal_index.html">Richard Shuford's
|
maintained by <a href="http://www.catb.org/~esr/terminfo/">Eric
|
||||||
archive</A> .
|
Raymond</a> . Unlike the older version, the termcap and
|
||||||
</BODY>
|
terminfo data are provided in the same file, and provides several
|
||||||
</HTML>
|
user-definable extensions beyond the X/Open specification.
|
||||||
<!--
|
|
||||||
# The following sets edit modes for GNU EMACS
|
<p>You can find lots of information on terminal-related topics
|
||||||
# Local Variables:
|
not covered in the terminfo file at <a href=
|
||||||
# mode:html
|
"http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
|
||||||
# case-fold-search:nil
|
Richard Shuford's archive</a> .</p>
|
||||||
# fill-column:70
|
</body>
|
||||||
# End:
|
</html>
|
||||||
-->
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
$Id: hackguide.html,v 1.27 2005/12/24 15:37:13 tom Exp $
|
$Id: hackguide.html,v 1.28 2010/12/04 16:44:21 tom Exp $
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
<!--
|
<!--
|
||||||
$Id: ncurses-intro.html,v 1.43 2007/03/03 19:31:50 tom Exp $
|
$Id: ncurses-intro.html,v 1.44 2010/12/04 16:46:22 tom Exp $
|
||||||
****************************************************************************
|
****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: Makefile.in,v 1.47 2007/04/28 14:56:11 tom Exp $
|
# $Id: Makefile.in,v 1.53 2010/11/27 21:45:27 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -43,6 +43,7 @@
|
|||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
VPATH = @srcdir@
|
||||||
THIS = Makefile
|
THIS = Makefile
|
||||||
|
|
||||||
x = @EXEEXT@
|
x = @EXEEXT@
|
||||||
@ -63,6 +64,7 @@ LIBTOOL_COMPILE = @LIB_COMPILE@
|
|||||||
LIBTOOL_LINK = @LIB_LINK@
|
LIBTOOL_LINK = @LIB_LINK@
|
||||||
LIBTOOL_INSTALL = @LIB_INSTALL@
|
LIBTOOL_INSTALL = @LIB_INSTALL@
|
||||||
LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
|
LIBTOOL_UNINSTALL = @LIB_UNINSTALL@
|
||||||
|
LT_UNDEF = @LT_UNDEF@
|
||||||
|
|
||||||
INSTALL = @INSTALL@
|
INSTALL = @INSTALL@
|
||||||
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
|
INSTALL_LIB = @INSTALL@ @INSTALL_LIB@
|
||||||
@ -70,11 +72,14 @@ INSTALL_PROG = @INSTALL_PROGRAM@
|
|||||||
INSTALL_DATA = @INSTALL_DATA@
|
INSTALL_DATA = @INSTALL_DATA@
|
||||||
|
|
||||||
AR = @AR@
|
AR = @AR@
|
||||||
AR_OPTS = @AR_OPTS@
|
ARFLAGS = @ARFLAGS@
|
||||||
AWK = @AWK@
|
AWK = @AWK@
|
||||||
LD = @LD@
|
LD = @LD@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|
||||||
|
CTAGS = @CTAGS@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
|
|
||||||
CC = @CC@
|
CC = @CC@
|
||||||
CPP = @CPP@
|
CPP = @CPP@
|
||||||
CFLAGS = @CFLAGS@
|
CFLAGS = @CFLAGS@
|
||||||
@ -124,7 +129,7 @@ sources : $(AUTO_SRC)
|
|||||||
|
|
||||||
$(DESTDIR)$(bindir) \
|
$(DESTDIR)$(bindir) \
|
||||||
$(DESTDIR)$(libdir) :
|
$(DESTDIR)$(libdir) :
|
||||||
sh $(srcdir)/../mkdirs.sh $@
|
mkdir -p $@
|
||||||
|
|
||||||
# make copies to simplify include-paths while still keeping form's include
|
# make copies to simplify include-paths while still keeping form's include
|
||||||
# file in this directory.
|
# file in this directory.
|
||||||
@ -132,7 +137,7 @@ $(DESTDIR)$(libdir) :
|
|||||||
-rm -f $@
|
-rm -f $@
|
||||||
cp $(srcdir)/form.h $@
|
cp $(srcdir)/form.h $@
|
||||||
|
|
||||||
FORM_PRIV_H = \
|
HEADER_DEPS = \
|
||||||
$(srcdir)/form.priv.h \
|
$(srcdir)/form.priv.h \
|
||||||
$(srcdir)/form.h \
|
$(srcdir)/form.h \
|
||||||
../include/mf_common.h \
|
../include/mf_common.h \
|
||||||
@ -140,10 +145,10 @@ FORM_PRIV_H = \
|
|||||||
../include/eti.h
|
../include/eti.h
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
ctags *.[ch]
|
$(CTAGS) *.[ch]
|
||||||
|
|
||||||
@MAKE_UPPER_TAGS@TAGS:
|
@MAKE_UPPER_TAGS@TAGS:
|
||||||
@MAKE_UPPER_TAGS@ etags *.[ch]
|
@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch]
|
||||||
|
|
||||||
mostlyclean ::
|
mostlyclean ::
|
||||||
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
|
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 2004 Free Software Foundation, Inc. *
|
* Copyright (c) 2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,33 +32,33 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: f_trace.c,v 1.1 2004/12/25 23:28:49 tom Exp $")
|
MODULE_ID("$Id: f_trace.c,v 1.2 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
NCURSES_EXPORT(FIELD **)
|
NCURSES_EXPORT(FIELD **)
|
||||||
_nc_retrace_field_ptr(FIELD **code)
|
_nc_retrace_field_ptr(FIELD **code)
|
||||||
{
|
{
|
||||||
T((T_RETURN("%p"), code));
|
T((T_RETURN("%p"), (void *)code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
NCURSES_EXPORT(FIELD *)
|
NCURSES_EXPORT(FIELD *)
|
||||||
_nc_retrace_field(FIELD *code)
|
_nc_retrace_field(FIELD *code)
|
||||||
{
|
{
|
||||||
T((T_RETURN("%p"), code));
|
T((T_RETURN("%p"), (void *)code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
NCURSES_EXPORT(FIELDTYPE *)
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
_nc_retrace_field_type(FIELDTYPE *code)
|
_nc_retrace_field_type(FIELDTYPE *code)
|
||||||
{
|
{
|
||||||
T((T_RETURN("%p"), code));
|
T((T_RETURN("%p"), (void *)code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
NCURSES_EXPORT(FORM *)
|
NCURSES_EXPORT(FORM *)
|
||||||
_nc_retrace_form(FORM *code)
|
_nc_retrace_form(FORM *code)
|
||||||
{
|
{
|
||||||
T((T_RETURN("%p"), code));
|
T((T_RETURN("%p"), (void *)code));
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_arg.c,v 1.11 2004/12/25 22:20:18 tom Exp $")
|
MODULE_ID("$Id: fld_arg.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -67,7 +67,7 @@ set_fieldtype_arg(FIELDTYPE *typ,
|
|||||||
void (*const free_arg) (void *))
|
void (*const free_arg) (void *))
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_fieldtype_arg(%p,%p,%p,%p)"),
|
T((T_CALLED("set_fieldtype_arg(%p,%p,%p,%p)"),
|
||||||
typ, make_arg, copy_arg, free_arg));
|
(void *)typ, make_arg, copy_arg, free_arg));
|
||||||
|
|
||||||
if (typ != 0 && make_arg != (void *)0)
|
if (typ != 0 && make_arg != (void *)0)
|
||||||
{
|
{
|
||||||
@ -91,7 +91,7 @@ set_fieldtype_arg(FIELDTYPE *typ,
|
|||||||
NCURSES_EXPORT(void *)
|
NCURSES_EXPORT(void *)
|
||||||
field_arg(const FIELD *field)
|
field_arg(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_arg(%p)"), field));
|
T((T_CALLED("field_arg(%p)"), (const void *)field));
|
||||||
returnVoidPtr(Normalize_Field(field)->arg);
|
returnVoidPtr(Normalize_Field(field)->arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_attr.c,v 1.10 2004/12/11 21:33:15 tom Exp $")
|
MODULE_ID("$Id: fld_attr.c,v 1.11 2010/01/23 21:12:08 tom Exp $")
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
Field-Attribute manipulation routines
|
Field-Attribute manipulation routines
|
||||||
@ -66,7 +66,7 @@ NCURSES_IMPEXP int NCURSES_API set_field_ ## name (FIELD * field, chtype attr)\
|
|||||||
#define GEN_FIELD_ATTR_GET_FCT( name ) \
|
#define GEN_FIELD_ATTR_GET_FCT( name ) \
|
||||||
NCURSES_IMPEXP chtype NCURSES_API field_ ## name (const FIELD * field)\
|
NCURSES_IMPEXP chtype NCURSES_API field_ ## name (const FIELD * field)\
|
||||||
{\
|
{\
|
||||||
T((T_CALLED("field_" #name "(%p)"), field));\
|
T((T_CALLED("field_" #name "(%p)"), (const void *) field));\
|
||||||
returnAttr( A_ATTRIBUTES & (Normalize_Field( field ) -> name) );\
|
returnAttr( A_ATTRIBUTES & (Normalize_Field( field ) -> name) );\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_current.c,v 1.11 2004/12/25 22:40:13 tom Exp $")
|
MODULE_ID("$Id: fld_current.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -52,7 +52,7 @@ set_current_field(FORM *form, FIELD *field)
|
|||||||
{
|
{
|
||||||
int err = E_OK;
|
int err = E_OK;
|
||||||
|
|
||||||
T((T_CALLED("set_current_field(%p,%p)"), form, field));
|
T((T_CALLED("set_current_field(%p,%p)"), (void *)form, (void *)field));
|
||||||
if (form == 0 || field == 0)
|
if (form == 0 || field == 0)
|
||||||
{
|
{
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -113,7 +113,7 @@ set_current_field(FORM *form, FIELD *field)
|
|||||||
NCURSES_EXPORT(FIELD *)
|
NCURSES_EXPORT(FIELD *)
|
||||||
current_field(const FORM *form)
|
current_field(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("current_field(%p)"), form));
|
T((T_CALLED("current_field(%p)"), (const void *)form));
|
||||||
returnField(Normalize_Form(form)->current);
|
returnField(Normalize_Form(form)->current);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -130,7 +130,7 @@ current_field(const FORM *form)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
field_index(const FIELD *field)
|
field_index(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_index(%p)"), field));
|
T((T_CALLED("field_index(%p)"), (const void *)field));
|
||||||
returnCode((field != 0 && field->form != 0) ? (int)field->index : -1);
|
returnCode((field != 0 && field->form != 0) ? (int)field->index : -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2005,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_def.c,v 1.36 2007/10/13 19:29:58 tom Exp $")
|
MODULE_ID("$Id: fld_def.c,v 1.38 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/* this can't be readonly */
|
/* this can't be readonly */
|
||||||
static FIELD default_field =
|
static FIELD default_field =
|
||||||
@ -252,8 +252,8 @@ _nc_Free_Type(FIELD *field)
|
|||||||
if (field->type != 0)
|
if (field->type != 0)
|
||||||
{
|
{
|
||||||
field->type->ref--;
|
field->type->ref--;
|
||||||
|
_nc_Free_Argument(field->type, (TypeArgument *)(field->arg));
|
||||||
}
|
}
|
||||||
_nc_Free_Argument(field->type, (TypeArgument *)(field->arg));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -291,7 +291,7 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf)
|
|||||||
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
||||||
(New_Field = typeMalloc(FIELD, 1)) != 0)
|
(New_Field = typeMalloc(FIELD, 1)) != 0)
|
||||||
{
|
{
|
||||||
T((T_CREATE("field %p"), New_Field));
|
T((T_CREATE("field %p"), (void *)New_Field));
|
||||||
*New_Field = default_field;
|
*New_Field = default_field;
|
||||||
New_Field->rows = rows;
|
New_Field->rows = rows;
|
||||||
New_Field->cols = cols;
|
New_Field->cols = cols;
|
||||||
@ -355,7 +355,7 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
free_field(FIELD *field)
|
free_field(FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("free_field(%p)"), field));
|
T((T_CALLED("free_field(%p)"), (void *)field));
|
||||||
if (!field)
|
if (!field)
|
||||||
{
|
{
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_dup.c,v 1.12 2007/10/13 19:30:21 tom Exp $")
|
MODULE_ID("$Id: fld_dup.c,v 1.13 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -53,12 +53,12 @@ dup_field(FIELD *field, int frow, int fcol)
|
|||||||
FIELD *New_Field = (FIELD *)0;
|
FIELD *New_Field = (FIELD *)0;
|
||||||
int err = E_BAD_ARGUMENT;
|
int err = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("dup_field(%p,%d,%d)"), field, frow, fcol));
|
T((T_CALLED("dup_field(%p,%d,%d)"), (void *)field, frow, fcol));
|
||||||
if (field && (frow >= 0) && (fcol >= 0) &&
|
if (field && (frow >= 0) && (fcol >= 0) &&
|
||||||
((err = E_SYSTEM_ERROR) != 0) && /* trick : this resets the default error */
|
((err = E_SYSTEM_ERROR) != 0) && /* trick : this resets the default error */
|
||||||
(New_Field = typeMalloc(FIELD, 1)))
|
(New_Field = typeMalloc(FIELD, 1)))
|
||||||
{
|
{
|
||||||
T((T_CREATE("field %p"), New_Field));
|
T((T_CREATE("field %p"), (void *)New_Field));
|
||||||
*New_Field = *_nc_Default_Field;
|
*New_Field = *_nc_Default_Field;
|
||||||
New_Field->frow = frow;
|
New_Field->frow = frow;
|
||||||
New_Field->fcol = fcol;
|
New_Field->fcol = fcol;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_ftchoice.c,v 1.9 2004/12/11 21:44:57 tom Exp $")
|
MODULE_ID("$Id: fld_ftchoice.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -51,14 +51,19 @@ set_fieldtype_choice(FIELDTYPE *typ,
|
|||||||
bool (*const next_choice) (FIELD *, const void *),
|
bool (*const next_choice) (FIELD *, const void *),
|
||||||
bool (*const prev_choice) (FIELD *, const void *))
|
bool (*const prev_choice) (FIELD *, const void *))
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_fieldtype_choice(%p,%p,%p)"), typ, next_choice, prev_choice));
|
T((T_CALLED("set_fieldtype_choice(%p,%p,%p)"), (void *)typ, next_choice, prev_choice));
|
||||||
|
|
||||||
if (!typ || !next_choice || !prev_choice)
|
if (!typ || !next_choice || !prev_choice)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
|
||||||
typ->status |= _HAS_CHOICE;
|
typ->status |= _HAS_CHOICE;
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
typ->enum_next.onext = next_choice;
|
||||||
|
typ->enum_prev.oprev = prev_choice;
|
||||||
|
#else
|
||||||
typ->next = next_choice;
|
typ->next = next_choice;
|
||||||
typ->prev = prev_choice;
|
typ->prev = prev_choice;
|
||||||
|
#endif
|
||||||
RETURN(E_OK);
|
RETURN(E_OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_ftlink.c,v 1.13 2007/10/13 19:30:35 tom Exp $")
|
MODULE_ID("$Id: fld_ftlink.c,v 1.14 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -53,14 +53,14 @@ link_fieldtype(FIELDTYPE *type1, FIELDTYPE *type2)
|
|||||||
{
|
{
|
||||||
FIELDTYPE *nftyp = (FIELDTYPE *)0;
|
FIELDTYPE *nftyp = (FIELDTYPE *)0;
|
||||||
|
|
||||||
T((T_CALLED("link_fieldtype(%p,%p)"), type1, type2));
|
T((T_CALLED("link_fieldtype(%p,%p)"), (void *)type1, (void *)type2));
|
||||||
if (type1 && type2)
|
if (type1 && type2)
|
||||||
{
|
{
|
||||||
nftyp = typeMalloc(FIELDTYPE, 1);
|
nftyp = typeMalloc(FIELDTYPE, 1);
|
||||||
|
|
||||||
if (nftyp)
|
if (nftyp)
|
||||||
{
|
{
|
||||||
T((T_CREATE("fieldtype %p"), nftyp));
|
T((T_CREATE("fieldtype %p"), (void *)nftyp));
|
||||||
*nftyp = *_nc_Default_FieldType;
|
*nftyp = *_nc_Default_FieldType;
|
||||||
nftyp->status |= _LINKED_TYPE;
|
nftyp->status |= _LINKED_TYPE;
|
||||||
if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS))
|
if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_info.c,v 1.10 2004/12/11 22:24:57 tom Exp $")
|
MODULE_ID("$Id: fld_info.c,v 1.11 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -53,10 +53,10 @@ field_info(const FIELD *field,
|
|||||||
int *nrow, int *nbuf)
|
int *nrow, int *nbuf)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_info(%p,%p,%p,%p,%p,%p,%p)"),
|
T((T_CALLED("field_info(%p,%p,%p,%p,%p,%p,%p)"),
|
||||||
field,
|
(const void *)field,
|
||||||
rows, cols,
|
(void *)rows, (void *)cols,
|
||||||
frow, fcol,
|
(void *)frow, (void *)fcol,
|
||||||
nrow, nbuf));
|
(void *)nrow, (void *)nbuf));
|
||||||
|
|
||||||
if (!field)
|
if (!field)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -91,7 +91,11 @@ field_info(const FIELD *field,
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
dynamic_field_info(const FIELD *field, int *drows, int *dcols, int *maxgrow)
|
dynamic_field_info(const FIELD *field, int *drows, int *dcols, int *maxgrow)
|
||||||
{
|
{
|
||||||
T((T_CALLED("dynamic_field_info(%p,%p,%p,%p)"), field, drows, dcols, maxgrow));
|
T((T_CALLED("dynamic_field_info(%p,%p,%p,%p)"),
|
||||||
|
(const void *)field,
|
||||||
|
(void *)drows,
|
||||||
|
(void *)dcols,
|
||||||
|
(void *)maxgrow));
|
||||||
|
|
||||||
if (!field)
|
if (!field)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_just.c,v 1.11 2004/12/11 22:55:48 tom Exp $")
|
MODULE_ID("$Id: fld_just.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -49,7 +49,7 @@ set_field_just(FIELD *field, int just)
|
|||||||
{
|
{
|
||||||
int res = E_BAD_ARGUMENT;
|
int res = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("set_field_just(%p,%d)"), field, just));
|
T((T_CALLED("set_field_just(%p,%d)"), (void *)field, just));
|
||||||
|
|
||||||
if ((just == NO_JUSTIFICATION) ||
|
if ((just == NO_JUSTIFICATION) ||
|
||||||
(just == JUSTIFY_LEFT) ||
|
(just == JUSTIFY_LEFT) ||
|
||||||
@ -79,7 +79,7 @@ set_field_just(FIELD *field, int just)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
field_just(const FIELD *field)
|
field_just(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_just(%p)"), field));
|
T((T_CALLED("field_just(%p)"), (const void *)field));
|
||||||
returnCode(Normalize_Field(field)->just);
|
returnCode(Normalize_Field(field)->just);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_link.c,v 1.11 2007/10/13 19:30:43 tom Exp $")
|
MODULE_ID("$Id: fld_link.c,v 1.12 2010/01/23 21:14:35 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -54,12 +54,12 @@ link_field(FIELD *field, int frow, int fcol)
|
|||||||
FIELD *New_Field = (FIELD *)0;
|
FIELD *New_Field = (FIELD *)0;
|
||||||
int err = E_BAD_ARGUMENT;
|
int err = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("link_field(%p,%d,%d)"), field, frow, fcol));
|
T((T_CALLED("link_field(%p,%d,%d)"), (void *)field, frow, fcol));
|
||||||
if (field && (frow >= 0) && (fcol >= 0) &&
|
if (field && (frow >= 0) && (fcol >= 0) &&
|
||||||
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */
|
||||||
(New_Field = typeMalloc(FIELD, 1)))
|
(New_Field = typeMalloc(FIELD, 1)))
|
||||||
{
|
{
|
||||||
T((T_CREATE("field %p"), New_Field));
|
T((T_CREATE("field %p"), (void *)New_Field));
|
||||||
*New_Field = *_nc_Default_Field;
|
*New_Field = *_nc_Default_Field;
|
||||||
New_Field->frow = frow;
|
New_Field->frow = frow;
|
||||||
New_Field->fcol = fcol;
|
New_Field->fcol = fcol;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_max.c,v 1.9 2004/12/11 21:51:54 tom Exp $")
|
MODULE_ID("$Id: fld_max.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -47,7 +47,7 @@ MODULE_ID("$Id: fld_max.c,v 1.9 2004/12/11 21:51:54 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_max_field(FIELD *field, int maxgrow)
|
set_max_field(FIELD *field, int maxgrow)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_max_field(%p,%d)"), field, maxgrow));
|
T((T_CALLED("set_max_field(%p,%d)"), (void *)field, maxgrow));
|
||||||
|
|
||||||
if (!field || (maxgrow < 0))
|
if (!field || (maxgrow < 0))
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_move.c,v 1.9 2004/12/11 21:52:44 tom Exp $")
|
MODULE_ID("$Id: fld_move.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -48,7 +48,7 @@ MODULE_ID("$Id: fld_move.c,v 1.9 2004/12/11 21:52:44 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
move_field(FIELD *field, int frow, int fcol)
|
move_field(FIELD *field, int frow, int fcol)
|
||||||
{
|
{
|
||||||
T((T_CALLED("move_field(%p,%d,%d)"), field, frow, fcol));
|
T((T_CALLED("move_field(%p,%d,%d)"), (void *)field, frow, fcol));
|
||||||
|
|
||||||
if (!field || (frow < 0) || (fcol < 0))
|
if (!field || (frow < 0) || (fcol < 0))
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,9 +32,9 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_newftyp.c,v 1.15 2007/10/13 19:30:55 tom Exp $")
|
MODULE_ID("$Id: fld_newftyp.c,v 1.19 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
static FIELDTYPE const default_fieldtype =
|
static FIELDTYPE default_fieldtype =
|
||||||
{
|
{
|
||||||
0, /* status */
|
0, /* status */
|
||||||
0L, /* reference count */
|
0L, /* reference count */
|
||||||
@ -43,13 +43,16 @@ static FIELDTYPE const default_fieldtype =
|
|||||||
NULL, /* makearg function */
|
NULL, /* makearg function */
|
||||||
NULL, /* copyarg function */
|
NULL, /* copyarg function */
|
||||||
NULL, /* freearg function */
|
NULL, /* freearg function */
|
||||||
NULL, /* field validation function */
|
INIT_FT_FUNC(NULL), /* field validation function */
|
||||||
NULL, /* Character check function */
|
INIT_FT_FUNC(NULL), /* Character check function */
|
||||||
NULL, /* enumerate next function */
|
INIT_FT_FUNC(NULL), /* enumerate next function */
|
||||||
NULL /* enumerate previous function */
|
INIT_FT_FUNC(NULL), /* enumerate previous function */
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
NULL /* generic callback alternative to makearg */
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(const FIELDTYPE *)
|
NCURSES_EXPORT_VAR(FIELDTYPE *)
|
||||||
_nc_Default_FieldType = &default_fieldtype;
|
_nc_Default_FieldType = &default_fieldtype;
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -80,10 +83,15 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *),
|
|||||||
|
|
||||||
if (nftyp)
|
if (nftyp)
|
||||||
{
|
{
|
||||||
T((T_CREATE("fieldtype %p"), nftyp));
|
T((T_CREATE("fieldtype %p"), (void *)nftyp));
|
||||||
*nftyp = default_fieldtype;
|
*nftyp = default_fieldtype;
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
nftyp->fieldcheck.ofcheck = field_check;
|
||||||
|
nftyp->charcheck.occheck = char_check;
|
||||||
|
#else
|
||||||
nftyp->fcheck = field_check;
|
nftyp->fcheck = field_check;
|
||||||
nftyp->ccheck = char_check;
|
nftyp->ccheck = char_check;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -110,7 +118,7 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *),
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
free_fieldtype(FIELDTYPE *typ)
|
free_fieldtype(FIELDTYPE *typ)
|
||||||
{
|
{
|
||||||
T((T_CALLED("free_fieldtype(%p)"), typ));
|
T((T_CALLED("free_fieldtype(%p)"), (void *)typ));
|
||||||
|
|
||||||
if (!typ)
|
if (!typ)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_opts.c,v 1.11 2004/12/11 21:55:46 tom Exp $")
|
MODULE_ID("$Id: fld_opts.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*----------------------------------------------------------------------------
|
/*----------------------------------------------------------------------------
|
||||||
Field-Options manipulation routines
|
Field-Options manipulation routines
|
||||||
@ -55,7 +55,7 @@ set_field_opts(FIELD *field, Field_Options opts)
|
|||||||
{
|
{
|
||||||
int res = E_BAD_ARGUMENT;
|
int res = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("set_field_opts(%p,%d)"), field, opts));
|
T((T_CALLED("set_field_opts(%p,%d)"), (void *)field, opts));
|
||||||
|
|
||||||
opts &= ALL_FIELD_OPTS;
|
opts &= ALL_FIELD_OPTS;
|
||||||
if (!(opts & ~ALL_FIELD_OPTS))
|
if (!(opts & ~ALL_FIELD_OPTS))
|
||||||
@ -74,7 +74,7 @@ set_field_opts(FIELD *field, Field_Options opts)
|
|||||||
NCURSES_EXPORT(Field_Options)
|
NCURSES_EXPORT(Field_Options)
|
||||||
field_opts(const FIELD *field)
|
field_opts(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_opts(%p)"), field));
|
T((T_CALLED("field_opts(%p)"), (const void *)field));
|
||||||
|
|
||||||
returnCode(ALL_FIELD_OPTS & Normalize_Field(field)->opts);
|
returnCode(ALL_FIELD_OPTS & Normalize_Field(field)->opts);
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ field_opts_on(FIELD *field, Field_Options opts)
|
|||||||
{
|
{
|
||||||
int res = E_BAD_ARGUMENT;
|
int res = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("field_opts_on(%p,%d)"), field, opts));
|
T((T_CALLED("field_opts_on(%p,%d)"), (void *)field, opts));
|
||||||
|
|
||||||
opts &= ALL_FIELD_OPTS;
|
opts &= ALL_FIELD_OPTS;
|
||||||
if (!(opts & ~ALL_FIELD_OPTS))
|
if (!(opts & ~ALL_FIELD_OPTS))
|
||||||
@ -124,7 +124,7 @@ field_opts_off(FIELD *field, Field_Options opts)
|
|||||||
{
|
{
|
||||||
int res = E_BAD_ARGUMENT;
|
int res = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("field_opts_off(%p,%d)"), field, opts));
|
T((T_CALLED("field_opts_off(%p,%d)"), (void *)field, opts));
|
||||||
|
|
||||||
opts &= ALL_FIELD_OPTS;
|
opts &= ALL_FIELD_OPTS;
|
||||||
if (!(opts & ~ALL_FIELD_OPTS))
|
if (!(opts & ~ALL_FIELD_OPTS))
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_pad.c,v 1.9 2004/12/11 21:56:49 tom Exp $")
|
MODULE_ID("$Id: fld_pad.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -50,7 +50,7 @@ set_field_pad(FIELD *field, int ch)
|
|||||||
{
|
{
|
||||||
int res = E_BAD_ARGUMENT;
|
int res = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
T((T_CALLED("set_field_pad(%p,%d)"), field, ch));
|
T((T_CALLED("set_field_pad(%p,%d)"), (void *)field, ch));
|
||||||
|
|
||||||
Normalize_Field(field);
|
Normalize_Field(field);
|
||||||
if (isprint(UChar(ch)))
|
if (isprint(UChar(ch)))
|
||||||
@ -77,7 +77,7 @@ set_field_pad(FIELD *field, int ch)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
field_pad(const FIELD *field)
|
field_pad(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_pad(%p)"), field));
|
T((T_CALLED("field_pad(%p)"), (const void *)field));
|
||||||
|
|
||||||
returnCode(Normalize_Field(field)->pad);
|
returnCode(Normalize_Field(field)->pad);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_page.c,v 1.9 2004/12/11 21:58:19 tom Exp $")
|
MODULE_ID("$Id: fld_page.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -47,7 +47,7 @@ MODULE_ID("$Id: fld_page.c,v 1.9 2004/12/11 21:58:19 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_new_page(FIELD *field, bool new_page_flag)
|
set_new_page(FIELD *field, bool new_page_flag)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_new_page(%p,%d)"), field, new_page_flag));
|
T((T_CALLED("set_new_page(%p,%d)"), (void *)field, new_page_flag));
|
||||||
|
|
||||||
Normalize_Field(field);
|
Normalize_Field(field);
|
||||||
if (field->form)
|
if (field->form)
|
||||||
@ -74,7 +74,7 @@ set_new_page(FIELD *field, bool new_page_flag)
|
|||||||
NCURSES_EXPORT(bool)
|
NCURSES_EXPORT(bool)
|
||||||
new_page(const FIELD *field)
|
new_page(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("new_page(%p)"), field));
|
T((T_CALLED("new_page(%p)"), (const void *)field));
|
||||||
|
|
||||||
returnBool((Normalize_Field(field)->status & _NEWPAGE) ? TRUE : FALSE);
|
returnBool((Normalize_Field(field)->status & _NEWPAGE) ? TRUE : FALSE);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_stat.c,v 1.11 2004/12/11 22:28:00 tom Exp $")
|
MODULE_ID("$Id: fld_stat.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -46,7 +46,7 @@ MODULE_ID("$Id: fld_stat.c,v 1.11 2004/12/11 22:28:00 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_field_status(FIELD *field, bool status)
|
set_field_status(FIELD *field, bool status)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_field_status(%p,%d)"), field, status));
|
T((T_CALLED("set_field_status(%p,%d)"), (void *)field, status));
|
||||||
|
|
||||||
Normalize_Field(field);
|
Normalize_Field(field);
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ set_field_status(FIELD *field, bool status)
|
|||||||
NCURSES_EXPORT(bool)
|
NCURSES_EXPORT(bool)
|
||||||
field_status(const FIELD *field)
|
field_status(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_status(%p)"), field));
|
T((T_CALLED("field_status(%p)"), (const void *)field));
|
||||||
|
|
||||||
returnBool((Normalize_Field(field)->status & _CHANGED) ? TRUE : FALSE);
|
returnBool((Normalize_Field(field)->status & _CHANGED) ? TRUE : FALSE);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_type.c,v 1.15 2004/12/25 22:24:10 tom Exp $")
|
MODULE_ID("$Id: fld_type.c,v 1.16 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -52,7 +52,7 @@ set_field_type(FIELD *field, FIELDTYPE *type,...)
|
|||||||
int res = E_SYSTEM_ERROR;
|
int res = E_SYSTEM_ERROR;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
T((T_CALLED("set_field_type(%p,%p)"), field, type));
|
T((T_CALLED("set_field_type(%p,%p)"), (void *)field, (void *)type));
|
||||||
|
|
||||||
va_start(ap, type);
|
va_start(ap, type);
|
||||||
|
|
||||||
@ -90,7 +90,7 @@ set_field_type(FIELD *field, FIELDTYPE *type,...)
|
|||||||
NCURSES_EXPORT(FIELDTYPE *)
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
field_type(const FIELD *field)
|
field_type(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_type(%p)"), field));
|
T((T_CALLED("field_type(%p)"), (const void *)field));
|
||||||
returnFieldType(Normalize_Field(field)->type);
|
returnFieldType(Normalize_Field(field)->type);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fld_user.c,v 1.15 2004/12/25 22:24:50 tom Exp $")
|
MODULE_ID("$Id: fld_user.c,v 1.16 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -46,7 +46,7 @@ MODULE_ID("$Id: fld_user.c,v 1.15 2004/12/25 22:24:50 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_field_userptr(FIELD *field, void *usrptr)
|
set_field_userptr(FIELD *field, void *usrptr)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_field_userptr(%p,%p)"), field, usrptr));
|
T((T_CALLED("set_field_userptr(%p,%p)"), (void *)field, (void *)usrptr));
|
||||||
|
|
||||||
Normalize_Field(field)->usrptr = usrptr;
|
Normalize_Field(field)->usrptr = usrptr;
|
||||||
RETURN(E_OK);
|
RETURN(E_OK);
|
||||||
@ -65,7 +65,7 @@ set_field_userptr(FIELD *field, void *usrptr)
|
|||||||
NCURSES_EXPORT(void *)
|
NCURSES_EXPORT(void *)
|
||||||
field_userptr(const FIELD *field)
|
field_userptr(const FIELD *field)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_userptr(%p)"), field));
|
T((T_CALLED("field_userptr(%p)"), (const void *)field));
|
||||||
returnVoidPtr(Normalize_Field(field)->usrptr);
|
returnVoidPtr(Normalize_Field(field)->usrptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -30,7 +30,7 @@
|
|||||||
* Author: Juergen Pfeifer, 1995,1997 *
|
* Author: Juergen Pfeifer, 1995,1997 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: form.h,v 0.20 2004/12/04 22:22:10 tom Exp $ */
|
/* $Id: form.h,v 0.21 2009/11/07 19:31:11 tom Exp $ */
|
||||||
|
|
||||||
#ifndef FORM_H
|
#ifndef FORM_H
|
||||||
#define FORM_H
|
#define FORM_H
|
||||||
@ -105,34 +105,13 @@ typedef struct fieldnode {
|
|||||||
NCURSES_FIELD_INTERNALS
|
NCURSES_FIELD_INTERNALS
|
||||||
} FIELD;
|
} FIELD;
|
||||||
|
|
||||||
/**************
|
|
||||||
* FIELDTYPE *
|
|
||||||
**************/
|
|
||||||
|
|
||||||
typedef struct typenode {
|
|
||||||
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 */
|
|
||||||
|
|
||||||
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 */
|
|
||||||
|
|
||||||
} FIELDTYPE;
|
|
||||||
|
|
||||||
/*********
|
/*********
|
||||||
* FORM *
|
* FORM *
|
||||||
*********/
|
*********/
|
||||||
|
|
||||||
typedef struct formnode {
|
typedef struct formnode {
|
||||||
unsigned short status; /* flags */
|
unsigned short status; /* flags */
|
||||||
short rows; /* size in rows */
|
short rows; /* size in rows */
|
||||||
short cols; /* size in cols */
|
short cols; /* size in cols */
|
||||||
int currow; /* current row in field window */
|
int currow; /* current row in field window */
|
||||||
@ -158,6 +137,49 @@ typedef struct formnode {
|
|||||||
|
|
||||||
} FORM;
|
} FORM;
|
||||||
|
|
||||||
|
|
||||||
|
/**************
|
||||||
|
* FIELDTYPE *
|
||||||
|
**************/
|
||||||
|
|
||||||
|
typedef struct typenode {
|
||||||
|
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
|
||||||
|
} FIELDTYPE;
|
||||||
|
|
||||||
typedef void (*Form_Hook)(FORM *);
|
typedef void (*Form_Hook)(FORM *);
|
||||||
|
|
||||||
/***************************
|
/***************************
|
||||||
@ -278,13 +300,6 @@ extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
|
|||||||
************************************/
|
************************************/
|
||||||
extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
|
extern NCURSES_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4; /* Internet IP Version 4 address */
|
||||||
|
|
||||||
/***********************
|
|
||||||
* Default objects *
|
|
||||||
***********************/
|
|
||||||
extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
|
|
||||||
extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
|
|
||||||
|
|
||||||
|
|
||||||
/***********************
|
/***********************
|
||||||
* FIELDTYPE routines *
|
* FIELDTYPE routines *
|
||||||
***********************/
|
***********************/
|
||||||
@ -396,6 +411,10 @@ extern NCURSES_EXPORT(Form_Options) form_opts (const FORM *);
|
|||||||
extern NCURSES_EXPORT(bool) data_ahead (const FORM *);
|
extern NCURSES_EXPORT(bool) data_ahead (const FORM *);
|
||||||
extern NCURSES_EXPORT(bool) data_behind (const FORM *);
|
extern NCURSES_EXPORT(bool) data_behind (const FORM *);
|
||||||
|
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
extern NCURSES_EXPORT(FORM *) NCURSES_SP_NAME(new_form) (SCREEN*, FIELD **);
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -30,7 +30,7 @@
|
|||||||
* Author: Juergen Pfeifer, 1995,1997 *
|
* Author: Juergen Pfeifer, 1995,1997 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: form.priv.h,v 0.27 2008/09/08 20:29:05 tom Exp $ */
|
/* $Id: form.priv.h,v 0.32 2009/11/07 21:26:43 tom Exp $ */
|
||||||
|
|
||||||
#ifndef FORM_PRIV_H
|
#ifndef FORM_PRIV_H
|
||||||
#define FORM_PRIV_H 1
|
#define FORM_PRIV_H 1
|
||||||
@ -62,6 +62,13 @@
|
|||||||
|
|
||||||
#include "form.h"
|
#include "form.h"
|
||||||
|
|
||||||
|
/***********************
|
||||||
|
* Default objects *
|
||||||
|
***********************/
|
||||||
|
extern NCURSES_EXPORT_VAR(FORM *) _nc_Default_Form;
|
||||||
|
extern NCURSES_EXPORT_VAR(FIELD *) _nc_Default_Field;
|
||||||
|
extern NCURSES_EXPORT_VAR(FIELDTYPE *) _nc_Default_FieldType;
|
||||||
|
|
||||||
/* form status values */
|
/* form status values */
|
||||||
#define _OVLMODE (0x04U) /* Form is in overlay mode */
|
#define _OVLMODE (0x04U) /* Form is in overlay mode */
|
||||||
#define _WINDOW_MODIFIED (0x10U) /* Current field window has been modified */
|
#define _WINDOW_MODIFIED (0x10U) /* Current field window has been modified */
|
||||||
@ -78,6 +85,7 @@
|
|||||||
#define _HAS_ARGS (0x02U) /* Type has arguments */
|
#define _HAS_ARGS (0x02U) /* Type has arguments */
|
||||||
#define _HAS_CHOICE (0x04U) /* Type has choice methods */
|
#define _HAS_CHOICE (0x04U) /* Type has choice methods */
|
||||||
#define _RESIDENT (0x08U) /* Type is built-in */
|
#define _RESIDENT (0x08U) /* Type is built-in */
|
||||||
|
#define _GENERIC (0x10U) /* A generic field type */
|
||||||
|
|
||||||
/* This are the field options required to be a selectable field in field
|
/* This are the field options required to be a selectable field in field
|
||||||
navigation requests */
|
navigation requests */
|
||||||
@ -91,9 +99,20 @@
|
|||||||
#define Normalize_Field(field) \
|
#define Normalize_Field(field) \
|
||||||
((field) = (field != 0) ? (field) : _nc_Default_Field)
|
((field) = (field != 0) ? (field) : _nc_Default_Field)
|
||||||
|
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
#define Get_Form_Screen(form) \
|
||||||
|
((form)->win ? _nc_screen_of((form->win)):CURRENT_SCREEN)
|
||||||
|
#else
|
||||||
|
#define Get_Form_Screen(form) CURRENT_SCREEN
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Retrieve forms window */
|
/* Retrieve forms window */
|
||||||
#define Get_Form_Window(form) \
|
#define Get_Form_Window(form) \
|
||||||
((form)->sub?(form)->sub:((form)->win?(form)->win:stdscr))
|
((form)->sub \
|
||||||
|
? (form)->sub \
|
||||||
|
: ((form)->win \
|
||||||
|
? (form)->win \
|
||||||
|
: StdScreen(Get_Form_Screen(form))))
|
||||||
|
|
||||||
/* Calculate the size for a single buffer for this field */
|
/* Calculate the size for a single buffer for this field */
|
||||||
#define Buffer_Length(field) ((field)->drows * (field)->dcols)
|
#define Buffer_Length(field) ((field)->drows * (field)->dcols)
|
||||||
@ -144,8 +163,6 @@ TypeArgument;
|
|||||||
|
|
||||||
#define C_ZEROS '\0'
|
#define C_ZEROS '\0'
|
||||||
|
|
||||||
extern NCURSES_EXPORT_VAR(const FIELDTYPE *) _nc_Default_FieldType;
|
|
||||||
|
|
||||||
extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*, va_list*, int*);
|
extern NCURSES_EXPORT(TypeArgument *) _nc_Make_Argument (const FIELDTYPE*, va_list*, int*);
|
||||||
extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*, const TypeArgument*, int*);
|
extern NCURSES_EXPORT(TypeArgument *) _nc_Copy_Argument (const FIELDTYPE*, const TypeArgument*, int*);
|
||||||
extern NCURSES_EXPORT(void) _nc_Free_Argument (const FIELDTYPE*, TypeArgument*);
|
extern NCURSES_EXPORT(void) _nc_Free_Argument (const FIELDTYPE*, TypeArgument*);
|
||||||
@ -161,6 +178,36 @@ extern NCURSES_EXPORT(bool) _nc_Internal_Validation (FORM*);
|
|||||||
extern NCURSES_EXPORT(int) _nc_Set_Current_Field (FORM*, FIELD*);
|
extern NCURSES_EXPORT(int) _nc_Set_Current_Field (FORM*, FIELD*);
|
||||||
extern NCURSES_EXPORT(int) _nc_Position_Form_Cursor (FORM*);
|
extern NCURSES_EXPORT(int) _nc_Position_Form_Cursor (FORM*);
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_INTEGER(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_ALNUM(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_ALPHA(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_ENUM(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_NUMERIC(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_REGEXP(void);
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_TYPE_IPV4(void);
|
||||||
|
|
||||||
|
extern NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_generic_fieldtype(bool (*const field_check) (FORM*,
|
||||||
|
FIELD *,
|
||||||
|
const void *),
|
||||||
|
bool (*const char_check) (int,
|
||||||
|
FORM*,
|
||||||
|
FIELD*,
|
||||||
|
const void *),
|
||||||
|
bool (*const next)(FORM*,FIELD*,const void*),
|
||||||
|
bool (*const prev)(FORM*,FIELD*,const void*),
|
||||||
|
void (*freecallback)(void*));
|
||||||
|
extern NCURSES_EXPORT(int) _nc_set_generic_fieldtype(FIELD*, FIELDTYPE*, int (*)(void**));
|
||||||
|
extern NCURSES_EXPORT(WINDOW*) _nc_form_cursor(const FORM* , int* , int* );
|
||||||
|
|
||||||
|
#define INIT_FT_FUNC(func) {func}
|
||||||
|
#else
|
||||||
|
#define INIT_FT_FUNC(func) func
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern NCURSES_EXPORT(void) _nc_get_fieldbuffer(FORM*, FIELD*, FIELD_CELL*);
|
||||||
|
|
||||||
#if USE_WIDEC_SUPPORT
|
#if USE_WIDEC_SUPPORT
|
||||||
extern NCURSES_EXPORT(wchar_t *) _nc_Widen_String(char *, int *);
|
extern NCURSES_EXPORT(wchar_t *) _nc_Widen_String(char *, int *);
|
||||||
#endif
|
#endif
|
||||||
@ -176,8 +223,8 @@ extern NCURSES_EXPORT(wchar_t *) _nc_Widen_String(char *, int *);
|
|||||||
extern NCURSES_EXPORT(FIELD **) _nc_retrace_field_ptr (FIELD **);
|
extern NCURSES_EXPORT(FIELD **) _nc_retrace_field_ptr (FIELD **);
|
||||||
extern NCURSES_EXPORT(FIELD *) _nc_retrace_field (FIELD *);
|
extern NCURSES_EXPORT(FIELD *) _nc_retrace_field (FIELD *);
|
||||||
extern NCURSES_EXPORT(FIELDTYPE *) _nc_retrace_field_type (FIELDTYPE *);
|
extern NCURSES_EXPORT(FIELDTYPE *) _nc_retrace_field_type (FIELDTYPE *);
|
||||||
extern NCURSES_EXPORT(FORM *) _nc_retrace_form (FORM *);
|
extern NCURSES_EXPORT(FORM *) _nc_retrace_form (FORM *);
|
||||||
extern NCURSES_EXPORT(Form_Hook) _nc_retrace_form_hook (Form_Hook);
|
extern NCURSES_EXPORT(Form_Hook) _nc_retrace_form_hook (Form_Hook);
|
||||||
|
|
||||||
#else /* !TRACE */
|
#else /* !TRACE */
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_cursor.c,v 1.9 2004/12/11 22:01:03 tom Exp $")
|
MODULE_ID("$Id: frm_cursor.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -53,7 +53,7 @@ pos_form_cursor(FORM *form)
|
|||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
T((T_CALLED("pos_form_cursor(%p)"), form));
|
T((T_CALLED("pos_form_cursor(%p)"), (void *)form));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
res = E_BAD_ARGUMENT;
|
res = E_BAD_ARGUMENT;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_data.c,v 1.14 2005/11/26 15:34:01 tom Exp $")
|
MODULE_ID("$Id: frm_data.c,v 1.15 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -49,7 +49,7 @@ data_behind(const FORM *form)
|
|||||||
{
|
{
|
||||||
bool result = FALSE;
|
bool result = FALSE;
|
||||||
|
|
||||||
T((T_CALLED("data_behind(%p)"), form));
|
T((T_CALLED("data_behind(%p)"), (const void *)form));
|
||||||
|
|
||||||
if (form && (form->status & _POSTED) && form->current)
|
if (form && (form->status & _POSTED) && form->current)
|
||||||
{
|
{
|
||||||
@ -136,7 +136,7 @@ data_ahead(const FORM *form)
|
|||||||
{
|
{
|
||||||
bool result = FALSE;
|
bool result = FALSE;
|
||||||
|
|
||||||
T((T_CALLED("data_ahead(%p)"), form));
|
T((T_CALLED("data_ahead(%p)"), (const void *)form));
|
||||||
|
|
||||||
if (form && (form->status & _POSTED) && form->current)
|
if (form && (form->status & _POSTED) && form->current)
|
||||||
{
|
{
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_def.c,v 1.23 2008/08/04 00:07:55 tom Exp $")
|
MODULE_ID("$Id: frm_def.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/* this can't be readonly */
|
/* this can't be readonly */
|
||||||
static FORM default_form =
|
static FORM default_form =
|
||||||
@ -160,7 +160,7 @@ Connect_Fields(FORM *form, FIELD **fields)
|
|||||||
int maximum_row_in_field, maximum_col_in_field;
|
int maximum_row_in_field, maximum_col_in_field;
|
||||||
_PAGE *pg;
|
_PAGE *pg;
|
||||||
|
|
||||||
T((T_CALLED("Connect_Fields(%p,%p)"), form, fields));
|
T((T_CALLED("Connect_Fields(%p,%p)"), (void *)form, (void *)fields));
|
||||||
|
|
||||||
assert(form);
|
assert(form);
|
||||||
|
|
||||||
@ -188,7 +188,7 @@ Connect_Fields(FORM *form, FIELD **fields)
|
|||||||
/* allocate page structures */
|
/* allocate page structures */
|
||||||
if ((pg = typeMalloc(_PAGE, page_nr)) != (_PAGE *) 0)
|
if ((pg = typeMalloc(_PAGE, page_nr)) != (_PAGE *) 0)
|
||||||
{
|
{
|
||||||
T((T_CREATE("_PAGE %p"), pg));
|
T((T_CREATE("_PAGE %p"), (void *)pg));
|
||||||
form->page = pg;
|
form->page = pg;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -283,7 +283,7 @@ Associate_Fields(FORM *form, FIELD **fields)
|
|||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : FORM *new_form( FIELD **fields )
|
| Function : FORM *new_form_sp(SCREEN* sp, FIELD** fields )
|
||||||
|
|
|
|
||||||
| Description : Create new form with given array of fields.
|
| Description : Create new form with given array of fields.
|
||||||
|
|
|
|
||||||
@ -295,21 +295,31 @@ Associate_Fields(FORM *form, FIELD **fields)
|
|||||||
| E_SYSTEM_ERROR - not enough memory
|
| E_SYSTEM_ERROR - not enough memory
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
NCURSES_EXPORT(FORM *)
|
NCURSES_EXPORT(FORM *)
|
||||||
new_form(FIELD **fields)
|
NCURSES_SP_NAME(new_form) (NCURSES_SP_DCLx FIELD **fields)
|
||||||
{
|
{
|
||||||
int err = E_SYSTEM_ERROR;
|
int err = E_SYSTEM_ERROR;
|
||||||
|
FORM *form = (FORM *)0;
|
||||||
|
|
||||||
FORM *form = typeMalloc(FORM, 1);
|
T((T_CALLED("new_form(%p,%p)"), (void *)SP_PARM, (void *)fields));
|
||||||
|
|
||||||
T((T_CALLED("new_form(%p)"), fields));
|
if (IsValidScreen(SP_PARM))
|
||||||
if (form)
|
|
||||||
{
|
{
|
||||||
T((T_CREATE("form %p"), form));
|
form = typeMalloc(FORM, 1);
|
||||||
*form = *_nc_Default_Form;
|
|
||||||
if ((err = Associate_Fields(form, fields)) != E_OK)
|
if (form)
|
||||||
{
|
{
|
||||||
free_form(form);
|
T((T_CREATE("form %p"), (void *)form));
|
||||||
form = (FORM *)0;
|
*form = *_nc_Default_Form;
|
||||||
|
/* This ensures win and sub are always non-null,
|
||||||
|
so we can derive always the SCREEN that this form is
|
||||||
|
running on. */
|
||||||
|
form->win = StdScreen(SP_PARM);
|
||||||
|
form->sub = StdScreen(SP_PARM);
|
||||||
|
if ((err = Associate_Fields(form, fields)) != E_OK)
|
||||||
|
{
|
||||||
|
free_form(form);
|
||||||
|
form = (FORM *)0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -319,6 +329,27 @@ new_form(FIELD **fields)
|
|||||||
returnForm(form);
|
returnForm(form);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : FORM* new_form(FIELD** fields )
|
||||||
|
|
|
||||||
|
| Description : Create new form with given array of fields.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to form. NULL if error occurred.
|
||||||
|
! Set errno:
|
||||||
|
| E_OK - success
|
||||||
|
| E_BAD_ARGUMENT - Invalid form pointer or field array
|
||||||
|
| E_CONNECTED - a field is already connected
|
||||||
|
| E_SYSTEM_ERROR - not enough memory
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
NCURSES_EXPORT(FORM *)
|
||||||
|
new_form(FIELD **fields)
|
||||||
|
{
|
||||||
|
return NCURSES_SP_NAME(new_form) (CURRENT_SCREEN, fields);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : int free_form( FORM *form )
|
| Function : int free_form( FORM *form )
|
||||||
@ -332,7 +363,7 @@ new_form(FIELD **fields)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
free_form(FORM *form)
|
free_form(FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("free_form(%p)"), form));
|
T((T_CALLED("free_form(%p)"), (void *)form));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -366,7 +397,7 @@ set_form_fields(FORM *form, FIELD **fields)
|
|||||||
FIELD **old;
|
FIELD **old;
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
T((T_CALLED("set_form_fields(%p,%p)"), form, fields));
|
T((T_CALLED("set_form_fields(%p,%p)"), (void *)form, (void *)fields));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -394,7 +425,7 @@ set_form_fields(FORM *form, FIELD **fields)
|
|||||||
NCURSES_EXPORT(FIELD **)
|
NCURSES_EXPORT(FIELD **)
|
||||||
form_fields(const FORM *form)
|
form_fields(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_field(%p)"), form));
|
T((T_CALLED("form_field(%p)"), (const void *)form));
|
||||||
returnFieldPtr(Normalize_Form(form)->field);
|
returnFieldPtr(Normalize_Form(form)->field);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -409,7 +440,7 @@ form_fields(const FORM *form)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
field_count(const FORM *form)
|
field_count(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("field_count(%p)"), form));
|
T((T_CALLED("field_count(%p)"), (const void *)form));
|
||||||
|
|
||||||
returnCode(Normalize_Form(form)->maxfield);
|
returnCode(Normalize_Form(form)->maxfield);
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_hook.c,v 1.14 2004/12/25 22:37:27 tom Exp $")
|
MODULE_ID("$Id: frm_hook.c,v 1.15 2010/01/23 21:12:08 tom Exp $")
|
||||||
|
|
||||||
/* "Template" macro to generate function to set application specific hook */
|
/* "Template" macro to generate function to set application specific hook */
|
||||||
#define GEN_HOOK_SET_FUNCTION( typ, name ) \
|
#define GEN_HOOK_SET_FUNCTION( typ, name ) \
|
||||||
@ -47,7 +47,7 @@ NCURSES_IMPEXP int NCURSES_API set_ ## typ ## _ ## name (FORM *form, Form_Hook f
|
|||||||
#define GEN_HOOK_GET_FUNCTION( typ, name ) \
|
#define GEN_HOOK_GET_FUNCTION( typ, name ) \
|
||||||
NCURSES_IMPEXP Form_Hook NCURSES_API typ ## _ ## name ( const FORM *form )\
|
NCURSES_IMPEXP Form_Hook NCURSES_API typ ## _ ## name ( const FORM *form )\
|
||||||
{\
|
{\
|
||||||
T((T_CALLED(#typ "_" #name "(%p)"), form));\
|
T((T_CALLED(#typ "_" #name "(%p)"), (const void *) form));\
|
||||||
returnFormHook( Normalize_Form( form ) -> typ ## name );\
|
returnFormHook( Normalize_Form( form ) -> typ ## name );\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_opts.c,v 1.14 2005/04/16 16:59:18 tom Exp $")
|
MODULE_ID("$Id: frm_opts.c,v 1.15 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -47,7 +47,7 @@ MODULE_ID("$Id: frm_opts.c,v 1.14 2005/04/16 16:59:18 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_form_opts(FORM *form, Form_Options opts)
|
set_form_opts(FORM *form, Form_Options opts)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_form_opts(%p,%d)"), form, opts));
|
T((T_CALLED("set_form_opts(%p,%d)"), (void *)form, opts));
|
||||||
|
|
||||||
opts &= ALL_FORM_OPTS;
|
opts &= ALL_FORM_OPTS;
|
||||||
if (opts & ~ALL_FORM_OPTS)
|
if (opts & ~ALL_FORM_OPTS)
|
||||||
@ -70,7 +70,7 @@ set_form_opts(FORM *form, Form_Options opts)
|
|||||||
NCURSES_EXPORT(Form_Options)
|
NCURSES_EXPORT(Form_Options)
|
||||||
form_opts(const FORM *form)
|
form_opts(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_opts(%p)"), form));
|
T((T_CALLED("form_opts(%p)"), (const void *)form));
|
||||||
returnCode((int)(Normalize_Form(form)->opts & ALL_FORM_OPTS));
|
returnCode((int)(Normalize_Form(form)->opts & ALL_FORM_OPTS));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ form_opts(const FORM *form)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
form_opts_on(FORM *form, Form_Options opts)
|
form_opts_on(FORM *form, Form_Options opts)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_opts_on(%p,%d)"), form, opts));
|
T((T_CALLED("form_opts_on(%p,%d)"), (void *)form, opts));
|
||||||
|
|
||||||
opts &= ALL_FORM_OPTS;
|
opts &= ALL_FORM_OPTS;
|
||||||
if (opts & ~ALL_FORM_OPTS)
|
if (opts & ~ALL_FORM_OPTS)
|
||||||
@ -112,7 +112,7 @@ form_opts_on(FORM *form, Form_Options opts)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
form_opts_off(FORM *form, Form_Options opts)
|
form_opts_off(FORM *form, Form_Options opts)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_opts_off(%p,%d)"), form, opts));
|
T((T_CALLED("form_opts_off(%p,%d)"), (void *)form, opts));
|
||||||
|
|
||||||
opts &= ALL_FORM_OPTS;
|
opts &= ALL_FORM_OPTS;
|
||||||
if (opts & ~ALL_FORM_OPTS)
|
if (opts & ~ALL_FORM_OPTS)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_page.c,v 1.10 2004/12/11 22:08:21 tom Exp $")
|
MODULE_ID("$Id: frm_page.c,v 1.11 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -51,7 +51,7 @@ set_form_page(FORM *form, int page)
|
|||||||
{
|
{
|
||||||
int err = E_OK;
|
int err = E_OK;
|
||||||
|
|
||||||
T((T_CALLED("set_form_page(%p,%d)"), form, page));
|
T((T_CALLED("set_form_page(%p,%d)"), (void *)form, page));
|
||||||
|
|
||||||
if (!form || (page < 0) || (page >= form->maxpage))
|
if (!form || (page < 0) || (page >= form->maxpage))
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -98,7 +98,7 @@ set_form_page(FORM *form, int page)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
form_page(const FORM *form)
|
form_page(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_page(%p)"), form));
|
T((T_CALLED("form_page(%p)"), (const void *)form));
|
||||||
|
|
||||||
returnCode(Normalize_Form(form)->curpage);
|
returnCode(Normalize_Form(form)->curpage);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_post.c,v 1.9 2004/12/11 22:19:06 tom Exp $")
|
MODULE_ID("$Id: frm_post.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -54,7 +54,7 @@ post_form(FORM *form)
|
|||||||
int err;
|
int err;
|
||||||
int page;
|
int page;
|
||||||
|
|
||||||
T((T_CALLED("post_form(%p)"), form));
|
T((T_CALLED("post_form(%p)"), (void *)form));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
@ -100,7 +100,7 @@ post_form(FORM *form)
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
unpost_form(FORM *form)
|
unpost_form(FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("unpost_form(%p)"), form));
|
T((T_CALLED("unpost_form(%p)"), (void *)form));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2005,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_req_name.c,v 1.16 2008/07/05 23:22:08 tom Exp $")
|
MODULE_ID("$Id: frm_req_name.c,v 1.17 2009/10/10 16:17:01 tom Exp $")
|
||||||
|
|
||||||
static const char *request_names[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] =
|
static const char *request_names[MAX_FORM_COMMAND - MIN_FORM_COMMAND + 1] =
|
||||||
{
|
{
|
||||||
@ -154,14 +154,14 @@ form_request_by_name(const char *str)
|
|||||||
strncpy(buf, str, sizeof(buf));
|
strncpy(buf, str, sizeof(buf));
|
||||||
while ((i < sizeof(buf)) && (buf[i] != '\0'))
|
while ((i < sizeof(buf)) && (buf[i] != '\0'))
|
||||||
{
|
{
|
||||||
buf[i] = toupper(UChar(buf[i]));
|
buf[i] = (char)toupper(UChar(buf[i]));
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < A_SIZE; i++)
|
for (i = 0; i < A_SIZE; i++)
|
||||||
{
|
{
|
||||||
if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
|
if (strncmp(request_names[i], buf, sizeof(buf)) == 0)
|
||||||
returnCode(MIN_FORM_COMMAND + (int) i);
|
returnCode(MIN_FORM_COMMAND + (int)i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
RETURN(E_NO_MATCH);
|
RETURN(E_NO_MATCH);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_scale.c,v 1.9 2004/12/11 22:12:34 tom Exp $")
|
MODULE_ID("$Id: frm_scale.c,v 1.10 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -47,7 +47,10 @@ MODULE_ID("$Id: frm_scale.c,v 1.9 2004/12/11 22:12:34 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
scale_form(const FORM *form, int *rows, int *cols)
|
scale_form(const FORM *form, int *rows, int *cols)
|
||||||
{
|
{
|
||||||
T((T_CALLED("scale_form(%p,%p,%p)"), form, rows, cols));
|
T((T_CALLED("scale_form(%p,%p,%p)"),
|
||||||
|
(const void *)form,
|
||||||
|
(void *)rows,
|
||||||
|
(void *)cols));
|
||||||
|
|
||||||
if (!form)
|
if (!form)
|
||||||
RETURN(E_BAD_ARGUMENT);
|
RETURN(E_BAD_ARGUMENT);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -27,12 +27,12 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Juergen Pfeifer, 1995,1997 *
|
* Author: Juergen Pfeifer, 1995-1997,2009 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_sub.c,v 1.9 2004/12/11 22:13:39 tom Exp $")
|
MODULE_ID("$Id: frm_sub.c,v 1.12 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -46,13 +46,22 @@ MODULE_ID("$Id: frm_sub.c,v 1.9 2004/12/11 22:13:39 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_form_sub(FORM *form, WINDOW *win)
|
set_form_sub(FORM *form, WINDOW *win)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_form_sub(%p,%p)"), form, win));
|
T((T_CALLED("set_form_sub(%p,%p)"), (void *)form, (void *)win));
|
||||||
|
|
||||||
if (form && (form->status & _POSTED))
|
if (form && (form->status & _POSTED))
|
||||||
RETURN(E_POSTED);
|
RETURN(E_POSTED);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
FORM *f = Normalize_Form(form);
|
||||||
|
|
||||||
Normalize_Form(form)->sub = win;
|
f->sub = win ? win : StdScreen(Get_Form_Screen(f));
|
||||||
RETURN(E_OK);
|
RETURN(E_OK);
|
||||||
|
#else
|
||||||
|
Normalize_Form(form)->sub = win;
|
||||||
|
RETURN(E_OK);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -68,7 +77,7 @@ form_sub(const FORM *form)
|
|||||||
{
|
{
|
||||||
const FORM *f;
|
const FORM *f;
|
||||||
|
|
||||||
T((T_CALLED("form_sub(%p)"), form));
|
T((T_CALLED("form_sub(%p)"), (const void *)form));
|
||||||
|
|
||||||
f = Normalize_Form(form);
|
f = Normalize_Form(form);
|
||||||
returnWin(Get_Form_Window(f));
|
returnWin(Get_Form_Window(f));
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2004,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_user.c,v 1.14 2004/12/25 22:37:56 tom Exp $")
|
MODULE_ID("$Id: frm_user.c,v 1.15 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -46,7 +46,7 @@ MODULE_ID("$Id: frm_user.c,v 1.14 2004/12/25 22:37:56 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_form_userptr(FORM *form, void *usrptr)
|
set_form_userptr(FORM *form, void *usrptr)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_form_userptr(%p,%p)"), form, usrptr));
|
T((T_CALLED("set_form_userptr(%p,%p)"), (void *)form, (void *)usrptr));
|
||||||
|
|
||||||
Normalize_Form(form)->usrptr = usrptr;
|
Normalize_Form(form)->usrptr = usrptr;
|
||||||
RETURN(E_OK);
|
RETURN(E_OK);
|
||||||
@ -65,7 +65,7 @@ set_form_userptr(FORM *form, void *usrptr)
|
|||||||
NCURSES_EXPORT(void *)
|
NCURSES_EXPORT(void *)
|
||||||
form_userptr(const FORM *form)
|
form_userptr(const FORM *form)
|
||||||
{
|
{
|
||||||
T((T_CALLED("form_userptr(%p)"), form));
|
T((T_CALLED("form_userptr(%p)"), (const void *)form));
|
||||||
returnVoidPtr(Normalize_Form(form)->usrptr);
|
returnVoidPtr(Normalize_Form(form)->usrptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: frm_win.c,v 1.13 2004/12/11 22:15:27 tom Exp $")
|
MODULE_ID("$Id: frm_win.c,v 1.16 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -46,13 +46,22 @@ MODULE_ID("$Id: frm_win.c,v 1.13 2004/12/11 22:15:27 tom Exp $")
|
|||||||
NCURSES_EXPORT(int)
|
NCURSES_EXPORT(int)
|
||||||
set_form_win(FORM *form, WINDOW *win)
|
set_form_win(FORM *form, WINDOW *win)
|
||||||
{
|
{
|
||||||
T((T_CALLED("set_form_win(%p,%p)"), form, win));
|
T((T_CALLED("set_form_win(%p,%p)"), (void *)form, (void *)win));
|
||||||
|
|
||||||
if (form && (form->status & _POSTED))
|
if (form && (form->status & _POSTED))
|
||||||
RETURN(E_POSTED);
|
RETURN(E_POSTED);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
FORM *f = Normalize_Form(form);
|
||||||
|
|
||||||
Normalize_Form(form)->win = win;
|
f->win = win ? win : StdScreen(Get_Form_Screen(f));
|
||||||
RETURN(E_OK);
|
RETURN(E_OK);
|
||||||
|
#else
|
||||||
|
Normalize_Form(form)->win = win;
|
||||||
|
RETURN(E_OK);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -66,12 +75,18 @@ set_form_win(FORM *form, WINDOW *win)
|
|||||||
NCURSES_EXPORT(WINDOW *)
|
NCURSES_EXPORT(WINDOW *)
|
||||||
form_win(const FORM *form)
|
form_win(const FORM *form)
|
||||||
{
|
{
|
||||||
|
WINDOW *result;
|
||||||
const FORM *f;
|
const FORM *f;
|
||||||
|
|
||||||
T((T_CALLED("form_win(%p)"), form));
|
T((T_CALLED("form_win(%p)"), (const void *)form));
|
||||||
|
|
||||||
f = Normalize_Form(form);
|
f = Normalize_Form(form);
|
||||||
returnWin(f->win ? f->win : stdscr);
|
#if NCURSES_SP_FUNCS
|
||||||
|
result = (f->win ? f->win : StdScreen(Get_Form_Screen(f)));
|
||||||
|
#else
|
||||||
|
result = (f->win ? f->win : stdscr);
|
||||||
|
#endif
|
||||||
|
returnWin(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* frm_win.c ends here */
|
/* frm_win.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_alnum.c,v 1.21 2007/10/13 19:31:52 tom Exp $")
|
MODULE_ID("$Id: fty_alnum.c,v 1.24 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
#define thisARG alnumARG
|
#define thisARG alnumARG
|
||||||
|
|
||||||
@ -44,6 +44,32 @@ typedef struct
|
|||||||
}
|
}
|
||||||
thisARG;
|
thisARG;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_This_Type(void *arg)
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for alphanumeric type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_This_Type(void *arg)
|
||||||
|
{
|
||||||
|
thisARG *argp = (thisARG *) 0;
|
||||||
|
|
||||||
|
if (arg)
|
||||||
|
{
|
||||||
|
argp = typeMalloc(thisARG, 1);
|
||||||
|
|
||||||
|
if (argp)
|
||||||
|
{
|
||||||
|
T((T_CREATE("thisARG %p"), (void *)argp));
|
||||||
|
argp->width = *((int *)arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ((void *)argp);
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_This_Type(va_list *ap)
|
| Function : static void *Make_This_Type(va_list *ap)
|
||||||
@ -55,15 +81,9 @@ thisARG;
|
|||||||
static void *
|
static void *
|
||||||
Make_This_Type(va_list *ap)
|
Make_This_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
thisARG *argp = typeMalloc(thisARG, 1);
|
int w = va_arg(*ap, int);
|
||||||
|
|
||||||
if (argp)
|
return Generic_This_Type((void *)&w);
|
||||||
{
|
|
||||||
T((T_CREATE("thisARG %p"), argp));
|
|
||||||
argp->width = va_arg(*ap, int);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ((void *)argp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -82,7 +102,7 @@ Copy_This_Type(const void *argp)
|
|||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
T((T_CREATE("thisARG %p"), result));
|
T((T_CREATE("thisARG %p"), (void *)result));
|
||||||
*result = *ap;
|
*result = *ap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,12 +176,27 @@ static FIELDTYPE typeTHIS =
|
|||||||
Make_This_Type,
|
Make_This_Type,
|
||||||
Copy_This_Type,
|
Copy_This_Type,
|
||||||
Free_This_Type,
|
Free_This_Type,
|
||||||
Check_This_Field,
|
INIT_FT_FUNC(Check_This_Field),
|
||||||
Check_This_Character,
|
INIT_FT_FUNC(Check_This_Character),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_This_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeTHIS;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALNUM = &typeTHIS;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_ALNUM(void)
|
||||||
|
{
|
||||||
|
return TYPE_ALNUM;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_alnum.c ends here */
|
/* fty_alnum.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_alpha.c,v 1.23 2007/10/13 19:32:09 tom Exp $")
|
MODULE_ID("$Id: fty_alpha.c,v 1.26 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
#define thisARG alphaARG
|
#define thisARG alphaARG
|
||||||
|
|
||||||
@ -44,6 +44,32 @@ typedef struct
|
|||||||
}
|
}
|
||||||
thisARG;
|
thisARG;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_This_Type(va_list *ap)
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for alpha type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_This_Type(void *arg)
|
||||||
|
{
|
||||||
|
thisARG *argp = (thisARG *) 0;
|
||||||
|
|
||||||
|
if (arg)
|
||||||
|
{
|
||||||
|
argp = typeMalloc(thisARG, 1);
|
||||||
|
|
||||||
|
if (argp)
|
||||||
|
{
|
||||||
|
T((T_CREATE("thisARG %p"), (void *)argp));
|
||||||
|
argp->width = *((int *)arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ((void *)argp);
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_This_Type(va_list *ap)
|
| Function : static void *Make_This_Type(va_list *ap)
|
||||||
@ -55,15 +81,9 @@ thisARG;
|
|||||||
static void *
|
static void *
|
||||||
Make_This_Type(va_list *ap)
|
Make_This_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
thisARG *argp = typeMalloc(thisARG, 1);
|
int w = va_arg(*ap, int);
|
||||||
|
|
||||||
if (argp)
|
return Generic_This_Type((void *)&w);
|
||||||
{
|
|
||||||
T((T_CREATE("thisARG %p"), argp));
|
|
||||||
argp->width = va_arg(*ap, int);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ((void *)argp);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -82,7 +102,7 @@ Copy_This_Type(const void *argp)
|
|||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
T((T_CREATE("thisARG %p"), result));
|
T((T_CREATE("thisARG %p"), (void *)result));
|
||||||
*result = *ap;
|
*result = *ap;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,12 +176,27 @@ static FIELDTYPE typeTHIS =
|
|||||||
Make_This_Type,
|
Make_This_Type,
|
||||||
Copy_This_Type,
|
Copy_This_Type,
|
||||||
Free_This_Type,
|
Free_This_Type,
|
||||||
Check_This_Field,
|
INIT_FT_FUNC(Check_This_Field),
|
||||||
Check_This_Character,
|
INIT_FT_FUNC(Check_This_Character),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_This_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeTHIS;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_ALPHA = &typeTHIS;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_ALPHA(void)
|
||||||
|
{
|
||||||
|
return TYPE_ALPHA;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_alpha.c ends here */
|
/* fty_alpha.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_enum.c,v 1.22 2007/10/13 19:32:26 tom Exp $")
|
MODULE_ID("$Id: fty_enum.c,v 1.26 2010/05/01 21:11:07 tom Exp $")
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -45,6 +45,77 @@ typedef struct
|
|||||||
}
|
}
|
||||||
enumARG;
|
enumARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int ccase;
|
||||||
|
int cunique;
|
||||||
|
}
|
||||||
|
enumParams;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_Enum_Type(void * arg)
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for enumeration type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_Enum_Type(void *arg)
|
||||||
|
{
|
||||||
|
enumARG *argp = (enumARG *)0;
|
||||||
|
enumParams *params = (enumParams *) arg;
|
||||||
|
|
||||||
|
if (params)
|
||||||
|
{
|
||||||
|
argp = typeMalloc(enumARG, 1);
|
||||||
|
|
||||||
|
if (argp)
|
||||||
|
{
|
||||||
|
int cnt = 0;
|
||||||
|
char **kp = (char **)0;
|
||||||
|
char **kwds = (char **)0;
|
||||||
|
char **kptarget;
|
||||||
|
int ccase, cunique;
|
||||||
|
|
||||||
|
T((T_CREATE("enumARG %p"), (void *)argp));
|
||||||
|
kwds = params->kwds;
|
||||||
|
ccase = params->ccase;
|
||||||
|
cunique = params->cunique;
|
||||||
|
|
||||||
|
argp->checkcase = ccase ? TRUE : FALSE;
|
||||||
|
argp->checkunique = cunique ? TRUE : FALSE;
|
||||||
|
argp->kwds = (char **)0;
|
||||||
|
|
||||||
|
kp = kwds;
|
||||||
|
while (kp && (*kp++))
|
||||||
|
cnt++;
|
||||||
|
argp->count = cnt;
|
||||||
|
|
||||||
|
if (cnt > 0)
|
||||||
|
{
|
||||||
|
/* We copy the keywords, because we can't rely on the fact
|
||||||
|
that the caller doesn't relocate or free the memory used
|
||||||
|
for the keywords (maybe he has GC)
|
||||||
|
*/
|
||||||
|
argp->kwds = typeMalloc(char *, cnt + 1);
|
||||||
|
|
||||||
|
kp = kwds;
|
||||||
|
if ((kptarget = argp->kwds) != 0)
|
||||||
|
{
|
||||||
|
while (kp && (*kp))
|
||||||
|
{
|
||||||
|
(*kptarget++) = strdup(*kp++);
|
||||||
|
}
|
||||||
|
*kptarget = (char *)0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (void *)argp;
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_Enum_Type( va_list * ap )
|
| Function : static void *Make_Enum_Type( va_list * ap )
|
||||||
@ -56,28 +127,13 @@ enumARG;
|
|||||||
static void *
|
static void *
|
||||||
Make_Enum_Type(va_list *ap)
|
Make_Enum_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
enumARG *argp = typeMalloc(enumARG, 1);
|
enumParams params;
|
||||||
|
|
||||||
if (argp)
|
params.kwds = va_arg(*ap, char **);
|
||||||
{
|
params.ccase = va_arg(*ap, int);
|
||||||
int cnt = 0;
|
params.cunique = va_arg(*ap, int);
|
||||||
char **kp = (char **)0;
|
|
||||||
int ccase, cunique;
|
|
||||||
|
|
||||||
T((T_CREATE("enumARG %p"), argp));
|
return Generic_Enum_Type((void *)¶ms);
|
||||||
argp->kwds = va_arg(*ap, char **);
|
|
||||||
ccase = va_arg(*ap, int);
|
|
||||||
cunique = va_arg(*ap, int);
|
|
||||||
|
|
||||||
argp->checkcase = ccase ? TRUE : FALSE;
|
|
||||||
argp->checkunique = cunique ? TRUE : FALSE;
|
|
||||||
|
|
||||||
kp = argp->kwds;
|
|
||||||
while (kp && (*kp++))
|
|
||||||
cnt++;
|
|
||||||
argp->count = cnt;
|
|
||||||
}
|
|
||||||
return (void *)argp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -101,8 +157,24 @@ Copy_Enum_Type(const void *argp)
|
|||||||
|
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
T((T_CREATE("enumARG %p"), result));
|
T((T_CREATE("enumARG %p"), (void *)result));
|
||||||
*result = *ap;
|
*result = *ap;
|
||||||
|
|
||||||
|
if (ap->count > 0)
|
||||||
|
{
|
||||||
|
char **kptarget;
|
||||||
|
char **kp = ap->kwds;
|
||||||
|
result->kwds = typeMalloc(char *, 1 + ap->count);
|
||||||
|
|
||||||
|
if ((kptarget = result->kwds) != 0)
|
||||||
|
{
|
||||||
|
while (kp && (*kp))
|
||||||
|
{
|
||||||
|
(*kptarget++) = strdup(*kp++);
|
||||||
|
}
|
||||||
|
*kptarget = (char *)0;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return (void *)result;
|
return (void *)result;
|
||||||
@ -120,7 +192,24 @@ static void
|
|||||||
Free_Enum_Type(void *argp)
|
Free_Enum_Type(void *argp)
|
||||||
{
|
{
|
||||||
if (argp)
|
if (argp)
|
||||||
free(argp);
|
{
|
||||||
|
const enumARG *ap = (const enumARG *)argp;
|
||||||
|
|
||||||
|
if (ap->kwds && ap->count > 0)
|
||||||
|
{
|
||||||
|
char **kp = ap->kwds;
|
||||||
|
int cnt = 0;
|
||||||
|
|
||||||
|
while (kp && (*kp))
|
||||||
|
{
|
||||||
|
free(*kp++);
|
||||||
|
cnt++;
|
||||||
|
}
|
||||||
|
assert(cnt == ap->count);
|
||||||
|
free(ap->kwds);
|
||||||
|
}
|
||||||
|
free(argp);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#define SKIP_SPACE(x) while(((*(x))!='\0') && (is_blank(*(x)))) (x)++
|
#define SKIP_SPACE(x) while(((*(x))!='\0') && (is_blank(*(x)))) (x)++
|
||||||
@ -326,13 +415,28 @@ static FIELDTYPE typeENUM =
|
|||||||
Make_Enum_Type,
|
Make_Enum_Type,
|
||||||
Copy_Enum_Type,
|
Copy_Enum_Type,
|
||||||
Free_Enum_Type,
|
Free_Enum_Type,
|
||||||
Check_Enum_Field,
|
INIT_FT_FUNC(Check_Enum_Field),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
Next_Enum,
|
INIT_FT_FUNC(Next_Enum),
|
||||||
Previous_Enum
|
INIT_FT_FUNC(Previous_Enum),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_Enum_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE *)
|
NCURSES_EXPORT_VAR(FIELDTYPE *)
|
||||||
TYPE_ENUM = &typeENUM;
|
TYPE_ENUM = &typeENUM;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_ENUM(void)
|
||||||
|
{
|
||||||
|
return TYPE_ENUM;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_enum.c ends here */
|
/* fty_enum.c ends here */
|
||||||
|
297
contrib/ncurses/form/fty_generic.c
Normal file
297
contrib/ncurses/form/fty_generic.c
Normal file
@ -0,0 +1,297 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Copyright (c) 2008-2009,2010 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 *
|
||||||
|
* *
|
||||||
|
***************************************************************************/
|
||||||
|
|
||||||
|
#include "form.priv.h"
|
||||||
|
|
||||||
|
MODULE_ID("$Id: fty_generic.c,v 1.5 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is not a full implementation of a field type, but adds some
|
||||||
|
* support for higher level languages with some restrictions to interop
|
||||||
|
* with C language. Especially the collection of arguments for the
|
||||||
|
* various fieldtypes is not based on the vararg C mechanism, but on a
|
||||||
|
* iterator based callback mechanism that allowes the high level language
|
||||||
|
* to provide the arguments as a structure. Most languages have mechanisms
|
||||||
|
* to layout structures so that they can be passed to C.
|
||||||
|
* The languages can register a new generic fieldtype dynamically and store
|
||||||
|
* a handle (key) to the calling object as an argument. Together with that
|
||||||
|
* it can register a freearg callback, so that the high level language
|
||||||
|
* remains in control of the memory management of the arguments they pass.
|
||||||
|
* The design idea is, that the high-level language - typically a OO
|
||||||
|
* language like C# or Java, uses it's own dispatching mechanisms
|
||||||
|
* (polymorphism) to call the proper check routines responsible for the
|
||||||
|
* argument type. So these language implement typically only one generic
|
||||||
|
* fieldtype they register with the forms library using this call.
|
||||||
|
*
|
||||||
|
* For that purpose we have extended the fieldtype struc by a new element
|
||||||
|
* that gets the arguments from a single struct passed by the caller.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_This_Type( void * arg )
|
||||||
|
|
|
||||||
|
| Description : We interpret the passed arg just as a handle the
|
||||||
|
| calling language uses to keep track of its allocated
|
||||||
|
| argument structures. We can simply copy it back.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_This_Type(void *arg)
|
||||||
|
{
|
||||||
|
return (arg);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : FIELDTYPE *_nc_generic_fieldtype(
|
||||||
|
| bool (* const field_check)(FIELD *,const void *),
|
||||||
|
| bool (* const char_check) (int, const void *),
|
||||||
|
| bool (*const next)(FORM*,FIELD*,const void*),
|
||||||
|
| bool (*const prev)(FORM*,FIELD*,const void*),
|
||||||
|
| void (*freecallback)(void*))
|
||||||
|
|
|
||||||
|
| Description : Create a new fieldtype. The application programmer must
|
||||||
|
| write a field_check and a char_check function and give
|
||||||
|
| them as input to this call. A callback to allow the
|
||||||
|
| release of the allocated memory must also be provided.
|
||||||
|
| For generic field types, we provide some more
|
||||||
|
| information about the field as parameters.
|
||||||
|
|
|
||||||
|
| If an error occurs, errno is set to
|
||||||
|
| E_BAD_ARGUMENT - invalid arguments
|
||||||
|
| E_SYSTEM_ERROR - system error (no memory)
|
||||||
|
|
|
||||||
|
| Return Values : Fieldtype pointer or NULL if error occurred
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_generic_fieldtype(bool (*const field_check) (FORM *, FIELD *, const void *),
|
||||||
|
bool (*const char_check) (int, FORM *, FIELD *, const
|
||||||
|
void *),
|
||||||
|
bool (*const next) (FORM *, FIELD *, const void *),
|
||||||
|
bool (*const prev) (FORM *, FIELD *, const void *),
|
||||||
|
void (*freecallback) (void *))
|
||||||
|
{
|
||||||
|
int code = E_SYSTEM_ERROR;
|
||||||
|
FIELDTYPE *res = (FIELDTYPE *)0;
|
||||||
|
|
||||||
|
T((T_CALLED("_nc_generic_fieldtype(%p,%p,%p,%p,%p)"),
|
||||||
|
field_check, char_check, next, prev, freecallback));
|
||||||
|
|
||||||
|
if (field_check || char_check)
|
||||||
|
{
|
||||||
|
res = typeMalloc(FIELDTYPE, 1);
|
||||||
|
|
||||||
|
if (res)
|
||||||
|
{
|
||||||
|
*res = *_nc_Default_FieldType;
|
||||||
|
res->status |= (_HAS_ARGS | _GENERIC);
|
||||||
|
res->fieldcheck.gfcheck = field_check;
|
||||||
|
res->charcheck.gccheck = char_check;
|
||||||
|
res->genericarg = Generic_This_Type;
|
||||||
|
res->freearg = freecallback;
|
||||||
|
res->enum_next.gnext = next;
|
||||||
|
res->enum_prev.gprev = prev;
|
||||||
|
code = E_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
code = E_BAD_ARGUMENT;
|
||||||
|
|
||||||
|
if (E_OK != code)
|
||||||
|
SET_ERROR(code);
|
||||||
|
|
||||||
|
returnFieldType(res);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static TypeArgument *GenericArgument(
|
||||||
|
| const FIELDTYPE* typ,
|
||||||
|
| int (*argiterator)(void**),
|
||||||
|
| int* err)
|
||||||
|
|
|
||||||
|
| Description : The iterator callback must browse through all fieldtype
|
||||||
|
| parameters that have an argument associated with the
|
||||||
|
| type. The iterator returns 1 if the operation to get
|
||||||
|
| the next element was successfull, 0 otherwise. If the
|
||||||
|
| iterator could move to the next argument, it fills
|
||||||
|
| the void* pointer representing the argument into the
|
||||||
|
| location provided as argument to the iterator.
|
||||||
|
| The err reference is used to keep track of errors.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static TypeArgument *
|
||||||
|
GenericArgument(const FIELDTYPE *typ,
|
||||||
|
int (*argiterator) (void **), int *err)
|
||||||
|
{
|
||||||
|
TypeArgument *res = (TypeArgument *)0;
|
||||||
|
|
||||||
|
if (typ != 0 && (typ->status & _HAS_ARGS) != 0 && err != 0 && argiterator != 0)
|
||||||
|
{
|
||||||
|
if (typ->status & _LINKED_TYPE)
|
||||||
|
{
|
||||||
|
/* Composite fieldtypes keep track internally of their own memory */
|
||||||
|
TypeArgument *p = typeMalloc(TypeArgument, 1);
|
||||||
|
|
||||||
|
if (p)
|
||||||
|
{
|
||||||
|
p->left = GenericArgument(typ->left, argiterator, err);
|
||||||
|
p->right = GenericArgument(typ->right, argiterator, err);
|
||||||
|
return p;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
*err += 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
assert(typ->genericarg != (void *)0);
|
||||||
|
if (typ->genericarg == 0)
|
||||||
|
*err += 1;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
void *argp;
|
||||||
|
int valid = argiterator(&argp);
|
||||||
|
|
||||||
|
if (valid == 0 || argp == 0 ||
|
||||||
|
!(res = (TypeArgument *)typ->genericarg(argp)))
|
||||||
|
{
|
||||||
|
*err += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : int _nc_set_generic_fieldtype(
|
||||||
|
| FIELD* field,
|
||||||
|
| FIELDTYPE* ftyp,
|
||||||
|
| int (*argiterator)(void**))
|
||||||
|
|
|
||||||
|
| Description : Assign the fieldtype to the field and use the iterator
|
||||||
|
| mechanism to get the arguments when a check is
|
||||||
|
| performed.
|
||||||
|
|
|
||||||
|
| Return Values : E_OK if all went well
|
||||||
|
| E_SYSTEM_ERROR if an error occurred
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
NCURSES_EXPORT(int)
|
||||||
|
_nc_set_generic_fieldtype(FIELD *field,
|
||||||
|
FIELDTYPE *ftyp,
|
||||||
|
int (*argiterator) (void **))
|
||||||
|
{
|
||||||
|
int code = E_SYSTEM_ERROR;
|
||||||
|
int err = 0;
|
||||||
|
|
||||||
|
if (field)
|
||||||
|
{
|
||||||
|
if (field && field->type)
|
||||||
|
_nc_Free_Type(field);
|
||||||
|
|
||||||
|
field->type = ftyp;
|
||||||
|
if (ftyp)
|
||||||
|
{
|
||||||
|
if (argiterator)
|
||||||
|
{
|
||||||
|
/* The precondition is that the iterator is reset */
|
||||||
|
field->arg = (void *)GenericArgument(field->type, argiterator, &err);
|
||||||
|
|
||||||
|
if (err)
|
||||||
|
{
|
||||||
|
_nc_Free_Argument(field->type, (TypeArgument *)(field->arg));
|
||||||
|
field->type = (FIELDTYPE *)0;
|
||||||
|
field->arg = (void *)0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
code = E_OK;
|
||||||
|
if (field->type)
|
||||||
|
field->type->ref++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
field->arg = (void *)0;
|
||||||
|
code = E_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : WINDOW* _nc_form_cursor(
|
||||||
|
| FORM* form,
|
||||||
|
| int *pRow, int *pCol)
|
||||||
|
|
|
||||||
|
| Description : Get the current position of the form cursor position
|
||||||
|
| We also return the field window
|
||||||
|
|
|
||||||
|
| Return Values : The fields Window or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
NCURSES_EXPORT(WINDOW *)
|
||||||
|
_nc_form_cursor(const FORM *form, int *pRow, int *pCol)
|
||||||
|
{
|
||||||
|
int code = E_SYSTEM_ERROR;
|
||||||
|
WINDOW *res = (WINDOW *)0;
|
||||||
|
|
||||||
|
if (!(form == 0 || pRow == 0 || pCol == 0))
|
||||||
|
{
|
||||||
|
*pRow = form->currow;
|
||||||
|
*pCol = form->curcol;
|
||||||
|
res = form->w;
|
||||||
|
code = E_OK;
|
||||||
|
}
|
||||||
|
if (code != E_OK)
|
||||||
|
SET_ERROR(code);
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
extern void _nc_fty_generic(void);
|
||||||
|
void
|
||||||
|
_nc_fty_generic(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* fty_generic.c ends here */
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_int.c,v 1.22 2007/10/13 19:32:40 tom Exp $")
|
MODULE_ID("$Id: fty_int.c,v 1.25 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
#if USE_WIDEC_SUPPORT
|
#if USE_WIDEC_SUPPORT
|
||||||
#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
|
#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
|
||||||
@ -52,6 +52,41 @@ typedef struct
|
|||||||
}
|
}
|
||||||
thisARG;
|
thisARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerPARM;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_This_Type( void * arg )
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for integer type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_This_Type(void *arg)
|
||||||
|
{
|
||||||
|
thisARG *argp = (thisARG *) 0;
|
||||||
|
thisARG *param = (thisARG *) arg;
|
||||||
|
|
||||||
|
if (param)
|
||||||
|
{
|
||||||
|
argp = typeMalloc(thisARG, 1);
|
||||||
|
|
||||||
|
if (argp)
|
||||||
|
{
|
||||||
|
T((T_CREATE("thisARG %p"), (void *)argp));
|
||||||
|
*argp = *param;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (void *)argp;
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_This_Type( va_list * ap )
|
| Function : static void *Make_This_Type( va_list * ap )
|
||||||
@ -63,16 +98,13 @@ thisARG;
|
|||||||
static void *
|
static void *
|
||||||
Make_This_Type(va_list *ap)
|
Make_This_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
thisARG *argp = typeMalloc(thisARG, 1);
|
thisARG arg;
|
||||||
|
|
||||||
if (argp)
|
arg.precision = va_arg(*ap, int);
|
||||||
{
|
arg.low = va_arg(*ap, long);
|
||||||
T((T_CREATE("thisARG %p"), argp));
|
arg.high = va_arg(*ap, long);
|
||||||
argp->precision = va_arg(*ap, int);
|
|
||||||
argp->low = va_arg(*ap, long);
|
return Generic_This_Type((void *)&arg);
|
||||||
argp->high = va_arg(*ap, long);
|
|
||||||
}
|
|
||||||
return (void *)argp;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -94,7 +126,7 @@ Copy_This_Type(const void *argp)
|
|||||||
result = typeMalloc(thisARG, 1);
|
result = typeMalloc(thisARG, 1);
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
T((T_CREATE("thisARG %p"), result));
|
T((T_CREATE("thisARG %p"), (void *)result));
|
||||||
*result = *ap;
|
*result = *ap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -235,12 +267,27 @@ static FIELDTYPE typeTHIS =
|
|||||||
Make_This_Type,
|
Make_This_Type,
|
||||||
Copy_This_Type,
|
Copy_This_Type,
|
||||||
Free_This_Type,
|
Free_This_Type,
|
||||||
Check_This_Field,
|
INIT_FT_FUNC(Check_This_Field),
|
||||||
Check_This_Character,
|
INIT_FT_FUNC(Check_This_Character),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_This_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeTHIS;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_INTEGER = &typeTHIS;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_INTEGER(void)
|
||||||
|
{
|
||||||
|
return TYPE_INTEGER;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_int.c ends here */
|
/* fty_int.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2006,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_ipv4.c,v 1.8 2006/12/02 19:33:02 tom Exp $")
|
MODULE_ID("$Id: fty_ipv4.c,v 1.10 2009/11/07 20:17:58 tom Exp $")
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
@ -94,12 +94,27 @@ static FIELDTYPE typeIPV4 =
|
|||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
Check_IPV4_Field,
|
INIT_FT_FUNC(Check_IPV4_Field),
|
||||||
Check_IPV4_Character,
|
INIT_FT_FUNC(Check_IPV4_Character),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
NULL
|
NULL
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_IPV4 = &typeIPV4;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_IPV4(void)
|
||||||
|
{
|
||||||
|
return TYPE_IPV4;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_ipv4.c ends here */
|
/* fty_ipv4.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_num.c,v 1.25 2007/10/13 19:32:54 tom Exp $")
|
MODULE_ID("$Id: fty_num.c,v 1.28 2010/01/23 21:14:36 tom Exp $")
|
||||||
|
|
||||||
#if HAVE_LOCALE_H
|
#if HAVE_LOCALE_H
|
||||||
#include <locale.h>
|
#include <locale.h>
|
||||||
@ -63,6 +63,49 @@ typedef struct
|
|||||||
}
|
}
|
||||||
thisARG;
|
thisARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
}
|
||||||
|
thisPARM;
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_This_Type(void * arg)
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for numeric type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_This_Type(void *arg)
|
||||||
|
{
|
||||||
|
thisARG *argn = (thisARG *) 0;
|
||||||
|
thisPARM *args = (thisPARM *) arg;
|
||||||
|
|
||||||
|
if (args)
|
||||||
|
{
|
||||||
|
argn = typeMalloc(thisARG, 1);
|
||||||
|
|
||||||
|
if (argn)
|
||||||
|
{
|
||||||
|
T((T_CREATE("thisARG %p"), (void *)argn));
|
||||||
|
argn->precision = args->precision;
|
||||||
|
argn->low = args->low;
|
||||||
|
argn->high = args->high;
|
||||||
|
|
||||||
|
#if HAVE_LOCALE_H
|
||||||
|
argn->L = localeconv();
|
||||||
|
#else
|
||||||
|
argn->L = NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (void *)argn;
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_This_Type(va_list * ap)
|
| Function : static void *Make_This_Type(va_list * ap)
|
||||||
@ -74,22 +117,13 @@ thisARG;
|
|||||||
static void *
|
static void *
|
||||||
Make_This_Type(va_list *ap)
|
Make_This_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
thisARG *argn = typeMalloc(thisARG, 1);
|
thisPARM arg;
|
||||||
|
|
||||||
if (argn)
|
arg.precision = va_arg(*ap, int);
|
||||||
{
|
arg.low = va_arg(*ap, double);
|
||||||
T((T_CREATE("thisARG %p"), argn));
|
arg.high = va_arg(*ap, double);
|
||||||
argn->precision = va_arg(*ap, int);
|
|
||||||
argn->low = va_arg(*ap, double);
|
|
||||||
argn->high = va_arg(*ap, double);
|
|
||||||
|
|
||||||
#if HAVE_LOCALE_H
|
return Generic_This_Type((void *)&arg);
|
||||||
argn->L = localeconv();
|
|
||||||
#else
|
|
||||||
argn->L = NULL;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
return (void *)argn;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -111,7 +145,7 @@ Copy_This_Type(const void *argp)
|
|||||||
result = typeMalloc(thisARG, 1);
|
result = typeMalloc(thisARG, 1);
|
||||||
if (result)
|
if (result)
|
||||||
{
|
{
|
||||||
T((T_CREATE("thisARG %p"), result));
|
T((T_CREATE("thisARG %p"), (void *)result));
|
||||||
*result = *ap;
|
*result = *ap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -279,12 +313,27 @@ static FIELDTYPE typeTHIS =
|
|||||||
Make_This_Type,
|
Make_This_Type,
|
||||||
Copy_This_Type,
|
Copy_This_Type,
|
||||||
Free_This_Type,
|
Free_This_Type,
|
||||||
Check_This_Field,
|
INIT_FT_FUNC(Check_This_Field),
|
||||||
Check_This_Character,
|
INIT_FT_FUNC(Check_This_Character),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_This_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeTHIS;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_NUMERIC = &typeTHIS;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_NUMERIC(void)
|
||||||
|
{
|
||||||
|
return TYPE_NUMERIC;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_num.c ends here */
|
/* fty_num.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#include "form.priv.h"
|
#include "form.priv.h"
|
||||||
|
|
||||||
MODULE_ID("$Id: fty_regex.c,v 1.21 2007/10/13 19:33:50 tom Exp $")
|
MODULE_ID("$Id: fty_regex.c,v 1.24 2010/01/23 21:14:37 tom Exp $")
|
||||||
|
|
||||||
#if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */
|
#if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
@ -90,6 +90,116 @@ RegExp_Arg;
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS
|
||||||
|
# define MAYBE_UNUSED
|
||||||
|
#else
|
||||||
|
# define MAYBE_UNUSED GCC_UNUSED
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------------
|
||||||
|
| Facility : libnform
|
||||||
|
| Function : static void *Generic_RegularExpression_Type(void * arg)
|
||||||
|
|
|
||||||
|
| Description : Allocate structure for regex type argument.
|
||||||
|
|
|
||||||
|
| Return Values : Pointer to argument structure or NULL on error
|
||||||
|
+--------------------------------------------------------------------------*/
|
||||||
|
static void *
|
||||||
|
Generic_RegularExpression_Type(void *arg MAYBE_UNUSED)
|
||||||
|
{
|
||||||
|
#if HAVE_REGEX_H_FUNCS
|
||||||
|
char *rx = (char *)arg;
|
||||||
|
RegExp_Arg *preg = (RegExp_Arg *)0;
|
||||||
|
|
||||||
|
if (rx)
|
||||||
|
{
|
||||||
|
preg = typeMalloc(RegExp_Arg, 1);
|
||||||
|
|
||||||
|
if (preg)
|
||||||
|
{
|
||||||
|
T((T_CREATE("RegExp_Arg %p"), (void *)preg));
|
||||||
|
if (((preg->pRegExp = typeMalloc(regex_t, 1)) != 0)
|
||||||
|
&& !regcomp(preg->pRegExp, rx,
|
||||||
|
(REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
|
||||||
|
{
|
||||||
|
T((T_CREATE("regex_t %p"), (void *)preg->pRegExp));
|
||||||
|
preg->refCount = typeMalloc(unsigned long, 1);
|
||||||
|
|
||||||
|
*(preg->refCount) = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (preg->pRegExp)
|
||||||
|
free(preg->pRegExp);
|
||||||
|
free(preg);
|
||||||
|
preg = (RegExp_Arg *)0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return ((void *)preg);
|
||||||
|
#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS
|
||||||
|
char *rx = (char *)arg;
|
||||||
|
RegExp_Arg *pArg = (RegExp_Arg *)0;
|
||||||
|
|
||||||
|
if (rx)
|
||||||
|
{
|
||||||
|
pArg = typeMalloc(RegExp_Arg, 1);
|
||||||
|
|
||||||
|
if (pArg)
|
||||||
|
{
|
||||||
|
int blen = RX_INCREMENT;
|
||||||
|
|
||||||
|
T((T_CREATE("RegExp_Arg %p"), pArg));
|
||||||
|
pArg->compiled_expression = NULL;
|
||||||
|
pArg->refCount = typeMalloc(unsigned long, 1);
|
||||||
|
|
||||||
|
*(pArg->refCount) = 1;
|
||||||
|
|
||||||
|
do
|
||||||
|
{
|
||||||
|
char *buf = typeMalloc(char, blen);
|
||||||
|
|
||||||
|
if (buf)
|
||||||
|
{
|
||||||
|
#if HAVE_REGEXP_H_FUNCS
|
||||||
|
char *last_pos = compile(rx, buf, &buf[blen], '\0');
|
||||||
|
|
||||||
|
#else /* HAVE_REGEXPR_H_FUNCS */
|
||||||
|
char *last_pos = compile(rx, buf, &buf[blen]);
|
||||||
|
#endif
|
||||||
|
if (reg_errno)
|
||||||
|
{
|
||||||
|
free(buf);
|
||||||
|
if (reg_errno == 50)
|
||||||
|
blen += RX_INCREMENT;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
free(pArg);
|
||||||
|
pArg = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pArg->compiled_expression = buf;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (blen <= MAX_RX_LEN);
|
||||||
|
}
|
||||||
|
if (pArg && !pArg->compiled_expression)
|
||||||
|
{
|
||||||
|
free(pArg);
|
||||||
|
pArg = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (void *)pArg;
|
||||||
|
#else
|
||||||
|
return 0;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
| Facility : libnform
|
| Facility : libnform
|
||||||
| Function : static void *Make_RegularExpression_Type(va_list * ap)
|
| Function : static void *Make_RegularExpression_Type(va_list * ap)
|
||||||
@ -101,91 +211,9 @@ RegExp_Arg;
|
|||||||
static void *
|
static void *
|
||||||
Make_RegularExpression_Type(va_list *ap)
|
Make_RegularExpression_Type(va_list *ap)
|
||||||
{
|
{
|
||||||
#if HAVE_REGEX_H_FUNCS
|
|
||||||
char *rx = va_arg(*ap, char *);
|
char *rx = va_arg(*ap, char *);
|
||||||
RegExp_Arg *preg;
|
|
||||||
|
|
||||||
preg = typeMalloc(RegExp_Arg, 1);
|
return Generic_RegularExpression_Type((void *)rx);
|
||||||
|
|
||||||
if (preg)
|
|
||||||
{
|
|
||||||
T((T_CREATE("RegExp_Arg %p"), preg));
|
|
||||||
if (((preg->pRegExp = typeMalloc(regex_t, 1)) != 0)
|
|
||||||
&& !regcomp(preg->pRegExp, rx,
|
|
||||||
(REG_EXTENDED | REG_NOSUB | REG_NEWLINE)))
|
|
||||||
{
|
|
||||||
T((T_CREATE("regex_t %p"), preg->pRegExp));
|
|
||||||
preg->refCount = typeMalloc(unsigned long, 1);
|
|
||||||
|
|
||||||
*(preg->refCount) = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (preg->pRegExp)
|
|
||||||
free(preg->pRegExp);
|
|
||||||
free(preg);
|
|
||||||
preg = (RegExp_Arg *)0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ((void *)preg);
|
|
||||||
#elif HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS
|
|
||||||
char *rx = va_arg(*ap, char *);
|
|
||||||
RegExp_Arg *pArg;
|
|
||||||
|
|
||||||
pArg = typeMalloc(RegExp_Arg, 1);
|
|
||||||
|
|
||||||
if (pArg)
|
|
||||||
{
|
|
||||||
int blen = RX_INCREMENT;
|
|
||||||
|
|
||||||
T((T_CREATE("RegExp_Arg %p"), pArg));
|
|
||||||
pArg->compiled_expression = NULL;
|
|
||||||
pArg->refCount = typeMalloc(unsigned long, 1);
|
|
||||||
|
|
||||||
*(pArg->refCount) = 1;
|
|
||||||
|
|
||||||
do
|
|
||||||
{
|
|
||||||
char *buf = typeMalloc(char, blen);
|
|
||||||
|
|
||||||
if (buf)
|
|
||||||
{
|
|
||||||
#if HAVE_REGEXP_H_FUNCS
|
|
||||||
char *last_pos = compile(rx, buf, &buf[blen], '\0');
|
|
||||||
|
|
||||||
#else /* HAVE_REGEXPR_H_FUNCS */
|
|
||||||
char *last_pos = compile(rx, buf, &buf[blen]);
|
|
||||||
#endif
|
|
||||||
if (reg_errno)
|
|
||||||
{
|
|
||||||
free(buf);
|
|
||||||
if (reg_errno == 50)
|
|
||||||
blen += RX_INCREMENT;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
free(pArg);
|
|
||||||
pArg = NULL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pArg->compiled_expression = buf;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
while (blen <= MAX_RX_LEN);
|
|
||||||
}
|
|
||||||
if (pArg && !pArg->compiled_expression)
|
|
||||||
{
|
|
||||||
free(pArg);
|
|
||||||
pArg = NULL;
|
|
||||||
}
|
|
||||||
return (void *)pArg;
|
|
||||||
#else
|
|
||||||
return 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------
|
/*---------------------------------------------------------------------------
|
||||||
@ -198,7 +226,7 @@ Make_RegularExpression_Type(va_list *ap)
|
|||||||
| Return Values : Pointer to argument structure or NULL on error.
|
| Return Values : Pointer to argument structure or NULL on error.
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
static void *
|
static void *
|
||||||
Copy_RegularExpression_Type(const void *argp)
|
Copy_RegularExpression_Type(const void *argp MAYBE_UNUSED)
|
||||||
{
|
{
|
||||||
#if (HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS)
|
#if (HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS)
|
||||||
const RegExp_Arg *ap = (const RegExp_Arg *)argp;
|
const RegExp_Arg *ap = (const RegExp_Arg *)argp;
|
||||||
@ -224,7 +252,7 @@ Copy_RegularExpression_Type(const void *argp)
|
|||||||
| Return Values : -
|
| Return Values : -
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
static void
|
static void
|
||||||
Free_RegularExpression_Type(void *argp)
|
Free_RegularExpression_Type(void *argp MAYBE_UNUSED)
|
||||||
{
|
{
|
||||||
#if HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS
|
#if HAVE_REGEX_H_FUNCS | HAVE_REGEXP_H_FUNCS | HAVE_REGEXPR_H_FUNCS
|
||||||
RegExp_Arg *ap = (RegExp_Arg *)argp;
|
RegExp_Arg *ap = (RegExp_Arg *)argp;
|
||||||
@ -264,7 +292,8 @@ Free_RegularExpression_Type(void *argp)
|
|||||||
| FALSE - field is invalid
|
| FALSE - field is invalid
|
||||||
+--------------------------------------------------------------------------*/
|
+--------------------------------------------------------------------------*/
|
||||||
static bool
|
static bool
|
||||||
Check_RegularExpression_Field(FIELD *field, const void *argp)
|
Check_RegularExpression_Field(FIELD *field MAYBE_UNUSED,
|
||||||
|
const void *argp MAYBE_UNUSED)
|
||||||
{
|
{
|
||||||
bool match = FALSE;
|
bool match = FALSE;
|
||||||
|
|
||||||
@ -295,12 +324,27 @@ static FIELDTYPE typeREGEXP =
|
|||||||
Make_RegularExpression_Type,
|
Make_RegularExpression_Type,
|
||||||
Copy_RegularExpression_Type,
|
Copy_RegularExpression_Type,
|
||||||
Free_RegularExpression_Type,
|
Free_RegularExpression_Type,
|
||||||
Check_RegularExpression_Field,
|
INIT_FT_FUNC(Check_RegularExpression_Field),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL,
|
INIT_FT_FUNC(NULL),
|
||||||
NULL
|
INIT_FT_FUNC(NULL),
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
Generic_RegularExpression_Type
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
|
NCURSES_EXPORT_VAR(FIELDTYPE*) TYPE_REGEXP = &typeREGEXP;
|
||||||
|
|
||||||
|
#if NCURSES_INTEROP_FUNCS
|
||||||
|
/* The next routines are to simplify the use of ncurses from
|
||||||
|
programming languages with restictions on interop with C level
|
||||||
|
constructs (e.g. variable access or va_list + ellipsis constructs)
|
||||||
|
*/
|
||||||
|
NCURSES_EXPORT(FIELDTYPE *)
|
||||||
|
_nc_TYPE_REGEXP(void)
|
||||||
|
{
|
||||||
|
return TYPE_REGEXP;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* fty_regex.c ends here */
|
/* fty_regex.c ends here */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -27,13 +27,13 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Thomas E. Dickey 1996,1997,2002,2005 *
|
* Author: Thomas E. Dickey 1996-2005,2010 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/* LINTLIBRARY */
|
/* LINTLIBRARY */
|
||||||
|
|
||||||
/* ./f_trace.c */
|
/* ./f_trace.c */
|
||||||
|
|
||||||
#include "form.priv.h"
|
#include <form.priv.h>
|
||||||
|
|
||||||
#undef _nc_retrace_field_ptr
|
#undef _nc_retrace_field_ptr
|
||||||
FIELD **_nc_retrace_field_ptr(
|
FIELD **_nc_retrace_field_ptr(
|
||||||
@ -264,7 +264,7 @@ int move_field(
|
|||||||
/* ./fld_newftyp.c */
|
/* ./fld_newftyp.c */
|
||||||
|
|
||||||
#undef _nc_Default_FieldType
|
#undef _nc_Default_FieldType
|
||||||
const FIELDTYPE *_nc_Default_FieldType = {0};
|
FIELDTYPE *_nc_Default_FieldType;
|
||||||
|
|
||||||
#undef new_fieldtype
|
#undef new_fieldtype
|
||||||
FIELDTYPE *new_fieldtype(
|
FIELDTYPE *new_fieldtype(
|
||||||
@ -396,6 +396,12 @@ NCURSES_BOOL data_ahead(
|
|||||||
#undef _nc_Default_Form
|
#undef _nc_Default_Form
|
||||||
FORM *_nc_Default_Form;
|
FORM *_nc_Default_Form;
|
||||||
|
|
||||||
|
#undef new_form_sp
|
||||||
|
FORM *new_form_sp(
|
||||||
|
SCREEN *sp,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
#undef new_form
|
#undef new_form
|
||||||
FORM *new_form(
|
FORM *new_form(
|
||||||
FIELD **fields)
|
FIELD **fields)
|
||||||
@ -424,6 +430,13 @@ int field_count(
|
|||||||
|
|
||||||
/* ./frm_driver.c */
|
/* ./frm_driver.c */
|
||||||
|
|
||||||
|
#undef _nc_get_fieldbuffer
|
||||||
|
void _nc_get_fieldbuffer(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field,
|
||||||
|
char *buf)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
#undef _nc_Position_Form_Cursor
|
#undef _nc_Position_Form_Cursor
|
||||||
int _nc_Position_Form_Cursor(
|
int _nc_Position_Form_Cursor(
|
||||||
FORM *form)
|
FORM *form)
|
||||||
@ -683,9 +696,23 @@ typedef struct
|
|||||||
}
|
}
|
||||||
enumARG;
|
enumARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int ccase;
|
||||||
|
int cunique;
|
||||||
|
}
|
||||||
|
enumParams;
|
||||||
|
|
||||||
#undef TYPE_ENUM
|
#undef TYPE_ENUM
|
||||||
FIELDTYPE *TYPE_ENUM;
|
FIELDTYPE *TYPE_ENUM;
|
||||||
|
|
||||||
|
/* ./fty_generic.c */
|
||||||
|
|
||||||
|
#undef _nc_fty_generic
|
||||||
|
void _nc_fty_generic(void)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
/* ./fty_int.c */
|
/* ./fty_int.c */
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@ -696,6 +723,14 @@ typedef struct
|
|||||||
}
|
}
|
||||||
integerARG;
|
integerARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerPARM;
|
||||||
|
|
||||||
#undef TYPE_INTEGER
|
#undef TYPE_INTEGER
|
||||||
FIELDTYPE *TYPE_INTEGER;
|
FIELDTYPE *TYPE_INTEGER;
|
||||||
|
|
||||||
@ -716,6 +751,14 @@ typedef struct
|
|||||||
}
|
}
|
||||||
numericARG;
|
numericARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
}
|
||||||
|
thisPARM;
|
||||||
|
|
||||||
#undef TYPE_NUMERIC
|
#undef TYPE_NUMERIC
|
||||||
FIELDTYPE *TYPE_NUMERIC;
|
FIELDTYPE *TYPE_NUMERIC;
|
||||||
|
|
||||||
|
777
contrib/ncurses/form/llib-lformt
Normal file
777
contrib/ncurses/form/llib-lformt
Normal file
@ -0,0 +1,777 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Copyright (c) 2010 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 2010 *
|
||||||
|
****************************************************************************/
|
||||||
|
/* LINTLIBRARY */
|
||||||
|
|
||||||
|
/* ./f_trace.c */
|
||||||
|
|
||||||
|
#include <form.priv.h>
|
||||||
|
|
||||||
|
#undef _nc_retrace_field_ptr
|
||||||
|
FIELD **_nc_retrace_field_ptr(
|
||||||
|
FIELD **code)
|
||||||
|
{ return(*(FIELD ***)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_field
|
||||||
|
FIELD *_nc_retrace_field(
|
||||||
|
FIELD *code)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_field_type
|
||||||
|
FIELDTYPE *_nc_retrace_field_type(
|
||||||
|
FIELDTYPE *code)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_form
|
||||||
|
FORM *_nc_retrace_form(
|
||||||
|
FORM *code)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_form_hook
|
||||||
|
Form_Hook _nc_retrace_form_hook(
|
||||||
|
Form_Hook code)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
/* ./fld_arg.c */
|
||||||
|
|
||||||
|
#undef set_fieldtype_arg
|
||||||
|
int set_fieldtype_arg(
|
||||||
|
FIELDTYPE *typ,
|
||||||
|
void *(*const make_arg)(
|
||||||
|
va_list *p1),
|
||||||
|
void *(*const copy_arg)(
|
||||||
|
const void *p1),
|
||||||
|
void (*const free_arg)(
|
||||||
|
void *p1))
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_arg
|
||||||
|
void *field_arg(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./fld_attr.c */
|
||||||
|
|
||||||
|
#undef set_field_fore
|
||||||
|
int set_field_fore(
|
||||||
|
FIELD *field,
|
||||||
|
chtype attr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_fore
|
||||||
|
chtype field_fore(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(chtype *)0); }
|
||||||
|
|
||||||
|
#undef set_field_back
|
||||||
|
int set_field_back(
|
||||||
|
FIELD *field,
|
||||||
|
chtype attr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_back
|
||||||
|
chtype field_back(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(chtype *)0); }
|
||||||
|
|
||||||
|
/* ./fld_current.c */
|
||||||
|
|
||||||
|
#undef set_current_field
|
||||||
|
int set_current_field(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef current_field
|
||||||
|
FIELD *current_field(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef field_index
|
||||||
|
int field_index(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_def.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_Field
|
||||||
|
FIELD *_nc_Default_Field;
|
||||||
|
|
||||||
|
#undef _nc_Make_Argument
|
||||||
|
TypeArgument *_nc_Make_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
va_list *ap,
|
||||||
|
int *err)
|
||||||
|
{ return(*(TypeArgument **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Copy_Argument
|
||||||
|
TypeArgument *_nc_Copy_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
const TypeArgument *argp,
|
||||||
|
int *err)
|
||||||
|
{ return(*(TypeArgument **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Free_Argument
|
||||||
|
void _nc_Free_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
TypeArgument *argp)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef _nc_Copy_Type
|
||||||
|
NCURSES_BOOL _nc_Copy_Type(
|
||||||
|
FIELD *dst,
|
||||||
|
FIELD const *src)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Free_Type
|
||||||
|
void _nc_Free_Type(
|
||||||
|
FIELD *field)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef new_field
|
||||||
|
FIELD *new_field(
|
||||||
|
int rows,
|
||||||
|
int cols,
|
||||||
|
int frow,
|
||||||
|
int fcol,
|
||||||
|
int nrow,
|
||||||
|
int nbuf)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef free_field
|
||||||
|
int free_field(
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_dup.c */
|
||||||
|
|
||||||
|
#undef dup_field
|
||||||
|
FIELD *dup_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
/* ./fld_ftchoice.c */
|
||||||
|
|
||||||
|
#undef set_fieldtype_choice
|
||||||
|
int set_fieldtype_choice(
|
||||||
|
FIELDTYPE *typ,
|
||||||
|
NCURSES_BOOL (*const next_choice)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2),
|
||||||
|
NCURSES_BOOL (*const prev_choice)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2))
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_ftlink.c */
|
||||||
|
|
||||||
|
#undef link_fieldtype
|
||||||
|
FIELDTYPE *link_fieldtype(
|
||||||
|
FIELDTYPE *type1,
|
||||||
|
FIELDTYPE *type2)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
/* ./fld_info.c */
|
||||||
|
|
||||||
|
#undef field_info
|
||||||
|
int field_info(
|
||||||
|
const FIELD *field,
|
||||||
|
int *rows,
|
||||||
|
int *cols,
|
||||||
|
int *frow,
|
||||||
|
int *fcol,
|
||||||
|
int *nrow,
|
||||||
|
int *nbuf)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef dynamic_field_info
|
||||||
|
int dynamic_field_info(
|
||||||
|
const FIELD *field,
|
||||||
|
int *drows,
|
||||||
|
int *dcols,
|
||||||
|
int *maxgrow)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_just.c */
|
||||||
|
|
||||||
|
#undef set_field_just
|
||||||
|
int set_field_just(
|
||||||
|
FIELD *field,
|
||||||
|
int just)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_just
|
||||||
|
int field_just(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_link.c */
|
||||||
|
|
||||||
|
#undef link_field
|
||||||
|
FIELD *link_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
/* ./fld_max.c */
|
||||||
|
|
||||||
|
#undef set_max_field
|
||||||
|
int set_max_field(
|
||||||
|
FIELD *field,
|
||||||
|
int maxgrow)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_move.c */
|
||||||
|
|
||||||
|
#undef move_field
|
||||||
|
int move_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_newftyp.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_FieldType
|
||||||
|
FIELDTYPE *_nc_Default_FieldType;
|
||||||
|
|
||||||
|
#undef new_fieldtype
|
||||||
|
FIELDTYPE *new_fieldtype(
|
||||||
|
NCURSES_BOOL (*const field_check)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2),
|
||||||
|
NCURSES_BOOL (*const char_check)(
|
||||||
|
int p1,
|
||||||
|
const void *p2))
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
#undef free_fieldtype
|
||||||
|
int free_fieldtype(
|
||||||
|
FIELDTYPE *typ)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_opts.c */
|
||||||
|
|
||||||
|
#undef set_field_opts
|
||||||
|
int set_field_opts(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_opts
|
||||||
|
Field_Options field_opts(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(Field_Options *)0); }
|
||||||
|
|
||||||
|
#undef field_opts_on
|
||||||
|
int field_opts_on(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_opts_off
|
||||||
|
int field_opts_off(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_pad.c */
|
||||||
|
|
||||||
|
#undef set_field_pad
|
||||||
|
int set_field_pad(
|
||||||
|
FIELD *field,
|
||||||
|
int ch)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_pad
|
||||||
|
int field_pad(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_page.c */
|
||||||
|
|
||||||
|
#undef set_new_page
|
||||||
|
int set_new_page(
|
||||||
|
FIELD *field,
|
||||||
|
NCURSES_BOOL new_page_flag)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef new_page
|
||||||
|
NCURSES_BOOL new_page(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./fld_stat.c */
|
||||||
|
|
||||||
|
#undef set_field_status
|
||||||
|
int set_field_status(
|
||||||
|
FIELD *field,
|
||||||
|
NCURSES_BOOL status)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_status
|
||||||
|
NCURSES_BOOL field_status(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./fld_type.c */
|
||||||
|
|
||||||
|
#undef set_field_type
|
||||||
|
int set_field_type(
|
||||||
|
FIELD *field,
|
||||||
|
FIELDTYPE *type,
|
||||||
|
...)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_type
|
||||||
|
FIELDTYPE *field_type(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
/* ./fld_user.c */
|
||||||
|
|
||||||
|
#undef set_field_userptr
|
||||||
|
int set_field_userptr(
|
||||||
|
FIELD *field,
|
||||||
|
void *usrptr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_userptr
|
||||||
|
void *field_userptr(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./frm_cursor.c */
|
||||||
|
|
||||||
|
#undef pos_form_cursor
|
||||||
|
int pos_form_cursor(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_data.c */
|
||||||
|
|
||||||
|
#undef data_behind
|
||||||
|
NCURSES_BOOL data_behind(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef data_ahead
|
||||||
|
NCURSES_BOOL data_ahead(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./frm_def.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_Form
|
||||||
|
FORM *_nc_Default_Form;
|
||||||
|
|
||||||
|
#undef new_form_sp
|
||||||
|
FORM *new_form_sp(
|
||||||
|
SCREEN *sp,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef new_form
|
||||||
|
FORM *new_form(
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef free_form
|
||||||
|
int free_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef set_form_fields
|
||||||
|
int set_form_fields(
|
||||||
|
FORM *form,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_fields
|
||||||
|
FIELD **form_fields(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(FIELD ***)0); }
|
||||||
|
|
||||||
|
#undef field_count
|
||||||
|
int field_count(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_driver.c */
|
||||||
|
|
||||||
|
#undef _nc_get_fieldbuffer
|
||||||
|
void _nc_get_fieldbuffer(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field,
|
||||||
|
char *buf)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef _nc_Position_Form_Cursor
|
||||||
|
int _nc_Position_Form_Cursor(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Refresh_Current_Field
|
||||||
|
int _nc_Refresh_Current_Field(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Synchronize_Attributes
|
||||||
|
int _nc_Synchronize_Attributes(
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Synchronize_Options
|
||||||
|
int _nc_Synchronize_Options(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options newopts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Set_Current_Field
|
||||||
|
int _nc_Set_Current_Field(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *newfield)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Internal_Validation
|
||||||
|
NCURSES_BOOL _nc_Internal_Validation(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef _nc_First_Active_Field
|
||||||
|
FIELD *_nc_First_Active_Field(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Set_Form_Page
|
||||||
|
int _nc_Set_Form_Page(
|
||||||
|
FORM *form,
|
||||||
|
int page,
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int keycode;
|
||||||
|
int (*cmd) (FORM *);
|
||||||
|
}
|
||||||
|
Binding_Info;
|
||||||
|
|
||||||
|
#undef form_driver
|
||||||
|
int form_driver(
|
||||||
|
FORM *form,
|
||||||
|
int c)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef set_field_buffer
|
||||||
|
int set_field_buffer(
|
||||||
|
FIELD *field,
|
||||||
|
int buffer,
|
||||||
|
const char *value)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_buffer
|
||||||
|
char *field_buffer(
|
||||||
|
const FIELD *field,
|
||||||
|
int buffer)
|
||||||
|
{ return(*(char **)0); }
|
||||||
|
|
||||||
|
/* ./frm_hook.c */
|
||||||
|
|
||||||
|
#undef set_field_init
|
||||||
|
int set_field_init(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_init
|
||||||
|
Form_Hook field_init(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_field_term
|
||||||
|
int set_field_term(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_term
|
||||||
|
Form_Hook field_term(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_form_init
|
||||||
|
int set_form_init(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_init
|
||||||
|
Form_Hook form_init(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_form_term
|
||||||
|
int set_form_term(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_term
|
||||||
|
Form_Hook form_term(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
/* ./frm_opts.c */
|
||||||
|
|
||||||
|
#undef set_form_opts
|
||||||
|
int set_form_opts(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_opts
|
||||||
|
Form_Options form_opts(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Options *)0); }
|
||||||
|
|
||||||
|
#undef form_opts_on
|
||||||
|
int form_opts_on(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_opts_off
|
||||||
|
int form_opts_off(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_page.c */
|
||||||
|
|
||||||
|
#undef set_form_page
|
||||||
|
int set_form_page(
|
||||||
|
FORM *form,
|
||||||
|
int page)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_page
|
||||||
|
int form_page(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_post.c */
|
||||||
|
|
||||||
|
#undef post_form
|
||||||
|
int post_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef unpost_form
|
||||||
|
int unpost_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_req_name.c */
|
||||||
|
|
||||||
|
#undef form_request_name
|
||||||
|
const char *form_request_name(
|
||||||
|
int request)
|
||||||
|
{ return(*(const char **)0); }
|
||||||
|
|
||||||
|
#undef form_request_by_name
|
||||||
|
int form_request_by_name(
|
||||||
|
const char *str)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_scale.c */
|
||||||
|
|
||||||
|
#undef scale_form
|
||||||
|
int scale_form(
|
||||||
|
const FORM *form,
|
||||||
|
int *rows,
|
||||||
|
int *cols)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_sub.c */
|
||||||
|
|
||||||
|
#undef set_form_sub
|
||||||
|
int set_form_sub(
|
||||||
|
FORM *form,
|
||||||
|
WINDOW *win)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_sub
|
||||||
|
WINDOW *form_sub(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(WINDOW **)0); }
|
||||||
|
|
||||||
|
/* ./frm_user.c */
|
||||||
|
|
||||||
|
#undef set_form_userptr
|
||||||
|
int set_form_userptr(
|
||||||
|
FORM *form,
|
||||||
|
void *usrptr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_userptr
|
||||||
|
void *form_userptr(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./frm_win.c */
|
||||||
|
|
||||||
|
#undef set_form_win
|
||||||
|
int set_form_win(
|
||||||
|
FORM *form,
|
||||||
|
WINDOW *win)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_win
|
||||||
|
WINDOW *form_win(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(WINDOW **)0); }
|
||||||
|
|
||||||
|
/* ./fty_alnum.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int width;
|
||||||
|
}
|
||||||
|
alnumARG;
|
||||||
|
|
||||||
|
#undef TYPE_ALNUM
|
||||||
|
FIELDTYPE *TYPE_ALNUM;
|
||||||
|
|
||||||
|
/* ./fty_alpha.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int width;
|
||||||
|
}
|
||||||
|
alphaARG;
|
||||||
|
|
||||||
|
#undef TYPE_ALPHA
|
||||||
|
FIELDTYPE *TYPE_ALPHA;
|
||||||
|
|
||||||
|
/* ./fty_enum.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int count;
|
||||||
|
NCURSES_BOOL checkcase;
|
||||||
|
NCURSES_BOOL checkunique;
|
||||||
|
}
|
||||||
|
enumARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int ccase;
|
||||||
|
int cunique;
|
||||||
|
}
|
||||||
|
enumParams;
|
||||||
|
|
||||||
|
#undef TYPE_ENUM
|
||||||
|
FIELDTYPE *TYPE_ENUM;
|
||||||
|
|
||||||
|
/* ./fty_generic.c */
|
||||||
|
|
||||||
|
#undef _nc_fty_generic
|
||||||
|
void _nc_fty_generic(void)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
/* ./fty_int.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerPARM;
|
||||||
|
|
||||||
|
#undef TYPE_INTEGER
|
||||||
|
FIELDTYPE *TYPE_INTEGER;
|
||||||
|
|
||||||
|
/* ./fty_ipv4.c */
|
||||||
|
#undef TYPE_IPV4
|
||||||
|
FIELDTYPE *TYPE_IPV4;
|
||||||
|
|
||||||
|
/* ./fty_num.c */
|
||||||
|
|
||||||
|
#include <locale.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
struct lconv *L;
|
||||||
|
}
|
||||||
|
numericARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
}
|
||||||
|
thisPARM;
|
||||||
|
|
||||||
|
#undef TYPE_NUMERIC
|
||||||
|
FIELDTYPE *TYPE_NUMERIC;
|
||||||
|
|
||||||
|
/* ./fty_regex.c */
|
||||||
|
|
||||||
|
#include <regex.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
regex_t *pRegExp;
|
||||||
|
unsigned long *refCount;
|
||||||
|
}
|
||||||
|
RegExp_Arg;
|
||||||
|
|
||||||
|
#undef TYPE_REGEXP
|
||||||
|
FIELDTYPE *TYPE_REGEXP;
|
783
contrib/ncurses/form/llib-lformtw
Normal file
783
contrib/ncurses/form/llib-lformtw
Normal file
@ -0,0 +1,783 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Copyright (c) 2010 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 2010 *
|
||||||
|
****************************************************************************/
|
||||||
|
/* LINTLIBRARY */
|
||||||
|
|
||||||
|
/* ./f_trace.c */
|
||||||
|
|
||||||
|
#include <form.priv.h>
|
||||||
|
|
||||||
|
#undef _nc_retrace_field_ptr
|
||||||
|
FIELD **_nc_retrace_field_ptr(
|
||||||
|
FIELD **code)
|
||||||
|
{ return(*(FIELD ***)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_field
|
||||||
|
FIELD *_nc_retrace_field(
|
||||||
|
FIELD *code)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_field_type
|
||||||
|
FIELDTYPE *_nc_retrace_field_type(
|
||||||
|
FIELDTYPE *code)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_form
|
||||||
|
FORM *_nc_retrace_form(
|
||||||
|
FORM *code)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef _nc_retrace_form_hook
|
||||||
|
Form_Hook _nc_retrace_form_hook(
|
||||||
|
Form_Hook code)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
/* ./fld_arg.c */
|
||||||
|
|
||||||
|
#undef set_fieldtype_arg
|
||||||
|
int set_fieldtype_arg(
|
||||||
|
FIELDTYPE *typ,
|
||||||
|
void *(*const make_arg)(
|
||||||
|
va_list *p1),
|
||||||
|
void *(*const copy_arg)(
|
||||||
|
const void *p1),
|
||||||
|
void (*const free_arg)(
|
||||||
|
void *p1))
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_arg
|
||||||
|
void *field_arg(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./fld_attr.c */
|
||||||
|
|
||||||
|
#undef set_field_fore
|
||||||
|
int set_field_fore(
|
||||||
|
FIELD *field,
|
||||||
|
chtype attr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_fore
|
||||||
|
chtype field_fore(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(chtype *)0); }
|
||||||
|
|
||||||
|
#undef set_field_back
|
||||||
|
int set_field_back(
|
||||||
|
FIELD *field,
|
||||||
|
chtype attr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_back
|
||||||
|
chtype field_back(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(chtype *)0); }
|
||||||
|
|
||||||
|
/* ./fld_current.c */
|
||||||
|
|
||||||
|
#undef set_current_field
|
||||||
|
int set_current_field(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef current_field
|
||||||
|
FIELD *current_field(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef field_index
|
||||||
|
int field_index(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_def.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_Field
|
||||||
|
FIELD *_nc_Default_Field;
|
||||||
|
|
||||||
|
#undef _nc_Make_Argument
|
||||||
|
TypeArgument *_nc_Make_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
va_list *ap,
|
||||||
|
int *err)
|
||||||
|
{ return(*(TypeArgument **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Copy_Argument
|
||||||
|
TypeArgument *_nc_Copy_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
const TypeArgument *argp,
|
||||||
|
int *err)
|
||||||
|
{ return(*(TypeArgument **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Free_Argument
|
||||||
|
void _nc_Free_Argument(
|
||||||
|
const FIELDTYPE *typ,
|
||||||
|
TypeArgument *argp)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef _nc_Copy_Type
|
||||||
|
NCURSES_BOOL _nc_Copy_Type(
|
||||||
|
FIELD *dst,
|
||||||
|
FIELD const *src)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Free_Type
|
||||||
|
void _nc_Free_Type(
|
||||||
|
FIELD *field)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef new_field
|
||||||
|
FIELD *new_field(
|
||||||
|
int rows,
|
||||||
|
int cols,
|
||||||
|
int frow,
|
||||||
|
int fcol,
|
||||||
|
int nrow,
|
||||||
|
int nbuf)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef free_field
|
||||||
|
int free_field(
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_dup.c */
|
||||||
|
|
||||||
|
#undef dup_field
|
||||||
|
FIELD *dup_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
/* ./fld_ftchoice.c */
|
||||||
|
|
||||||
|
#undef set_fieldtype_choice
|
||||||
|
int set_fieldtype_choice(
|
||||||
|
FIELDTYPE *typ,
|
||||||
|
NCURSES_BOOL (*const next_choice)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2),
|
||||||
|
NCURSES_BOOL (*const prev_choice)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2))
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_ftlink.c */
|
||||||
|
|
||||||
|
#undef link_fieldtype
|
||||||
|
FIELDTYPE *link_fieldtype(
|
||||||
|
FIELDTYPE *type1,
|
||||||
|
FIELDTYPE *type2)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
/* ./fld_info.c */
|
||||||
|
|
||||||
|
#undef field_info
|
||||||
|
int field_info(
|
||||||
|
const FIELD *field,
|
||||||
|
int *rows,
|
||||||
|
int *cols,
|
||||||
|
int *frow,
|
||||||
|
int *fcol,
|
||||||
|
int *nrow,
|
||||||
|
int *nbuf)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef dynamic_field_info
|
||||||
|
int dynamic_field_info(
|
||||||
|
const FIELD *field,
|
||||||
|
int *drows,
|
||||||
|
int *dcols,
|
||||||
|
int *maxgrow)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_just.c */
|
||||||
|
|
||||||
|
#undef set_field_just
|
||||||
|
int set_field_just(
|
||||||
|
FIELD *field,
|
||||||
|
int just)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_just
|
||||||
|
int field_just(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_link.c */
|
||||||
|
|
||||||
|
#undef link_field
|
||||||
|
FIELD *link_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
/* ./fld_max.c */
|
||||||
|
|
||||||
|
#undef set_max_field
|
||||||
|
int set_max_field(
|
||||||
|
FIELD *field,
|
||||||
|
int maxgrow)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_move.c */
|
||||||
|
|
||||||
|
#undef move_field
|
||||||
|
int move_field(
|
||||||
|
FIELD *field,
|
||||||
|
int frow,
|
||||||
|
int fcol)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_newftyp.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_FieldType
|
||||||
|
FIELDTYPE *_nc_Default_FieldType;
|
||||||
|
|
||||||
|
#undef new_fieldtype
|
||||||
|
FIELDTYPE *new_fieldtype(
|
||||||
|
NCURSES_BOOL (*const field_check)(
|
||||||
|
FIELD *p1,
|
||||||
|
const void *p2),
|
||||||
|
NCURSES_BOOL (*const char_check)(
|
||||||
|
int p1,
|
||||||
|
const void *p2))
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
#undef free_fieldtype
|
||||||
|
int free_fieldtype(
|
||||||
|
FIELDTYPE *typ)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_opts.c */
|
||||||
|
|
||||||
|
#undef set_field_opts
|
||||||
|
int set_field_opts(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_opts
|
||||||
|
Field_Options field_opts(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(Field_Options *)0); }
|
||||||
|
|
||||||
|
#undef field_opts_on
|
||||||
|
int field_opts_on(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_opts_off
|
||||||
|
int field_opts_off(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_pad.c */
|
||||||
|
|
||||||
|
#undef set_field_pad
|
||||||
|
int set_field_pad(
|
||||||
|
FIELD *field,
|
||||||
|
int ch)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_pad
|
||||||
|
int field_pad(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./fld_page.c */
|
||||||
|
|
||||||
|
#undef set_new_page
|
||||||
|
int set_new_page(
|
||||||
|
FIELD *field,
|
||||||
|
NCURSES_BOOL new_page_flag)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef new_page
|
||||||
|
NCURSES_BOOL new_page(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./fld_stat.c */
|
||||||
|
|
||||||
|
#undef set_field_status
|
||||||
|
int set_field_status(
|
||||||
|
FIELD *field,
|
||||||
|
NCURSES_BOOL status)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_status
|
||||||
|
NCURSES_BOOL field_status(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./fld_type.c */
|
||||||
|
|
||||||
|
#undef set_field_type
|
||||||
|
int set_field_type(
|
||||||
|
FIELD *field,
|
||||||
|
FIELDTYPE *type,
|
||||||
|
...)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_type
|
||||||
|
FIELDTYPE *field_type(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(FIELDTYPE **)0); }
|
||||||
|
|
||||||
|
/* ./fld_user.c */
|
||||||
|
|
||||||
|
#undef set_field_userptr
|
||||||
|
int set_field_userptr(
|
||||||
|
FIELD *field,
|
||||||
|
void *usrptr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_userptr
|
||||||
|
void *field_userptr(
|
||||||
|
const FIELD *field)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./frm_cursor.c */
|
||||||
|
|
||||||
|
#undef pos_form_cursor
|
||||||
|
int pos_form_cursor(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_data.c */
|
||||||
|
|
||||||
|
#undef data_behind
|
||||||
|
NCURSES_BOOL data_behind(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef data_ahead
|
||||||
|
NCURSES_BOOL data_ahead(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
/* ./frm_def.c */
|
||||||
|
|
||||||
|
#undef _nc_Default_Form
|
||||||
|
FORM *_nc_Default_Form;
|
||||||
|
|
||||||
|
#undef new_form_sp
|
||||||
|
FORM *new_form_sp(
|
||||||
|
SCREEN *sp,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef new_form
|
||||||
|
FORM *new_form(
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
|
#undef free_form
|
||||||
|
int free_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef set_form_fields
|
||||||
|
int set_form_fields(
|
||||||
|
FORM *form,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_fields
|
||||||
|
FIELD **form_fields(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(FIELD ***)0); }
|
||||||
|
|
||||||
|
#undef field_count
|
||||||
|
int field_count(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_driver.c */
|
||||||
|
|
||||||
|
#undef _nc_get_fieldbuffer
|
||||||
|
void _nc_get_fieldbuffer(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field,
|
||||||
|
cchar_t *buf)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
#undef _nc_Position_Form_Cursor
|
||||||
|
int _nc_Position_Form_Cursor(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Refresh_Current_Field
|
||||||
|
int _nc_Refresh_Current_Field(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Synchronize_Attributes
|
||||||
|
int _nc_Synchronize_Attributes(
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Synchronize_Options
|
||||||
|
int _nc_Synchronize_Options(
|
||||||
|
FIELD *field,
|
||||||
|
Field_Options newopts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Set_Current_Field
|
||||||
|
int _nc_Set_Current_Field(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *newfield)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef _nc_Internal_Validation
|
||||||
|
NCURSES_BOOL _nc_Internal_Validation(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(NCURSES_BOOL *)0); }
|
||||||
|
|
||||||
|
#undef _nc_First_Active_Field
|
||||||
|
FIELD *_nc_First_Active_Field(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(FIELD **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Set_Form_Page
|
||||||
|
int _nc_Set_Form_Page(
|
||||||
|
FORM *form,
|
||||||
|
int page,
|
||||||
|
FIELD *field)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int keycode;
|
||||||
|
int (*cmd) (FORM *);
|
||||||
|
}
|
||||||
|
Binding_Info;
|
||||||
|
|
||||||
|
#undef form_driver
|
||||||
|
int form_driver(
|
||||||
|
FORM *form,
|
||||||
|
int c)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef set_field_buffer
|
||||||
|
int set_field_buffer(
|
||||||
|
FIELD *field,
|
||||||
|
int buffer,
|
||||||
|
const char *value)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_buffer
|
||||||
|
char *field_buffer(
|
||||||
|
const FIELD *field,
|
||||||
|
int buffer)
|
||||||
|
{ return(*(char **)0); }
|
||||||
|
|
||||||
|
#undef _nc_Widen_String
|
||||||
|
wchar_t *_nc_Widen_String(
|
||||||
|
char *source,
|
||||||
|
int *lengthp)
|
||||||
|
{ return(*(wchar_t **)0); }
|
||||||
|
|
||||||
|
/* ./frm_hook.c */
|
||||||
|
|
||||||
|
#undef set_field_init
|
||||||
|
int set_field_init(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_init
|
||||||
|
Form_Hook field_init(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_field_term
|
||||||
|
int set_field_term(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef field_term
|
||||||
|
Form_Hook field_term(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_form_init
|
||||||
|
int set_form_init(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_init
|
||||||
|
Form_Hook form_init(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
#undef set_form_term
|
||||||
|
int set_form_term(
|
||||||
|
FORM *form,
|
||||||
|
Form_Hook func)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_term
|
||||||
|
Form_Hook form_term(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Hook *)0); }
|
||||||
|
|
||||||
|
/* ./frm_opts.c */
|
||||||
|
|
||||||
|
#undef set_form_opts
|
||||||
|
int set_form_opts(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_opts
|
||||||
|
Form_Options form_opts(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(Form_Options *)0); }
|
||||||
|
|
||||||
|
#undef form_opts_on
|
||||||
|
int form_opts_on(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_opts_off
|
||||||
|
int form_opts_off(
|
||||||
|
FORM *form,
|
||||||
|
Form_Options opts)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_page.c */
|
||||||
|
|
||||||
|
#undef set_form_page
|
||||||
|
int set_form_page(
|
||||||
|
FORM *form,
|
||||||
|
int page)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_page
|
||||||
|
int form_page(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_post.c */
|
||||||
|
|
||||||
|
#undef post_form
|
||||||
|
int post_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef unpost_form
|
||||||
|
int unpost_form(
|
||||||
|
FORM *form)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_req_name.c */
|
||||||
|
|
||||||
|
#undef form_request_name
|
||||||
|
const char *form_request_name(
|
||||||
|
int request)
|
||||||
|
{ return(*(const char **)0); }
|
||||||
|
|
||||||
|
#undef form_request_by_name
|
||||||
|
int form_request_by_name(
|
||||||
|
const char *str)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_scale.c */
|
||||||
|
|
||||||
|
#undef scale_form
|
||||||
|
int scale_form(
|
||||||
|
const FORM *form,
|
||||||
|
int *rows,
|
||||||
|
int *cols)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
/* ./frm_sub.c */
|
||||||
|
|
||||||
|
#undef set_form_sub
|
||||||
|
int set_form_sub(
|
||||||
|
FORM *form,
|
||||||
|
WINDOW *win)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_sub
|
||||||
|
WINDOW *form_sub(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(WINDOW **)0); }
|
||||||
|
|
||||||
|
/* ./frm_user.c */
|
||||||
|
|
||||||
|
#undef set_form_userptr
|
||||||
|
int set_form_userptr(
|
||||||
|
FORM *form,
|
||||||
|
void *usrptr)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_userptr
|
||||||
|
void *form_userptr(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(void **)0); }
|
||||||
|
|
||||||
|
/* ./frm_win.c */
|
||||||
|
|
||||||
|
#undef set_form_win
|
||||||
|
int set_form_win(
|
||||||
|
FORM *form,
|
||||||
|
WINDOW *win)
|
||||||
|
{ return(*(int *)0); }
|
||||||
|
|
||||||
|
#undef form_win
|
||||||
|
WINDOW *form_win(
|
||||||
|
const FORM *form)
|
||||||
|
{ return(*(WINDOW **)0); }
|
||||||
|
|
||||||
|
/* ./fty_alnum.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int width;
|
||||||
|
}
|
||||||
|
alnumARG;
|
||||||
|
|
||||||
|
#undef TYPE_ALNUM
|
||||||
|
FIELDTYPE *TYPE_ALNUM;
|
||||||
|
|
||||||
|
/* ./fty_alpha.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int width;
|
||||||
|
}
|
||||||
|
alphaARG;
|
||||||
|
|
||||||
|
#undef TYPE_ALPHA
|
||||||
|
FIELDTYPE *TYPE_ALPHA;
|
||||||
|
|
||||||
|
/* ./fty_enum.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int count;
|
||||||
|
NCURSES_BOOL checkcase;
|
||||||
|
NCURSES_BOOL checkunique;
|
||||||
|
}
|
||||||
|
enumARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int ccase;
|
||||||
|
int cunique;
|
||||||
|
}
|
||||||
|
enumParams;
|
||||||
|
|
||||||
|
#undef TYPE_ENUM
|
||||||
|
FIELDTYPE *TYPE_ENUM;
|
||||||
|
|
||||||
|
/* ./fty_generic.c */
|
||||||
|
|
||||||
|
#undef _nc_fty_generic
|
||||||
|
void _nc_fty_generic(void)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
|
/* ./fty_int.c */
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerPARM;
|
||||||
|
|
||||||
|
#undef TYPE_INTEGER
|
||||||
|
FIELDTYPE *TYPE_INTEGER;
|
||||||
|
|
||||||
|
/* ./fty_ipv4.c */
|
||||||
|
#undef TYPE_IPV4
|
||||||
|
FIELDTYPE *TYPE_IPV4;
|
||||||
|
|
||||||
|
/* ./fty_num.c */
|
||||||
|
|
||||||
|
#include <locale.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
struct lconv *L;
|
||||||
|
}
|
||||||
|
numericARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
}
|
||||||
|
thisPARM;
|
||||||
|
|
||||||
|
#undef TYPE_NUMERIC
|
||||||
|
FIELDTYPE *TYPE_NUMERIC;
|
||||||
|
|
||||||
|
/* ./fty_regex.c */
|
||||||
|
|
||||||
|
#include <regex.h>
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
regex_t *pRegExp;
|
||||||
|
unsigned long *refCount;
|
||||||
|
}
|
||||||
|
RegExp_Arg;
|
||||||
|
|
||||||
|
#undef TYPE_REGEXP
|
||||||
|
FIELDTYPE *TYPE_REGEXP;
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 2002,2005 Free Software Foundation, Inc. *
|
* Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -27,13 +27,13 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Thomas E. Dickey 2002,2005 *
|
* Author: Thomas E. Dickey 2002-2005,2010 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/* LINTLIBRARY */
|
/* LINTLIBRARY */
|
||||||
|
|
||||||
/* ./f_trace.c */
|
/* ./f_trace.c */
|
||||||
|
|
||||||
#include "form.priv.h"
|
#include <form.priv.h>
|
||||||
|
|
||||||
#undef _nc_retrace_field_ptr
|
#undef _nc_retrace_field_ptr
|
||||||
FIELD **_nc_retrace_field_ptr(
|
FIELD **_nc_retrace_field_ptr(
|
||||||
@ -264,7 +264,7 @@ int move_field(
|
|||||||
/* ./fld_newftyp.c */
|
/* ./fld_newftyp.c */
|
||||||
|
|
||||||
#undef _nc_Default_FieldType
|
#undef _nc_Default_FieldType
|
||||||
const FIELDTYPE *_nc_Default_FieldType = {0};
|
FIELDTYPE *_nc_Default_FieldType;
|
||||||
|
|
||||||
#undef new_fieldtype
|
#undef new_fieldtype
|
||||||
FIELDTYPE *new_fieldtype(
|
FIELDTYPE *new_fieldtype(
|
||||||
@ -396,6 +396,12 @@ NCURSES_BOOL data_ahead(
|
|||||||
#undef _nc_Default_Form
|
#undef _nc_Default_Form
|
||||||
FORM *_nc_Default_Form;
|
FORM *_nc_Default_Form;
|
||||||
|
|
||||||
|
#undef new_form_sp
|
||||||
|
FORM *new_form_sp(
|
||||||
|
SCREEN *sp,
|
||||||
|
FIELD **fields)
|
||||||
|
{ return(*(FORM **)0); }
|
||||||
|
|
||||||
#undef new_form
|
#undef new_form
|
||||||
FORM *new_form(
|
FORM *new_form(
|
||||||
FIELD **fields)
|
FIELD **fields)
|
||||||
@ -424,6 +430,13 @@ int field_count(
|
|||||||
|
|
||||||
/* ./frm_driver.c */
|
/* ./frm_driver.c */
|
||||||
|
|
||||||
|
#undef _nc_get_fieldbuffer
|
||||||
|
void _nc_get_fieldbuffer(
|
||||||
|
FORM *form,
|
||||||
|
FIELD *field,
|
||||||
|
cchar_t *buf)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
#undef _nc_Position_Form_Cursor
|
#undef _nc_Position_Form_Cursor
|
||||||
int _nc_Position_Form_Cursor(
|
int _nc_Position_Form_Cursor(
|
||||||
FORM *form)
|
FORM *form)
|
||||||
@ -689,9 +702,23 @@ typedef struct
|
|||||||
}
|
}
|
||||||
enumARG;
|
enumARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
char **kwds;
|
||||||
|
int ccase;
|
||||||
|
int cunique;
|
||||||
|
}
|
||||||
|
enumParams;
|
||||||
|
|
||||||
#undef TYPE_ENUM
|
#undef TYPE_ENUM
|
||||||
FIELDTYPE *TYPE_ENUM;
|
FIELDTYPE *TYPE_ENUM;
|
||||||
|
|
||||||
|
/* ./fty_generic.c */
|
||||||
|
|
||||||
|
#undef _nc_fty_generic
|
||||||
|
void _nc_fty_generic(void)
|
||||||
|
{ /* void */ }
|
||||||
|
|
||||||
/* ./fty_int.c */
|
/* ./fty_int.c */
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
@ -702,6 +729,14 @@ typedef struct
|
|||||||
}
|
}
|
||||||
integerARG;
|
integerARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
long low;
|
||||||
|
long high;
|
||||||
|
}
|
||||||
|
integerPARM;
|
||||||
|
|
||||||
#undef TYPE_INTEGER
|
#undef TYPE_INTEGER
|
||||||
FIELDTYPE *TYPE_INTEGER;
|
FIELDTYPE *TYPE_INTEGER;
|
||||||
|
|
||||||
@ -722,6 +757,14 @@ typedef struct
|
|||||||
}
|
}
|
||||||
numericARG;
|
numericARG;
|
||||||
|
|
||||||
|
typedef struct
|
||||||
|
{
|
||||||
|
int precision;
|
||||||
|
double low;
|
||||||
|
double high;
|
||||||
|
}
|
||||||
|
thisPARM;
|
||||||
|
|
||||||
#undef TYPE_NUMERIC
|
#undef TYPE_NUMERIC
|
||||||
FIELDTYPE *TYPE_NUMERIC;
|
FIELDTYPE *TYPE_NUMERIC;
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: modules,v 1.15 2006/12/24 00:52:58 tom Exp $
|
# $Id: modules,v 1.17 2010/01/23 16:26:37 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -28,49 +28,51 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
#
|
#
|
||||||
# Author: Thomas E. Dickey 1995-on
|
# Author: Thomas E. Dickey 1995-on
|
||||||
|
# and: Juergen Pfeifer 2008
|
||||||
#
|
#
|
||||||
|
|
||||||
@ base
|
@ base
|
||||||
# Library objects
|
# Library objects
|
||||||
f_trace lib $(srcdir) $(FORM_PRIV_H)
|
f_trace lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_arg lib $(srcdir) $(FORM_PRIV_H)
|
fld_arg lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_attr lib $(srcdir) $(FORM_PRIV_H)
|
fld_attr lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_current lib $(srcdir) $(FORM_PRIV_H)
|
fld_current lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_def lib $(srcdir) $(FORM_PRIV_H)
|
fld_def lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_dup lib $(srcdir) $(FORM_PRIV_H)
|
fld_dup lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_ftchoice lib $(srcdir) $(FORM_PRIV_H)
|
fld_ftchoice lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_ftlink lib $(srcdir) $(FORM_PRIV_H)
|
fld_ftlink lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_info lib $(srcdir) $(FORM_PRIV_H)
|
fld_info lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_just lib $(srcdir) $(FORM_PRIV_H)
|
fld_just lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_link lib $(srcdir) $(FORM_PRIV_H)
|
fld_link lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_max lib $(srcdir) $(FORM_PRIV_H)
|
fld_max lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_move lib $(srcdir) $(FORM_PRIV_H)
|
fld_move lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_newftyp lib $(srcdir) $(FORM_PRIV_H)
|
fld_newftyp lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_opts lib $(srcdir) $(FORM_PRIV_H)
|
fld_opts lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_pad lib $(srcdir) $(FORM_PRIV_H)
|
fld_pad lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_page lib $(srcdir) $(FORM_PRIV_H)
|
fld_page lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_stat lib $(srcdir) $(FORM_PRIV_H)
|
fld_stat lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_type lib $(srcdir) $(FORM_PRIV_H)
|
fld_type lib $(srcdir) $(HEADER_DEPS)
|
||||||
fld_user lib $(srcdir) $(FORM_PRIV_H)
|
fld_user lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_cursor lib $(srcdir) $(FORM_PRIV_H)
|
frm_cursor lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_data lib $(srcdir) $(FORM_PRIV_H)
|
frm_data lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_def lib $(srcdir) $(FORM_PRIV_H)
|
frm_def lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_driver lib $(srcdir) $(FORM_PRIV_H)
|
frm_driver lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_hook lib $(srcdir) $(FORM_PRIV_H)
|
frm_hook lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_opts lib $(srcdir) $(FORM_PRIV_H)
|
frm_opts lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_page lib $(srcdir) $(FORM_PRIV_H)
|
frm_page lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_post lib $(srcdir) $(FORM_PRIV_H)
|
frm_post lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_req_name lib $(srcdir) $(FORM_PRIV_H)
|
frm_req_name lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_scale lib $(srcdir) $(FORM_PRIV_H)
|
frm_scale lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_sub lib $(srcdir) $(FORM_PRIV_H)
|
frm_sub lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_user lib $(srcdir) $(FORM_PRIV_H)
|
frm_user lib $(srcdir) $(HEADER_DEPS)
|
||||||
frm_win lib $(srcdir) $(FORM_PRIV_H)
|
frm_win lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_alnum lib $(srcdir) $(FORM_PRIV_H)
|
fty_alnum lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_alpha lib $(srcdir) $(FORM_PRIV_H)
|
fty_alpha lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_enum lib $(srcdir) $(FORM_PRIV_H)
|
fty_enum lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_int lib $(srcdir) $(FORM_PRIV_H)
|
fty_generic lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_ipv4 lib $(srcdir) $(FORM_PRIV_H)
|
fty_int lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_num lib $(srcdir) $(FORM_PRIV_H)
|
fty_ipv4 lib $(srcdir) $(HEADER_DEPS)
|
||||||
fty_regex lib $(srcdir) $(FORM_PRIV_H)
|
fty_num lib $(srcdir) $(HEADER_DEPS)
|
||||||
|
fty_regex lib $(srcdir) $(HEADER_DEPS)
|
||||||
|
|
||||||
# vile:makemode
|
# vile:makemode
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -29,7 +29,7 @@
|
|||||||
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
|
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
|
||||||
# and: Eric S. Raymond <esr@snark.thyrsus.com>
|
# and: Eric S. Raymond <esr@snark.thyrsus.com>
|
||||||
#
|
#
|
||||||
# $Id: Caps,v 1.36 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps,v 1.37 2010/12/04 18:47:13 tom Exp $
|
||||||
#
|
#
|
||||||
# This is the master termcap/terminfo capability table.
|
# This is the master termcap/terminfo capability table.
|
||||||
#
|
#
|
||||||
@ -1256,9 +1256,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2001-2002,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -28,7 +28,7 @@
|
|||||||
#
|
#
|
||||||
# Author: Thomas Dickey
|
# Author: Thomas Dickey
|
||||||
#
|
#
|
||||||
# $Id: Caps.aix4,v 1.7 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps.aix4,v 1.8 2010/12/04 18:47:13 tom Exp $
|
||||||
#
|
#
|
||||||
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
||||||
# is designed to align with AIX 4.x's terminfo.
|
# is designed to align with AIX 4.x's terminfo.
|
||||||
@ -1247,9 +1247,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2002-2003,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -28,7 +28,7 @@
|
|||||||
#
|
#
|
||||||
# Author: Thomas Dickey
|
# Author: Thomas Dickey
|
||||||
#
|
#
|
||||||
# $Id: Caps.hpux11,v 1.4 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps.hpux11,v 1.5 2010/12/04 18:47:13 tom Exp $
|
||||||
#
|
#
|
||||||
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
||||||
# is designed to align with HPUX 11.x's terminfo.
|
# is designed to align with HPUX 11.x's terminfo.
|
||||||
@ -1270,9 +1270,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2001-2002,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -29,7 +29,7 @@
|
|||||||
# Author: Thomas Dickey
|
# Author: Thomas Dickey
|
||||||
# and: Ilya Zakharevich
|
# and: Ilya Zakharevich
|
||||||
#
|
#
|
||||||
# $Id: Caps.keys,v 1.3 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps.keys,v 1.4 2010/12/04 18:47:13 tom Exp $
|
||||||
#
|
#
|
||||||
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
||||||
# is illustrates an experimental extension to describe alt-, shift- and
|
# is illustrates an experimental extension to describe alt-, shift- and
|
||||||
@ -1346,9 +1346,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2002,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -28,7 +28,7 @@
|
|||||||
#
|
#
|
||||||
# Author: Thomas Dickey
|
# Author: Thomas Dickey
|
||||||
#
|
#
|
||||||
# $Id: Caps.osf1r5,v 1.4 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps.osf1r5,v 1.5 2010/12/04 18:47:13 tom Exp $
|
||||||
#
|
#
|
||||||
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
||||||
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
|
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
|
||||||
@ -1266,9 +1266,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2001-2002,2006 Free Software Foundation, Inc. #
|
# Copyright (c) 2001-2006,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -28,7 +28,7 @@
|
|||||||
#
|
#
|
||||||
# Author: Thomas Dickey
|
# Author: Thomas Dickey
|
||||||
#
|
#
|
||||||
# $Id: Caps.uwin,v 1.4 2006/05/27 15:33:04 tom Exp $
|
# $Id: Caps.uwin,v 1.5 2010/12/04 18:49:20 tom Exp $
|
||||||
#
|
#
|
||||||
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
# This is an adaptation of ncurses' termcap/terminfo capability table, which
|
||||||
# is designed to align with U/Win's terminfo.
|
# is designed to align with U/Win's terminfo.
|
||||||
@ -1082,9 +1082,3 @@ infoalias ksel kslt IBM key_select
|
|||||||
# kcmd, kend, khlp, and kf11...kf63.
|
# kcmd, kend, khlp, and kf11...kf63.
|
||||||
#
|
#
|
||||||
#############################################################################
|
#############################################################################
|
||||||
#
|
|
||||||
# The following sets edit modes for GNU EMACS
|
|
||||||
# Local Variables:
|
|
||||||
# case-fold-search:nil
|
|
||||||
# truncate-lines:t
|
|
||||||
# End:
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
# vile:awkmode
|
# vile:awkmode
|
||||||
BEGIN {
|
BEGIN {
|
||||||
print "/****************************************************************************"
|
print "/****************************************************************************"
|
||||||
print " * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *"
|
print " * Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *"
|
||||||
print " * *"
|
print " * *"
|
||||||
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
|
print " * Permission is hereby granted, free of charge, to any person obtaining a *"
|
||||||
print " * copy of this software and associated documentation files (the *"
|
print " * copy of this software and associated documentation files (the *"
|
||||||
@ -34,7 +34,7 @@ BEGIN {
|
|||||||
print "/* and: Thomas E. Dickey 1995-on */"
|
print "/* and: Thomas E. Dickey 1995-on */"
|
||||||
print "/****************************************************************************/"
|
print "/****************************************************************************/"
|
||||||
print ""
|
print ""
|
||||||
print "/* $Id: MKterm.h.awk.in,v 1.50 2008/05/24 23:13:59 tom Exp $ */"
|
print "/* $Id: MKterm.h.awk.in,v 1.58 2010/01/09 19:53:26 tom Exp $ */"
|
||||||
print ""
|
print ""
|
||||||
print "/*"
|
print "/*"
|
||||||
print "** term.h -- Definition of struct term"
|
print "** term.h -- Definition of struct term"
|
||||||
@ -130,11 +130,15 @@ BEGIN {
|
|||||||
print ""
|
print ""
|
||||||
print "#else /* !HAVE_TERMIO_H */"
|
print "#else /* !HAVE_TERMIO_H */"
|
||||||
print ""
|
print ""
|
||||||
|
print "#if __MINGW32__"
|
||||||
|
print "# include <ncurses_mingw.h>"
|
||||||
|
print "# define TTY struct termios"
|
||||||
|
print "#else"
|
||||||
print "#undef TERMIOS"
|
print "#undef TERMIOS"
|
||||||
print "#include <sgtty.h>"
|
print "#include <sgtty.h>"
|
||||||
print "#include <sys/ioctl.h>"
|
print "#include <sys/ioctl.h>"
|
||||||
print "#define TTY struct sgttyb"
|
print "#define TTY struct sgttyb"
|
||||||
print ""
|
print "#endif /* MINGW32 */"
|
||||||
print "#endif /* HAVE_TERMIO_H */"
|
print "#endif /* HAVE_TERMIO_H */"
|
||||||
print ""
|
print ""
|
||||||
print "#endif /* HAVE_TERMIOS_H */"
|
print "#endif /* HAVE_TERMIOS_H */"
|
||||||
@ -228,8 +232,16 @@ END {
|
|||||||
print " char * _termname; /* used for termname() */"
|
print " char * _termname; /* used for termname() */"
|
||||||
print "} TERMINAL;"
|
print "} TERMINAL;"
|
||||||
print ""
|
print ""
|
||||||
print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@"
|
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 "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 *, boolnames);"
|
||||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
|
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 *, boolfnames);"
|
||||||
@ -240,7 +252,6 @@ END {
|
|||||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
|
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
|
||||||
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
|
print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
|
||||||
print ""
|
print ""
|
||||||
print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())"
|
|
||||||
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
|
print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())"
|
||||||
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
|
print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())"
|
||||||
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
|
print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
|
||||||
@ -253,8 +264,6 @@ END {
|
|||||||
print ""
|
print ""
|
||||||
print "#else"
|
print "#else"
|
||||||
print ""
|
print ""
|
||||||
print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
|
|
||||||
print ""
|
|
||||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
|
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 ) boolcodes[];"
|
||||||
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
|
print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
|
||||||
@ -300,6 +309,8 @@ END {
|
|||||||
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
|
print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */"
|
||||||
print "#endif"
|
print "#endif"
|
||||||
print ""
|
print ""
|
||||||
|
print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */"
|
||||||
|
print ""
|
||||||
print "#endif /* __NCURSES_H */"
|
print "#endif /* __NCURSES_H */"
|
||||||
print ""
|
print ""
|
||||||
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
|
||||||
@ -312,6 +323,37 @@ END {
|
|||||||
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
|
print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
|
||||||
print "#endif /* NCURSES_TERMCAP_H_incl */"
|
print "#endif /* NCURSES_TERMCAP_H_incl */"
|
||||||
print ""
|
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*, NCURSES_CONST char *);"
|
||||||
|
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
|
||||||
|
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, NCURSES_CONST char *);"
|
||||||
|
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, NCURSES_CONST char *);"
|
||||||
|
print ""
|
||||||
|
print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */"
|
||||||
|
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, ...); /* special */"
|
||||||
|
print "#else"
|
||||||
|
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */"
|
||||||
|
print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, NCURSES_CONST char *, ...); /* 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*, NCURSES_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*, NCURSES_CONST char *);"
|
||||||
|
print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, NCURSES_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 "#ifdef __cplusplus"
|
print "#ifdef __cplusplus"
|
||||||
print "}"
|
print "}"
|
||||||
print "#endif"
|
print "#endif"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: Makefile.in,v 1.35 2001/12/08 18:50:06 tom Exp $
|
# $Id: Makefile.in,v 1.40 2010/11/27 21:45:27 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. #
|
# Copyright (c) 1998,2009,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -40,6 +40,7 @@
|
|||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
VPATH = @srcdir@
|
||||||
THIS = Makefile
|
THIS = Makefile
|
||||||
|
|
||||||
DESTDIR = @DESTDIR@
|
DESTDIR = @DESTDIR@
|
||||||
@ -54,6 +55,9 @@ INSTALL_DATA = @INSTALL_DATA@
|
|||||||
AWK = @AWK@
|
AWK = @AWK@
|
||||||
LN_S = @LN_S@
|
LN_S = @LN_S@
|
||||||
|
|
||||||
|
CTAGS = @CTAGS@
|
||||||
|
ETAGS = @ETAGS@
|
||||||
|
|
||||||
VERSION = @cf_cv_rel_version@
|
VERSION = @cf_cv_rel_version@
|
||||||
|
|
||||||
# The "Caps" file specifies the terminfo database format, as well as the list
|
# The "Caps" file specifies the terminfo database format, as well as the list
|
||||||
@ -64,6 +68,7 @@ TERMINFO_CAPS = $(srcdir)/@TERMINFO_CAPS@
|
|||||||
CONFIG_SRC = \
|
CONFIG_SRC = \
|
||||||
MKterm.h.awk \
|
MKterm.h.awk \
|
||||||
curses.head \
|
curses.head \
|
||||||
|
ncurses_dll.h \
|
||||||
termcap.h \
|
termcap.h \
|
||||||
unctrl.h
|
unctrl.h
|
||||||
|
|
||||||
@ -73,6 +78,7 @@ AUTO_SRC = \
|
|||||||
hashsize.h \
|
hashsize.h \
|
||||||
ncurses_def.h \
|
ncurses_def.h \
|
||||||
parametrized.h \
|
parametrized.h \
|
||||||
|
config.h \
|
||||||
term.h
|
term.h
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
@ -104,11 +110,15 @@ ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
|
|||||||
parametrized.h: $(TERMINFO_CAPS) $(srcdir)/MKparametrized.sh
|
parametrized.h: $(TERMINFO_CAPS) $(srcdir)/MKparametrized.sh
|
||||||
AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(TERMINFO_CAPS) >$@
|
AWK=$(AWK) sh $(srcdir)/MKparametrized.sh $(TERMINFO_CAPS) >$@
|
||||||
|
|
||||||
|
# This is required by pthread.h on MinGW
|
||||||
|
config.h:
|
||||||
|
touch $@
|
||||||
|
|
||||||
tags:
|
tags:
|
||||||
ctags *.[ch]
|
$(CTAGS) *.[ch]
|
||||||
|
|
||||||
@MAKE_UPPER_TAGS@TAGS:
|
@MAKE_UPPER_TAGS@TAGS:
|
||||||
@MAKE_UPPER_TAGS@ etags *.[ch]
|
@MAKE_UPPER_TAGS@ $(ETAGS) *.[ch]
|
||||||
|
|
||||||
mostlyclean ::
|
mostlyclean ::
|
||||||
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
|
-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
|
||||||
@ -117,7 +127,7 @@ clean :: mostlyclean
|
|||||||
-rm -f $(AUTO_SRC)
|
-rm -f $(AUTO_SRC)
|
||||||
|
|
||||||
distclean :: clean
|
distclean :: clean
|
||||||
-rm -f Makefile $(CONFIG_SRC)
|
-rm -f Makefile $(CONFIG_SRC) config.h
|
||||||
|
|
||||||
realclean :: distclean
|
realclean :: distclean
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
* and: Thomas E. Dickey 1996-on *
|
* and: Thomas E. Dickey 1996-on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: capdefaults.c,v 1.13 2008/08/04 12:33:42 tom Exp $ */
|
/* $Id: capdefaults.c,v 1.14 2008/11/16 00:19:59 juergen Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Compute obsolete capabilities. The reason this is an include file is
|
* Compute obsolete capabilities. The reason this is an include file is
|
||||||
@ -44,11 +44,11 @@
|
|||||||
* postprocess_termcap().
|
* postprocess_termcap().
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
char *sp;
|
char *strp;
|
||||||
short capval;
|
short capval;
|
||||||
|
|
||||||
#define EXTRACT_DELAY(str) \
|
#define EXTRACT_DELAY(str) \
|
||||||
(short) (sp = strchr(str, '*'), sp ? atoi(sp+1) : 0)
|
(short) (strp = strchr(str, '*'), strp ? atoi(strp+1) : 0)
|
||||||
|
|
||||||
/* current (4.4BSD) capabilities marked obsolete */
|
/* current (4.4BSD) capabilities marked obsolete */
|
||||||
if (VALID_STRING(carriage_return)
|
if (VALID_STRING(carriage_return)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
* and: Thomas E. Dickey 1996-on *
|
* and: Thomas E. Dickey 1996-on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: curses.h.in,v 1.187 2008/08/30 20:11:29 tom Exp $ */
|
/* $Id: curses.h.in,v 1.220 2011/01/22 19:47:20 tom Exp $ */
|
||||||
|
|
||||||
#ifndef __NCURSES_H
|
#ifndef __NCURSES_H
|
||||||
#define __NCURSES_H
|
#define __NCURSES_H
|
||||||
@ -40,12 +40,6 @@
|
|||||||
#define CURSES 1
|
#define CURSES 1
|
||||||
#define CURSES_H 1
|
#define CURSES_H 1
|
||||||
|
|
||||||
/* This should be defined for the enhanced functionality to be visible.
|
|
||||||
* However, some of the wide-character (enhanced) functionality is missing.
|
|
||||||
* So we do not define it (yet).
|
|
||||||
#define _XOPEN_CURSES 1
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* These are defined only in curses.h, and are used for conditional compiles */
|
/* These are defined only in curses.h, and are used for conditional compiles */
|
||||||
#define NCURSES_VERSION_MAJOR @NCURSES_MAJOR@
|
#define NCURSES_VERSION_MAJOR @NCURSES_MAJOR@
|
||||||
#define NCURSES_VERSION_MINOR @NCURSES_MINOR@
|
#define NCURSES_VERSION_MINOR @NCURSES_MINOR@
|
||||||
@ -109,6 +103,19 @@
|
|||||||
#define NCURSES_OPAQUE @NCURSES_OPAQUE@
|
#define NCURSES_OPAQUE @NCURSES_OPAQUE@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The reentrant code relies on the opaque setting, but adds features.
|
||||||
|
*/
|
||||||
|
#ifndef NCURSES_REENTRANT
|
||||||
|
#define NCURSES_REENTRANT @cf_cv_enable_reentrant@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Control whether bindings for interop support are added.
|
||||||
|
*/
|
||||||
|
#undef NCURSES_INTEROP_FUNCS
|
||||||
|
#define NCURSES_INTEROP_FUNCS @NCURSES_INTEROP_FUNCS@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The internal type used for window dimensions.
|
* The internal type used for window dimensions.
|
||||||
*/
|
*/
|
||||||
@ -137,12 +144,24 @@ typedef unsigned @cf_cv_typeof_chtype@ chtype;
|
|||||||
typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t;
|
typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We need FILE, etc. Include this before checking any feature symbols.
|
||||||
|
*/
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unctrl.h>
|
|
||||||
|
/*
|
||||||
|
* With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
|
||||||
|
* conflicting) when _XOPEN_SOURCE is 500 or greater.
|
||||||
|
*/
|
||||||
|
#undef NCURSES_WIDECHAR
|
||||||
|
#if defined(_XOPEN_SOURCE_EXTENDED) || defined(_XPG5)
|
||||||
|
#define NCURSES_WIDECHAR
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <stdarg.h> /* we need va_list */
|
#include <stdarg.h> /* we need va_list */
|
||||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
#ifdef NCURSES_WIDECHAR
|
||||||
#include <stddef.h> /* we want wchar_t */
|
#include <stddef.h> /* we want wchar_t */
|
||||||
#endif /* _XOPEN_SOURCE_EXTENDED */
|
#endif
|
||||||
|
|
||||||
/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also
|
/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also
|
||||||
* implement it. If so, we must use the C++ compiler's type to avoid conflict
|
* implement it. If so, we must use the C++ compiler's type to avoid conflict
|
||||||
@ -224,9 +243,9 @@ extern "C" {
|
|||||||
|
|
||||||
/* line graphics */
|
/* line graphics */
|
||||||
|
|
||||||
#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@
|
#if @BROKEN_LINKER@ || NCURSES_REENTRANT
|
||||||
NCURSES_WRAPPED_VAR(chtype*, acs_map);
|
NCURSES_WRAPPED_VAR(chtype*, acs_map);
|
||||||
#define acs_map (_nc_acs_map())
|
#define acs_map NCURSES_PUBLIC_VAR(acs_map())
|
||||||
#else
|
#else
|
||||||
extern NCURSES_EXPORT_VAR(chtype) acs_map[];
|
extern NCURSES_EXPORT_VAR(chtype) acs_map[];
|
||||||
#endif
|
#endif
|
||||||
@ -323,7 +342,7 @@ typedef struct _win_st WINDOW;
|
|||||||
|
|
||||||
typedef chtype attr_t; /* ...must be at least as wide as chtype */
|
typedef chtype attr_t; /* ...must be at least as wide as chtype */
|
||||||
|
|
||||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
#ifdef NCURSES_WIDECHAR
|
||||||
|
|
||||||
#if @NCURSES_LIBUTF8@
|
#if @NCURSES_LIBUTF8@
|
||||||
#ifdef mblen /* libutf8.h defines it w/o undefining first */
|
#ifdef mblen /* libutf8.h defines it w/o undefining first */
|
||||||
@ -344,7 +363,13 @@ typedef unsigned short wchar_t@NCURSES_OK_WCHAR_T@;
|
|||||||
typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
|
typedef unsigned int wint_t@NCURSES_OK_WCHAR_T@;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CCHARW_MAX 5
|
/*
|
||||||
|
* cchar_t stores an array of CCHARW_MAX wide characters. The first is
|
||||||
|
* normally a spacing character. The others are non-spacing. If those
|
||||||
|
* (spacing and nonspacing) do not fill the array, a null L'\0' follows.
|
||||||
|
* Otherwise, a null is assumed to follow when extracting via getcchar().
|
||||||
|
*/
|
||||||
|
#define CCHARW_MAX @NCURSES_CCHARW_MAX@
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
attr_t attr;
|
attr_t attr;
|
||||||
@ -357,7 +382,7 @@ typedef struct
|
|||||||
}
|
}
|
||||||
cchar_t;
|
cchar_t;
|
||||||
|
|
||||||
#endif /* _XOPEN_SOURCE_EXTENDED */
|
#endif /* NCURSES_WIDECHAR */
|
||||||
|
|
||||||
#if !NCURSES_OPAQUE
|
#if !NCURSES_OPAQUE
|
||||||
struct ldat;
|
struct ldat;
|
||||||
@ -409,7 +434,7 @@ struct _win_st
|
|||||||
|
|
||||||
NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
|
NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
|
||||||
|
|
||||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
#ifdef NCURSES_WIDECHAR
|
||||||
cchar_t _bkgrnd; /* current background char/attribute pair */
|
cchar_t _bkgrnd; /* current background char/attribute pair */
|
||||||
#if @NCURSES_EXT_COLORS@
|
#if @NCURSES_EXT_COLORS@
|
||||||
int _color; /* current color-pair for non-space character */
|
int _color; /* current color-pair for non-space character */
|
||||||
@ -461,8 +486,8 @@ typedef struct
|
|||||||
_nc_event *events[1];
|
_nc_event *events[1];
|
||||||
} _nc_eventlist;
|
} _nc_eventlist;
|
||||||
|
|
||||||
extern NCURSES_EXPORT(int) wgetch_events(WINDOW *, _nc_eventlist *); /* experimental */
|
extern NCURSES_EXPORT(int) wgetch_events (WINDOW *, _nc_eventlist *); /* experimental */
|
||||||
extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);/* experimental */
|
extern NCURSES_EXPORT(int) wgetnstr_events (WINDOW *,char *,int,_nc_eventlist *);/* experimental */
|
||||||
|
|
||||||
#endif /* NCURSES_WGETCH_EVENTS */
|
#endif /* NCURSES_WGETCH_EVENTS */
|
||||||
#endif /* NCURSES_EXT_FUNCS */
|
#endif /* NCURSES_EXT_FUNCS */
|
||||||
@ -510,6 +535,12 @@ extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *);
|
|||||||
#define GCC_UNUSED /* nothing */
|
#define GCC_UNUSED /* nothing */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Curses uses a helper function. Define our type for this to simplify
|
||||||
|
* extending it for the sp-funcs feature.
|
||||||
|
*/
|
||||||
|
typedef int (*NCURSES_OUTC)(int);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function prototypes. This is the complete X/Open Curses list of required
|
* Function prototypes. This is the complete X/Open Curses list of required
|
||||||
* functions. Those marked `generated' will have sources generated from the
|
* functions. Those marked `generated' will have sources generated from the
|
||||||
@ -646,7 +677,7 @@ extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *); /* genera
|
|||||||
extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */
|
extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int); /* generated */
|
||||||
extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */
|
extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype); /* generated */
|
||||||
extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */
|
extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int); /* generated */
|
||||||
extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */
|
extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *); /* generated */
|
||||||
extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */
|
extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *); /* generated */
|
||||||
extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
|
extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...) /* implemented */
|
||||||
GCC_PRINTFLIKE(4,5);
|
GCC_PRINTFLIKE(4,5);
|
||||||
@ -654,9 +685,9 @@ extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, NCURSES_CONST char *,...)
|
|||||||
GCC_SCANFLIKE(4,5);
|
GCC_SCANFLIKE(4,5);
|
||||||
extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */
|
extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int); /* generated */
|
||||||
extern NCURSES_EXPORT(int) napms (int); /* implemented */
|
extern NCURSES_EXPORT(int) napms (int); /* implemented */
|
||||||
extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */
|
extern NCURSES_EXPORT(WINDOW *) newpad (int,int); /* implemented */
|
||||||
extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */
|
extern NCURSES_EXPORT(SCREEN *) newterm (NCURSES_CONST char *,FILE *,FILE *); /* implemented */
|
||||||
extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */
|
extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) nl (void); /* implemented */
|
extern NCURSES_EXPORT(int) nl (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */
|
extern NCURSES_EXPORT(int) nocbreak (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */
|
extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool); /* implemented */
|
||||||
@ -710,7 +741,7 @@ extern NCURSES_EXPORT(int) slk_noutrefresh (void); /* implemented */
|
|||||||
extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */
|
extern NCURSES_EXPORT(int) slk_refresh (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */
|
extern NCURSES_EXPORT(int) slk_restore (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */
|
extern NCURSES_EXPORT(int) slk_set (int,const char *,int); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */
|
extern NCURSES_EXPORT(int) slk_touch (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) standout (void); /* generated */
|
extern NCURSES_EXPORT(int) standout (void); /* generated */
|
||||||
extern NCURSES_EXPORT(int) standend (void); /* generated */
|
extern NCURSES_EXPORT(int) standend (void); /* generated */
|
||||||
extern NCURSES_EXPORT(int) start_color (void); /* implemented */
|
extern NCURSES_EXPORT(int) start_color (void); /* implemented */
|
||||||
@ -727,7 +758,7 @@ extern NCURSES_EXPORT(int) ungetch (int); /* implemented */
|
|||||||
extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */
|
extern NCURSES_EXPORT(int) untouchwin (WINDOW *); /* generated */
|
||||||
extern NCURSES_EXPORT(void) use_env (bool); /* implemented */
|
extern NCURSES_EXPORT(void) use_env (bool); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
|
extern NCURSES_EXPORT(int) vidattr (chtype); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vidputs (chtype, int (*)(int)); /* implemented */
|
extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
|
extern NCURSES_EXPORT(int) vline (chtype, int); /* generated */
|
||||||
extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */
|
extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *,va_list); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
|
extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *,va_list); /* generated */
|
||||||
@ -805,6 +836,8 @@ extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,l
|
|||||||
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
|
extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* These functions are not in X/Open, but we use them in macro definitions:
|
* These functions are not in X/Open, but we use them in macro definitions:
|
||||||
*/
|
*/
|
||||||
@ -821,7 +854,7 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */
|
|||||||
/*
|
/*
|
||||||
* vid_attr() was implemented originally based on a draft of X/Open curses.
|
* vid_attr() was implemented originally based on a draft of X/Open curses.
|
||||||
*/
|
*/
|
||||||
#ifndef _XOPEN_SOURCE_EXTENDED
|
#ifndef NCURSES_WIDECHAR
|
||||||
#define vid_attr(a,pair,opts) vidattr(a)
|
#define vid_attr(a,pair,opts) vidattr(a)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -838,6 +871,7 @@ extern NCURSES_EXPORT(char *) keybound (int, int);
|
|||||||
extern NCURSES_EXPORT(const char *) curses_version (void);
|
extern NCURSES_EXPORT(const char *) curses_version (void);
|
||||||
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
|
extern NCURSES_EXPORT(int) assume_default_colors (int, int);
|
||||||
extern NCURSES_EXPORT(int) define_key (const char *, int);
|
extern NCURSES_EXPORT(int) define_key (const char *, int);
|
||||||
|
extern NCURSES_EXPORT(int) get_escdelay (void);
|
||||||
extern NCURSES_EXPORT(int) key_defined (const char *);
|
extern NCURSES_EXPORT(int) key_defined (const char *);
|
||||||
extern NCURSES_EXPORT(int) keyok (int, bool);
|
extern NCURSES_EXPORT(int) keyok (int, bool);
|
||||||
extern NCURSES_EXPORT(int) resize_term (int, int);
|
extern NCURSES_EXPORT(int) resize_term (int, int);
|
||||||
@ -856,23 +890,135 @@ extern NCURSES_EXPORT(void) nofilter(void);
|
|||||||
* These extensions provide access to information stored in the WINDOW even
|
* These extensions provide access to information stored in the WINDOW even
|
||||||
* when NCURSES_OPAQUE is set:
|
* when NCURSES_OPAQUE is set:
|
||||||
*/
|
*/
|
||||||
extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_pad (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* generated */
|
extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
|
extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
|
extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
|
extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* @GENERATED_EXT_FUNCS@ */
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define curses_version() NCURSES_VERSION
|
#define curses_version() NCURSES_VERSION
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Extra extension-functions, which pass a SCREEN pointer rather than using
|
||||||
|
* a global variable SP.
|
||||||
|
*/
|
||||||
|
#if @NCURSES_SP_FUNCS@
|
||||||
|
#undef NCURSES_SP_FUNCS
|
||||||
|
#define NCURSES_SP_FUNCS @NCURSES_PATCH@
|
||||||
|
#define NCURSES_SP_NAME(name) name##_sp
|
||||||
|
|
||||||
|
/* Define the sp-funcs helper function */
|
||||||
|
#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
|
||||||
|
typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
|
||||||
|
|
||||||
|
extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
|
||||||
|
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, short, short*, short*, short*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, short, short, short, short); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, short, short, short); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, NCURSES_CONST char *, FILE *, FILE *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, short, short*, short*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int)); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, short, void*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, short); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
|
||||||
|
#if @NCURSES_EXT_FUNCS@
|
||||||
|
extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */ /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*); /* implemented:EXT_SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#undef NCURSES_SP_FUNCS
|
||||||
|
#define NCURSES_SP_FUNCS 0
|
||||||
|
#define NCURSES_SP_NAME(name) name
|
||||||
|
#define NCURSES_SP_OUTC NCURSES_OUTC
|
||||||
|
#endif
|
||||||
|
|
||||||
/* attributes */
|
/* attributes */
|
||||||
|
|
||||||
#define NCURSES_ATTR_SHIFT 8
|
#define NCURSES_ATTR_SHIFT 8
|
||||||
@ -951,7 +1097,7 @@ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generat
|
|||||||
|
|
||||||
/* It seems older SYSV curses versions define these */
|
/* It seems older SYSV curses versions define these */
|
||||||
#if !NCURSES_OPAQUE
|
#if !NCURSES_OPAQUE
|
||||||
#define getattrs(win) ((win) ? (win)->_attrs : A_NORMAL)
|
#define getattrs(win) NCURSES_CAST(int, (win) ? (win)->_attrs : A_NORMAL)
|
||||||
#define getcurx(win) ((win) ? (win)->_curx : ERR)
|
#define getcurx(win) ((win) ? (win)->_curx : ERR)
|
||||||
#define getcury(win) ((win) ? (win)->_cury : ERR)
|
#define getcury(win) ((win) ? (win)->_cury : ERR)
|
||||||
#define getbegx(win) ((win) ? (win)->_begx : ERR)
|
#define getbegx(win) ((win) ? (win)->_begx : ERR)
|
||||||
@ -969,11 +1115,17 @@ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generat
|
|||||||
#define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
|
#define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
|
||||||
|
|
||||||
#if !NCURSES_OPAQUE
|
#if !NCURSES_OPAQUE
|
||||||
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
|
#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
|
||||||
#define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \
|
#define wattrset(win,at) ((win) \
|
||||||
(win)->_attrs = (at))
|
? ((win)->_color = PAIR_NUMBER(at), \
|
||||||
|
(win)->_attrs = NCURSES_CAST(attr_t, at), \
|
||||||
|
OK) \
|
||||||
|
: ERR)
|
||||||
#else
|
#else
|
||||||
#define wattrset(win,at) ((win)->_attrs = (at))
|
#define wattrset(win,at) ((win) \
|
||||||
|
? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
|
||||||
|
OK) \
|
||||||
|
: ERR)
|
||||||
#endif
|
#endif
|
||||||
#endif /* NCURSES_OPAQUE */
|
#endif /* NCURSES_OPAQUE */
|
||||||
|
|
||||||
@ -1003,7 +1155,7 @@ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generat
|
|||||||
* These apply to the first 256 color pairs.
|
* These apply to the first 256 color pairs.
|
||||||
*/
|
*/
|
||||||
#define COLOR_PAIR(n) NCURSES_BITS(n, 0)
|
#define COLOR_PAIR(n) NCURSES_BITS(n, 0)
|
||||||
#define PAIR_NUMBER(a) (NCURSES_CAST(int,(((a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
|
#define PAIR_NUMBER(a) (NCURSES_CAST(int,((NCURSES_CAST(unsigned long,a) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* pseudo functions for standard screen
|
* pseudo functions for standard screen
|
||||||
@ -1111,17 +1263,17 @@ extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generat
|
|||||||
#define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
|
#define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a))
|
||||||
|
|
||||||
#if !NCURSES_OPAQUE
|
#if !NCURSES_OPAQUE
|
||||||
#if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@
|
#if defined(NCURSES_WIDECHAR) && @NCURSES_EXT_COLORS@
|
||||||
#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
|
#define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \
|
||||||
(win)->_color = (p), \
|
(win)->_color = (p), \
|
||||||
OK)
|
OK)
|
||||||
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
|
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
|
||||||
(void)((p) != (void *)0 && (*(p) = (win)->_color)), \
|
(void)((p) != (void *)0 && (*(p) = (short)(win)->_color)), \
|
||||||
OK)
|
OK)
|
||||||
#else
|
#else
|
||||||
#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | COLOR_PAIR(p)), OK)
|
#define wattr_set(win,a,p,opts) ((win)->_attrs = (((a) & ~A_COLOR) | (attr_t)COLOR_PAIR(p)), OK)
|
||||||
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
|
#define wattr_get(win,a,p,opts) ((void)((a) != (void *)0 && (*(a) = (win)->_attrs)), \
|
||||||
(void)((p) != (void *)0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \
|
(void)((p) != (void *)0 && (*(p) = (short)PAIR_NUMBER((win)->_attrs))), \
|
||||||
OK)
|
OK)
|
||||||
#endif
|
#endif
|
||||||
#endif /* NCURSES_OPAQUE */
|
#endif /* NCURSES_OPAQUE */
|
||||||
@ -1148,16 +1300,18 @@ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
|
|||||||
*/
|
*/
|
||||||
#if @NCURSES_EXT_FUNCS@
|
#if @NCURSES_EXT_FUNCS@
|
||||||
#if !NCURSES_OPAQUE
|
#if !NCURSES_OPAQUE
|
||||||
#define is_cleared(win) ((win)->_clear)
|
#define is_cleared(win) ((win) ? (win)->_clear : FALSE)
|
||||||
#define is_idcok(win) ((win)->_idcok)
|
#define is_idcok(win) ((win) ? (win)->_idcok : FALSE)
|
||||||
#define is_idlok(win) ((win)->_idlok)
|
#define is_idlok(win) ((win) ? (win)->_idlok : FALSE)
|
||||||
#define is_immedok(win) ((win)->_immed)
|
#define is_immedok(win) ((win) ? (win)->_immed : FALSE)
|
||||||
#define is_keypad(win) ((win)->_use_keypad)
|
#define is_keypad(win) ((win) ? (win)->_use_keypad : FALSE)
|
||||||
#define is_leaveok(win) ((win)->_leaveok)
|
#define is_leaveok(win) ((win) ? (win)->_leaveok : FALSE)
|
||||||
#define is_nodelay(win) ((win)->_delay == 0)
|
#define is_nodelay(win) ((win) ? ((win)->_delay == 0) : FALSE)
|
||||||
#define is_notimeout(win) ((win)->_notimeout)
|
#define is_notimeout(win) ((win) ? (win)->_notimeout : FALSE)
|
||||||
#define is_scrollok(win) ((win)->_scroll)
|
#define is_pad(win) ((win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
|
||||||
#define is_syncok(win) ((win)->_sync)
|
#define is_scrollok(win) ((win) ? (win)->_scroll : FALSE)
|
||||||
|
#define is_subwin(win) ((win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
|
||||||
|
#define is_syncok(win) ((win) ? (win)->_sync : FALSE)
|
||||||
#define wgetparent(win) ((win) ? (win)->_parent : 0)
|
#define wgetparent(win) ((win) ? (win)->_parent : 0)
|
||||||
#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
|
#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
|
||||||
#endif
|
#endif
|
||||||
@ -1173,7 +1327,7 @@ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
|
|||||||
* It gives the ESC expire time in milliseconds.
|
* It gives the ESC expire time in milliseconds.
|
||||||
* b. ttytype is needed for backward compatibility
|
* b. ttytype is needed for backward compatibility
|
||||||
*/
|
*/
|
||||||
#if @cf_cv_enable_reentrant@
|
#if NCURSES_REENTRANT
|
||||||
|
|
||||||
NCURSES_WRAPPED_VAR(WINDOW *, curscr);
|
NCURSES_WRAPPED_VAR(WINDOW *, curscr);
|
||||||
NCURSES_WRAPPED_VAR(WINDOW *, newscr);
|
NCURSES_WRAPPED_VAR(WINDOW *, newscr);
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: curses.tail,v 1.16 2008/07/05 20:20:38 tom Exp $ */
|
/* $Id: curses.tail,v 1.20 2010/03/28 19:10:55 tom Exp $ */
|
||||||
/*
|
/*
|
||||||
* vile:cmode:
|
* vile:cmode:
|
||||||
* This file is part of ncurses, designed to be appended after curses.h.in
|
* This file is part of ncurses, designed to be appended after curses.h.in
|
||||||
@ -94,13 +94,22 @@ typedef struct
|
|||||||
}
|
}
|
||||||
MEVENT;
|
MEVENT;
|
||||||
|
|
||||||
extern NCURSES_EXPORT(int) getmouse (MEVENT *);
|
extern NCURSES_EXPORT(bool) has_mouse(void);
|
||||||
extern NCURSES_EXPORT(int) ungetmouse (MEVENT *);
|
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(mmask_t) mousemask (mmask_t, mmask_t *);
|
||||||
extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int);
|
extern NCURSES_EXPORT(bool) wenclose (const WINDOW *, int, int);
|
||||||
extern NCURSES_EXPORT(int) mouseinterval (int);
|
extern NCURSES_EXPORT(int) mouseinterval (int);
|
||||||
extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool);
|
extern NCURSES_EXPORT(bool) wmouse_trafo (const WINDOW*, int*, int*, bool);
|
||||||
extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* generated */
|
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
|
||||||
|
|
||||||
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
|
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
|
||||||
|
|
||||||
@ -109,6 +118,11 @@ extern NCURSES_EXPORT(bool) mouse_trafo (int*, int*, bool); /* gene
|
|||||||
extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */
|
extern NCURSES_EXPORT(int) mcprint (char *, int); /* direct data to printer */
|
||||||
extern NCURSES_EXPORT(int) has_key (int); /* do we have given key? */
|
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 */
|
/* Debugging : use with libncurses_g.a */
|
||||||
|
|
||||||
extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);
|
extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);
|
||||||
@ -119,7 +133,7 @@ extern NCURSES_EXPORT(char *) _nc_tracebits (void);
|
|||||||
extern NCURSES_EXPORT(char *) _tracechar (int);
|
extern NCURSES_EXPORT(char *) _tracechar (int);
|
||||||
extern NCURSES_EXPORT(char *) _tracechtype (chtype);
|
extern NCURSES_EXPORT(char *) _tracechtype (chtype);
|
||||||
extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
|
extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
|
||||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
#ifdef NCURSES_WIDECHAR
|
||||||
#define _tracech_t _tracecchar_t
|
#define _tracech_t _tracecchar_t
|
||||||
extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
|
extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
|
||||||
#define _tracech_t2 _tracecchar_t2
|
#define _tracech_t2 _tracecchar_t2
|
||||||
@ -160,6 +174,8 @@ extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
|
|||||||
#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */
|
#define OPTIMIZE_ALL 0xff /* enable all optimizations (dflt) */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <unctrl.h>
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
||||||
#ifndef NCURSES_NOMACROS
|
#ifndef NCURSES_NOMACROS
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
/* $Id: curses.wide,v 1.34 2007/03/10 17:52:23 tom Exp $ */
|
/* $Id: curses.wide,v 1.42 2010/03/30 00:39:41 tom Exp $ */
|
||||||
/*
|
/*
|
||||||
* vile:cmode:
|
* vile:cmode:
|
||||||
* This file is part of ncurses, designed to be appended after curses.h.in
|
* This file is part of ncurses, designed to be appended after curses.h.in
|
||||||
* (see that file for the relevant copyright).
|
* (see that file for the relevant copyright).
|
||||||
*/
|
*/
|
||||||
#ifdef _XOPEN_SOURCE_EXTENDED
|
#define _XOPEN_CURSES 1
|
||||||
|
|
||||||
|
#ifdef NCURSES_WIDECHAR
|
||||||
|
|
||||||
extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
|
extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
|
||||||
|
|
||||||
@ -60,6 +62,56 @@ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
|
|||||||
#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */
|
#define WACS_NEQUAL NCURSES_WACS('|') /* not equal */
|
||||||
#define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */
|
#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.
|
* Function prototypes for wide-character operations.
|
||||||
*
|
*
|
||||||
@ -138,7 +190,7 @@ extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int); /* implemented
|
|||||||
extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */
|
extern NCURSES_EXPORT(attr_t) term_attrs (void); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */
|
extern NCURSES_EXPORT(int) unget_wch (const wchar_t); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *); /* implemented */
|
extern NCURSES_EXPORT(int) vid_attr (attr_t, short, void *); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vid_puts (attr_t, short, void *, int (*)(int)); /* implemented */
|
extern NCURSES_EXPORT(int) vid_puts (attr_t, short, void *, NCURSES_OUTC); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int); /* generated:WIDEC */
|
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_wch (WINDOW *,const cchar_t *); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */
|
extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int); /* implemented */
|
||||||
@ -165,6 +217,14 @@ extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *); /* implemented */
|
|||||||
extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */
|
extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *); /* implemented */
|
||||||
extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* 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(unget_wch) (SCREEN*, const wchar_t); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, short, void *); /* implemented:SP_FUNC */
|
||||||
|
extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, short, void *, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef NCURSES_NOMACROS
|
#ifndef NCURSES_NOMACROS
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -249,4 +309,4 @@ extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
|
|||||||
extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *);
|
extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* _XOPEN_SOURCE_EXTENDED */
|
#endif /* NCURSES_WIDECHAR */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: headers,v 1.9 2007/01/20 19:57:04 Miroslav.Lichvar Exp $
|
# $Id: headers,v 1.10 2009/09/05 17:46:30 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -33,7 +33,7 @@ term.h
|
|||||||
curses.h
|
curses.h
|
||||||
unctrl.h
|
unctrl.h
|
||||||
termcap.h
|
termcap.h
|
||||||
$(srcdir)/ncurses_dll.h
|
ncurses_dll.h
|
||||||
@ ticlib
|
@ ticlib
|
||||||
$(srcdir)/tic.h
|
$(srcdir)/tic.h
|
||||||
$(srcdir)/term_entry.h
|
$(srcdir)/term_entry.h
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2007,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -29,7 +29,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Author: Thomas E. Dickey 1996-on *
|
* Author: Thomas E. Dickey 1996-on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/* $Id: nc_alloc.h,v 1.16 2008/09/27 22:30:33 tom Exp $ */
|
/* $Id: nc_alloc.h,v 1.18 2010/11/20 22:59:49 tom Exp $ */
|
||||||
|
|
||||||
#ifndef NC_ALLOC_included
|
#ifndef NC_ALLOC_included
|
||||||
#define NC_ALLOC_included 1
|
#define NC_ALLOC_included 1
|
||||||
@ -38,7 +38,7 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBDMALLOC
|
#if defined(HAVE_LIBDMALLOC) && HAVE_LIBDMALLOC
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#undef strndup /* workaround for #define in GLIBC 2.7 */
|
#undef strndup /* workaround for #define in GLIBC 2.7 */
|
||||||
#include <dmalloc.h> /* Gray Watson's library */
|
#include <dmalloc.h> /* Gray Watson's library */
|
||||||
@ -47,14 +47,14 @@ extern "C" {
|
|||||||
#define HAVE_LIBDMALLOC 0
|
#define HAVE_LIBDMALLOC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBDBMALLOC
|
#if defined(HAVE_LIBDBMALLOC) && HAVE_LIBDBMALLOC
|
||||||
#include <dbmalloc.h> /* Conor Cahill's library */
|
#include <dbmalloc.h> /* Conor Cahill's library */
|
||||||
#else
|
#else
|
||||||
#undef HAVE_LIBDBMALLOC
|
#undef HAVE_LIBDBMALLOC
|
||||||
#define HAVE_LIBDBMALLOC 0
|
#define HAVE_LIBDBMALLOC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if HAVE_LIBMPATROL
|
#if defined(HAVE_LIBMPATROL) && HAVE_LIBMPATROL
|
||||||
#include <mpatrol.h> /* Memory-Patrol library */
|
#include <mpatrol.h> /* Memory-Patrol library */
|
||||||
#else
|
#else
|
||||||
#undef HAVE_LIBMPATROL
|
#undef HAVE_LIBMPATROL
|
||||||
@ -74,9 +74,15 @@ extern NCURSES_EXPORT(void) _nc_free_tic(int) GCC_NORETURN;
|
|||||||
extern NCURSES_EXPORT(void) _nc_free_tparm(void);
|
extern NCURSES_EXPORT(void) _nc_free_tparm(void);
|
||||||
extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void);
|
extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void);
|
||||||
extern NCURSES_EXPORT(void) _nc_leaks_tic(void);
|
extern NCURSES_EXPORT(void) _nc_leaks_tic(void);
|
||||||
#define ExitProgram(code) _nc_free_and_exit(code)
|
|
||||||
|
#if NCURSES_SP_FUNCS
|
||||||
|
extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_free_and_exit)(SCREEN*, int) GCC_NORETURN;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define ExitProgram(code) _nc_free_and_exit(code)
|
||||||
|
|
||||||
|
#endif /* NO_LEAKS, etc */
|
||||||
|
|
||||||
#ifndef HAVE_NC_FREEALL
|
#ifndef HAVE_NC_FREEALL
|
||||||
#define HAVE_NC_FREEALL 0
|
#define HAVE_NC_FREEALL 0
|
||||||
#endif
|
#endif
|
||||||
|
69
contrib/ncurses/include/nc_mingw.h
Normal file
69
contrib/ncurses/include/nc_mingw.h
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Copyright (c) 2008-2009,2010 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.3 2010/09/25 22:16:12 juergen Exp $ */
|
||||||
|
|
||||||
|
#ifndef NC_MINGW_H
|
||||||
|
#define NC_MINGW_H 1
|
||||||
|
|
||||||
|
#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)
|
||||||
|
|
||||||
|
#include <sys/time.h> /* for struct timeval */
|
||||||
|
|
||||||
|
extern 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(ucs)
|
||||||
|
extern int _nc_wcwidth(wchar_t);
|
||||||
|
|
||||||
|
#endif /* NC_MINGW_H */
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2000,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -31,9 +31,8 @@
|
|||||||
* and: Thomas E. Dickey *
|
* and: Thomas E. Dickey *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Id: nc_panel.h,v 1.5 2008/08/04 18:26:46 tom Exp $
|
* $Id: nc_panel.h,v 1.7 2009/07/04 18:20:02 tom Exp $
|
||||||
*
|
*
|
||||||
* nc_panel.h
|
* nc_panel.h
|
||||||
*
|
*
|
||||||
@ -45,25 +44,33 @@
|
|||||||
#define NC_PANEL_H 1
|
#define NC_PANEL_H 1
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C"
|
||||||
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct panel; /* Forward Declaration */
|
struct panel; /* Forward Declaration */
|
||||||
|
|
||||||
struct panelhook {
|
struct panelhook
|
||||||
struct panel* top_panel;
|
{
|
||||||
struct panel* bottom_panel;
|
struct panel *top_panel;
|
||||||
struct panel* stdscr_pseudo_panel;
|
struct panel *bottom_panel;
|
||||||
|
struct panel *stdscr_pseudo_panel;
|
||||||
#if NO_LEAKS
|
#if NO_LEAKS
|
||||||
int (*destroy)(struct panel *);
|
int (*destroy) (struct panel *);
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Retrieve the panelhook of the current screen */
|
struct screen; /* Forward declaration */
|
||||||
extern NCURSES_EXPORT(struct panelhook*) _nc_panelhook (void);
|
/* 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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* NC_PANEL_H */
|
#endif /* NC_PANEL_H */
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 2006 Free Software Foundation, Inc. *
|
* Copyright (c) 2006,2010 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -30,13 +30,19 @@
|
|||||||
* Author: Thomas E. Dickey 2006 *
|
* Author: Thomas E. Dickey 2006 *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: nc_tparm.h,v 1.4 2006/11/26 00:49:25 tom Exp $ */
|
/* $Id: nc_tparm.h,v 1.5 2010/12/25 20:27:22 tom Exp $ */
|
||||||
|
|
||||||
|
#ifndef NC_TPARM_included
|
||||||
|
#define NC_TPARM_included 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cast parameters past the formatting-string for tparm() to match the
|
* Cast parameters past the formatting-string for tparm() to match the
|
||||||
* assumption of the varargs code.
|
* assumption of the varargs code.
|
||||||
*/
|
*/
|
||||||
|
#ifndef TPARM_ARG
|
||||||
#define TPARM_ARG long
|
#define TPARM_ARG long
|
||||||
|
#endif
|
||||||
|
|
||||||
#define TPARM_N(n) (TPARM_ARG)(n)
|
#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))
|
#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))
|
||||||
@ -63,3 +69,5 @@
|
|||||||
#define TPARM_1(a,b) TPARM_2(a,b,0)
|
#define TPARM_1(a,b) TPARM_2(a,b,0)
|
||||||
#define TPARM_0(a) TPARM_1(a,0)
|
#define TPARM_0(a) TPARM_1(a,0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#endif /* NC_TPARM_included */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: ncurses_defs,v 1.40 2008/09/06 15:57:41 tom Exp $
|
# $Id: ncurses_defs,v 1.46 2011/03/22 09:17:59 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 2000-2007,2008 Free Software Foundation, Inc. #
|
# Copyright (c) 2000-2010,2011 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -85,6 +85,7 @@ HAVE_LIMITS_H
|
|||||||
HAVE_LINK
|
HAVE_LINK
|
||||||
HAVE_LOCALE_H
|
HAVE_LOCALE_H
|
||||||
HAVE_LONG_FILE_NAMES
|
HAVE_LONG_FILE_NAMES
|
||||||
|
HAVE_MATH_H
|
||||||
HAVE_MBLEN
|
HAVE_MBLEN
|
||||||
HAVE_MBRLEN
|
HAVE_MBRLEN
|
||||||
HAVE_MBRTOWC
|
HAVE_MBRTOWC
|
||||||
@ -110,11 +111,13 @@ HAVE_REMOVE
|
|||||||
HAVE_RESIZETERM
|
HAVE_RESIZETERM
|
||||||
HAVE_RESIZE_TERM
|
HAVE_RESIZE_TERM
|
||||||
HAVE_RIPOFFLINE 1
|
HAVE_RIPOFFLINE 1
|
||||||
|
HAVE_SCR_DUMP 1
|
||||||
HAVE_SELECT
|
HAVE_SELECT
|
||||||
HAVE_SETBUF
|
HAVE_SETBUF
|
||||||
HAVE_SETBUFFER
|
HAVE_SETBUFFER
|
||||||
HAVE_SETUPTERM 1
|
HAVE_SETUPTERM 1
|
||||||
HAVE_SETVBUF
|
HAVE_SETVBUF
|
||||||
|
HAVE_SGTTY_H
|
||||||
HAVE_SIGACTION
|
HAVE_SIGACTION
|
||||||
HAVE_SIGVEC
|
HAVE_SIGVEC
|
||||||
HAVE_SIZECHANGE
|
HAVE_SIZECHANGE
|
||||||
@ -139,6 +142,7 @@ HAVE_TERMATTRS 1
|
|||||||
HAVE_TERMIOS_H
|
HAVE_TERMIOS_H
|
||||||
HAVE_TERMIO_H
|
HAVE_TERMIO_H
|
||||||
HAVE_TERMNAME 1
|
HAVE_TERMNAME 1
|
||||||
|
HAVE_TERM_ENTRY_H 1
|
||||||
HAVE_TERM_H 1
|
HAVE_TERM_H 1
|
||||||
HAVE_TGETENT 1
|
HAVE_TGETENT 1
|
||||||
HAVE_TIGETNUM 1
|
HAVE_TIGETNUM 1
|
||||||
@ -163,6 +167,7 @@ HAVE_WCTYPE_H
|
|||||||
HAVE_WINSSTR 1
|
HAVE_WINSSTR 1
|
||||||
HAVE_WORKING_POLL
|
HAVE_WORKING_POLL
|
||||||
HAVE_WRESIZE
|
HAVE_WRESIZE
|
||||||
|
HAVE_WSYNCDOWN 1
|
||||||
HAVE__DOSCAN
|
HAVE__DOSCAN
|
||||||
MIXEDCASE_FILENAMES
|
MIXEDCASE_FILENAMES
|
||||||
NCURSES_CHAR_EQ
|
NCURSES_CHAR_EQ
|
||||||
@ -171,7 +176,6 @@ NCURSES_EXT_COLORS
|
|||||||
NCURSES_EXT_FUNCS
|
NCURSES_EXT_FUNCS
|
||||||
NCURSES_NO_PADDING
|
NCURSES_NO_PADDING
|
||||||
NCURSES_PATHSEP ':'
|
NCURSES_PATHSEP ':'
|
||||||
NDEBUG
|
|
||||||
NEED_PTEM_H
|
NEED_PTEM_H
|
||||||
NO_LEAKS
|
NO_LEAKS
|
||||||
PURE_TERMINFO
|
PURE_TERMINFO
|
||||||
@ -195,6 +199,7 @@ USE_HOME_TERMINFO
|
|||||||
USE_LINKS
|
USE_LINKS
|
||||||
USE_MY_MEMMOVE
|
USE_MY_MEMMOVE
|
||||||
USE_OK_BCOPY
|
USE_OK_BCOPY
|
||||||
|
USE_PTHREADS_EINTR
|
||||||
USE_RCS_IDS
|
USE_RCS_IDS
|
||||||
USE_REENTRANT
|
USE_REENTRANT
|
||||||
USE_SAFE_SPRINTF
|
USE_SAFE_SPRINTF
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -25,11 +25,18 @@
|
|||||||
* sale, use or other dealings in this Software without prior written *
|
* sale, use or other dealings in this Software without prior written *
|
||||||
* authorization. *
|
* authorization. *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
/* $Id: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */
|
/* $Id: ncurses_dll.h.in,v 1.8 2009/04/04 22:26:27 tom Exp $ */
|
||||||
|
|
||||||
#ifndef NCURSES_DLL_H_incl
|
#ifndef NCURSES_DLL_H_incl
|
||||||
#define NCURSES_DLL_H_incl 1
|
#define NCURSES_DLL_H_incl 1
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 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
|
||||||
|
#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
|
||||||
|
|
||||||
/* no longer needed on cygwin or mingw, thanks to auto-import */
|
/* no longer needed on cygwin or mingw, thanks to auto-import */
|
||||||
/* but this structure may be useful at some point for an MSVC build */
|
/* but this structure may be useful at some point for an MSVC build */
|
||||||
/* so, for now unconditionally define the important flags */
|
/* so, for now unconditionally define the important flags */
|
||||||
@ -37,7 +44,7 @@
|
|||||||
#undef NCURSES_DLL
|
#undef NCURSES_DLL
|
||||||
#define NCURSES_STATIC
|
#define NCURSES_STATIC
|
||||||
|
|
||||||
#if defined(__CYGWIN__)
|
#if defined(__CYGWIN__) || defined(__MINGW32__)
|
||||||
# if defined(NCURSES_DLL)
|
# if defined(NCURSES_DLL)
|
||||||
# if defined(NCURSES_STATIC)
|
# if defined(NCURSES_STATIC)
|
||||||
# undef NCURSES_STATIC
|
# undef NCURSES_STATIC
|
||||||
@ -76,11 +83,4 @@
|
|||||||
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
|
# define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* For reentrant code, we map the various global variables into SCREEN by
|
|
||||||
* using functions to access them.
|
|
||||||
*/
|
|
||||||
#define NCURSES_PUBLIC_VAR(name) _nc_##name
|
|
||||||
#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void)
|
|
||||||
|
|
||||||
#endif /* NCURSES_DLL_H_incl */
|
#endif /* NCURSES_DLL_H_incl */
|
164
contrib/ncurses/include/ncurses_mingw.h
Normal file
164
contrib/ncurses/include/ncurses_mingw.h
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* Copyright (c) 1998-2007,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: Juergen Pfeifer, 2008-on *
|
||||||
|
* *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/* $Id: ncurses_mingw.h,v 1.1 2008/12/14 19:22:16 juergen Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is a placholder up to now and describes what needs to be implemented
|
||||||
|
* to support I/O to external terminals with ncurses on the Windows OS.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if __MINGW32__
|
||||||
|
#ifndef _NC_MINGWH
|
||||||
|
#define _NC_MINGWH
|
||||||
|
|
||||||
|
#define USE_CONSOLE_DRIVER 1
|
||||||
|
|
||||||
|
#undef TERMIOS
|
||||||
|
#define TERMIOS 1
|
||||||
|
|
||||||
|
#define InvalidHandle ((TERM_HANDLE)-1)
|
||||||
|
#define InvalidConsoleHandle(s) ((s)==InvalidHandle)
|
||||||
|
|
||||||
|
typedef unsigned char cc_t;
|
||||||
|
typedef unsigned int speed_t;
|
||||||
|
typedef unsigned int tcflag_t;
|
||||||
|
|
||||||
|
#define NCCS 32
|
||||||
|
struct termios
|
||||||
|
{
|
||||||
|
tcflag_t c_iflag; /* input mode */
|
||||||
|
tcflag_t c_oflag; /* output mode */
|
||||||
|
tcflag_t c_cflag; /* control mode */
|
||||||
|
tcflag_t c_lflag; /* local mode */
|
||||||
|
cc_t c_line; /* line discipline */
|
||||||
|
cc_t c_cc[NCCS]; /* control characters */
|
||||||
|
speed_t c_ispeed; /* input speed */
|
||||||
|
speed_t c_ospeed; /* c_ospeed */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* c_cc chars */
|
||||||
|
#define VINTR 0
|
||||||
|
#define VQUIT 1
|
||||||
|
#define VERASE 2
|
||||||
|
#define VKILL 3
|
||||||
|
#define VEOF 4
|
||||||
|
#define VTIME 5
|
||||||
|
#define VMIN 6
|
||||||
|
|
||||||
|
/* c_iflag bits */
|
||||||
|
#define ISTRIP 0000040
|
||||||
|
#define INLCR 0000100
|
||||||
|
#define IGNCR 0000200
|
||||||
|
#define ICRNL 0000400
|
||||||
|
#define BRKINT 0000002
|
||||||
|
#define PARMRK 0000010
|
||||||
|
#define IXON 0002000
|
||||||
|
#define IGNBRK 0000001
|
||||||
|
#define IGNPAR 0000004
|
||||||
|
#define INPCK 0000020
|
||||||
|
#define IXOFF 0010000
|
||||||
|
|
||||||
|
/* c_oflag bits */
|
||||||
|
#define OPOST 0000001
|
||||||
|
|
||||||
|
/* c_cflag bit meaning */
|
||||||
|
#define CBAUD 0010017
|
||||||
|
#define CSIZE 0000060
|
||||||
|
#define CS8 0000060
|
||||||
|
#define B0 0000000
|
||||||
|
#define B50 0000001
|
||||||
|
#define B75 0000002
|
||||||
|
#define B110 0000003
|
||||||
|
#define B134 0000004
|
||||||
|
#define B150 0000005
|
||||||
|
#define B200 0000006
|
||||||
|
#define B300 0000007
|
||||||
|
#define B600 0000010
|
||||||
|
#define B1200 0000011
|
||||||
|
#define B1800 0000012
|
||||||
|
#define B2400 0000013
|
||||||
|
#define B4800 0000014
|
||||||
|
#define B9600 0000015
|
||||||
|
#define CLOCAL 0004000
|
||||||
|
#define CREAD 0000200
|
||||||
|
#define CSTOPB 0000100
|
||||||
|
#define HUPCL 0002000
|
||||||
|
#define PARENB 0000400
|
||||||
|
#define PARODD 0001000
|
||||||
|
|
||||||
|
/* c_lflag bits */
|
||||||
|
#define ECHO 0000010
|
||||||
|
#define ECHONL 0000100
|
||||||
|
#define ISIG 0000001
|
||||||
|
#define IEXTEN 0100000
|
||||||
|
#define ICANON 0000002
|
||||||
|
#define NOFLSH 0000200
|
||||||
|
#define ECHOE 0000020
|
||||||
|
#define ECHOK 0000040
|
||||||
|
|
||||||
|
/* tcflush() */
|
||||||
|
#define TCIFLUSH 0
|
||||||
|
|
||||||
|
/* tcsetattr uses these */
|
||||||
|
#define TCSADRAIN 1
|
||||||
|
|
||||||
|
/* ioctls */
|
||||||
|
#define TCGETA 0x5405
|
||||||
|
#define TCFLSH 0x540B
|
||||||
|
#define TIOCGWINSZ 0x5413
|
||||||
|
|
||||||
|
extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg);
|
||||||
|
extern void _nc_set_term_driver(void* term);
|
||||||
|
|
||||||
|
#ifndef cfgetospeed
|
||||||
|
#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef tcsetattr
|
||||||
|
#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef tcgetattr
|
||||||
|
#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef tcflush
|
||||||
|
#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef ttyname
|
||||||
|
#define ttyname(fd) NULL
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2005,2008 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -32,7 +32,7 @@
|
|||||||
* and: Thomas E. Dickey 1998-on *
|
* and: Thomas E. Dickey 1998-on *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/* $Id: term_entry.h,v 1.35 2008/08/16 16:16:03 tom Exp $ */
|
/* $Id: term_entry.h,v 1.37 2009/07/11 16:52:29 tom Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* term_entry.h -- interface to entry-manipulation code
|
* term_entry.h -- interface to entry-manipulation code
|
||||||
@ -81,12 +81,18 @@ ENTRY;
|
|||||||
#define EXT_NAMES(tp,i,limit,index,table) table[i]
|
#define EXT_NAMES(tp,i,limit,index,table) table[i]
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NUM_EXT_NAMES(tp) ((tp)->ext_Booleans + (tp)->ext_Numbers + (tp)->ext_Strings)
|
#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_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_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++)
|
#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; n < NUM_BOOLEANS(tp); n++)
|
||||||
|
#define for_each_ext_number(n,tp) for(n = NUMCOUNT; n < NUM_NUMBERS(tp); n++)
|
||||||
|
#define for_each_ext_string(n,tp) for(n = STRCOUNT; n < NUM_STRINGS(tp); n++)
|
||||||
|
#endif
|
||||||
|
|
||||||
#define ExtBoolname(tp,i,names) EXT_NAMES(tp, i, BOOLCOUNT, (i - (tp->num_Booleans - tp->ext_Booleans)), names)
|
#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 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)
|
#define ExtStrname(tp,i,names) EXT_NAMES(tp, i, STRCOUNT, (i - (tp->num_Strings - tp->ext_Strings)) + (tp->ext_Numbers + tp->ext_Booleans), names)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2007,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -33,7 +33,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* $Id: tic.h,v 1.62 2007/08/11 16:12:43 tom Exp $
|
* $Id: tic.h,v 1.65 2009/08/08 17:52:46 tom Exp $
|
||||||
* tic.h - Global variables and structures for the terminfo
|
* tic.h - Global variables and structures for the terminfo
|
||||||
* compiler.
|
* compiler.
|
||||||
*/
|
*/
|
||||||
@ -183,6 +183,8 @@ extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[];
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
typedef short HashValue;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The file comp_captab.c contains an array of these structures, one
|
* The file comp_captab.c contains an array of these structures, one
|
||||||
* per possible capability. These are indexed by a hash table array of
|
* per possible capability. These are indexed by a hash table array of
|
||||||
@ -193,10 +195,21 @@ struct name_table_entry
|
|||||||
{
|
{
|
||||||
const char *nte_name; /* name to hash on */
|
const char *nte_name; /* name to hash on */
|
||||||
int nte_type; /* BOOLEAN, NUMBER or STRING */
|
int nte_type; /* BOOLEAN, NUMBER or STRING */
|
||||||
short nte_index; /* index of associated variable in its array */
|
HashValue nte_index; /* index of associated variable in its array */
|
||||||
short nte_link; /* index in table of next hash, or -1 */
|
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
|
struct alias
|
||||||
{
|
{
|
||||||
const char *from;
|
const char *from;
|
||||||
@ -205,7 +218,8 @@ struct alias
|
|||||||
};
|
};
|
||||||
|
|
||||||
extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
|
extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool);
|
||||||
extern NCURSES_EXPORT(const short *) _nc_get_hash_table (bool);
|
extern NCURSES_EXPORT(const HashData *) _nc_get_hash_info (bool);
|
||||||
|
extern NCURSES_EXPORT(const HashValue *) _nc_get_hash_table (bool);
|
||||||
extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool);
|
extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool);
|
||||||
|
|
||||||
#define NOTFOUND ((struct name_table_entry *) 0)
|
#define NOTFOUND ((struct name_table_entry *) 0)
|
||||||
@ -244,9 +258,9 @@ extern NCURSES_EXPORT(char *) _nc_rootname (char *);
|
|||||||
|
|
||||||
/* comp_hash.c: name lookup */
|
/* comp_hash.c: name lookup */
|
||||||
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry
|
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry
|
||||||
(const char *, const short *);
|
(const char *, const HashValue *);
|
||||||
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry
|
extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry
|
||||||
(const char *, int, const struct name_table_entry *);
|
(const char *, int, bool);
|
||||||
|
|
||||||
/* comp_scan.c: lexical analysis */
|
/* comp_scan.c: lexical analysis */
|
||||||
extern NCURSES_EXPORT(int) _nc_get_token (bool);
|
extern NCURSES_EXPORT(int) _nc_get_token (bool);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Copyright (c) 1998,2000 Free Software Foundation, Inc. *
|
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
|
||||||
* *
|
* *
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a *
|
* Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
* copy of this software and associated documentation files (the *
|
* copy of this software and associated documentation files (the *
|
||||||
@ -39,7 +39,7 @@
|
|||||||
* as ^?. Printable characters are displayed as is.
|
* as ^?. Printable characters are displayed as is.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: unctrl.h.in,v 1.10 2001/03/24 21:53:25 tom Exp $ */
|
/* $Id: unctrl.h.in,v 1.11 2009/04/18 21:00:52 tom Exp $ */
|
||||||
|
|
||||||
#ifndef NCURSES_UNCTRL_H_incl
|
#ifndef NCURSES_UNCTRL_H_incl
|
||||||
#define NCURSES_UNCTRL_H_incl 1
|
#define NCURSES_UNCTRL_H_incl 1
|
||||||
@ -56,6 +56,10 @@ extern "C" {
|
|||||||
#undef unctrl
|
#undef unctrl
|
||||||
NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
|
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
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
57
contrib/ncurses/man/MKada_config.in
Normal file
57
contrib/ncurses/man/MKada_config.in
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
.\"***************************************************************************
|
||||||
|
.\" Copyright (c) 2010,2011 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: MKada_config.in,v 1.5 2011/03/26 14:44:51 tom Exp $
|
||||||
|
.TH ADACURSES "1" "" "" "User Commands"
|
||||||
|
.SH NAME
|
||||||
|
adacurses\-config \- helper script for AdaCurses libraries
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B adacurses\-config
|
||||||
|
[\fIoptions\fR]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This is a shell script which simplifies configuring an application to use
|
||||||
|
the AdaCurses library binding to ncurses.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-\-cflags\fR
|
||||||
|
echos the gnat (Ada compiler) flags needed to compile with AdaCurses.
|
||||||
|
.TP
|
||||||
|
\fB\-\-libs\fR
|
||||||
|
echos the gnat libraries needed to link with AdaCurses.
|
||||||
|
.TP
|
||||||
|
\fB\-\-version\fR
|
||||||
|
echos the release+patchdate version of the ncurses libraries used
|
||||||
|
to configure and build AdaCurses.
|
||||||
|
.TP
|
||||||
|
\fB\-\-help\fR
|
||||||
|
prints a list of the \fBadacurses\-config\fP script's options.
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
\fBcurses\fR(3X)
|
||||||
|
.PP
|
||||||
|
This describes \fBncurses\fR
|
||||||
|
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
98
contrib/ncurses/man/MKncu_config.in
Normal file
98
contrib/ncurses/man/MKncu_config.in
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
.\"***************************************************************************
|
||||||
|
.\" Copyright (c) 2010 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: MKncu_config.in,v 1.3 2010/03/06 22:29:17 tom Exp $
|
||||||
|
.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 ""
|
||||||
|
.SH NAME
|
||||||
|
@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config \- helper script for ncurses libraries
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config
|
||||||
|
[\fIoptions\fR]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This is a shell script which simplifies configuring applications against
|
||||||
|
a particular set of ncurses libraries.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-\-prefix\fR
|
||||||
|
echos the package\-prefix of ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-exec\-prefix\fR
|
||||||
|
echos the executable\-prefix of ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-cflags\fR
|
||||||
|
echos the C compiler flags needed to compile with ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-libs\fR
|
||||||
|
echos the libraries needed to link with ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-version\fR
|
||||||
|
echos the release+patchdate version of ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-abi\-version\fR
|
||||||
|
echos the ABI version of ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-mouse\-version\fR
|
||||||
|
echos the mouse\-interface version of ncurses
|
||||||
|
.TP
|
||||||
|
\fB\-\-bindir\fR
|
||||||
|
echos the directory containing ncurses programs
|
||||||
|
.TP
|
||||||
|
\fB\-\-datadir\fR
|
||||||
|
echos the directory containing ncurses data
|
||||||
|
.TP
|
||||||
|
\fB\-\-includedir\fR
|
||||||
|
echos the directory containing ncurses header files
|
||||||
|
.TP
|
||||||
|
\fB\-\-libdir\fR
|
||||||
|
echos the directory containing ncurses libraries
|
||||||
|
.TP
|
||||||
|
\fB\-\-mandir\fR
|
||||||
|
echos the directory containing ncurses manpages
|
||||||
|
.TP
|
||||||
|
\fB\-\-terminfo\fR
|
||||||
|
echos the $TERMINFO terminfo database path, e.g.,
|
||||||
|
.RS
|
||||||
|
@TERMINFO@
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fB\-\-terminfo\-dirs\fR
|
||||||
|
echos the $TERMINFO_DIRS directory list, e.g.,
|
||||||
|
.RS
|
||||||
|
@TERMINFO_DIRS@
|
||||||
|
.RE
|
||||||
|
.TP
|
||||||
|
\fB\-\-termpath\fR
|
||||||
|
echos the $TERMPATH termcap list, if support for termcap is configured.
|
||||||
|
.TP
|
||||||
|
\fB\-\-help\fR
|
||||||
|
prints this message
|
||||||
|
.SH "SEE ALSO"
|
||||||
|
\fBcurses\fR(3X)
|
||||||
|
.PP
|
||||||
|
This describes \fBncurses\fR
|
||||||
|
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
@ -1,6 +1,6 @@
|
|||||||
# $Id: Makefile.in,v 1.41 2007/03/31 15:54:06 tom Exp $
|
# $Id: Makefile.in,v 1.45 2010/11/27 21:45:27 tom Exp $
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. #
|
# Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. #
|
||||||
# #
|
# #
|
||||||
# Permission is hereby granted, free of charge, to any person obtaining a #
|
# Permission is hereby granted, free of charge, to any person obtaining a #
|
||||||
# copy of this software and associated documentation files (the "Software"), #
|
# copy of this software and associated documentation files (the "Software"), #
|
||||||
@ -35,6 +35,7 @@
|
|||||||
# the top-level MANIFEST and any man/*.renames files!
|
# the top-level MANIFEST and any man/*.renames files!
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
VPATH = @srcdir@
|
||||||
|
|
||||||
DESTDIR = @DESTDIR@
|
DESTDIR = @DESTDIR@
|
||||||
srcdir = @srcdir@
|
srcdir = @srcdir@
|
||||||
@ -52,9 +53,9 @@ depend :
|
|||||||
tags :
|
tags :
|
||||||
|
|
||||||
$(DESTDIR)$(mandir) :
|
$(DESTDIR)$(mandir) :
|
||||||
sh $(srcdir)/../mkdirs.sh $@
|
mkdir -p $@
|
||||||
|
|
||||||
EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]*
|
EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 *-config.1 $(srcdir)/*.[0-9]*
|
||||||
|
|
||||||
install install.man : terminfo.5 $(DESTDIR)$(mandir)
|
install install.man : terminfo.5 $(DESTDIR)$(mandir)
|
||||||
sh ../edit_man.sh normal installing $(EDITARGS)
|
sh ../edit_man.sh normal installing $(EDITARGS)
|
||||||
@ -77,4 +78,4 @@ clean: mostlyclean
|
|||||||
sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed
|
sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed
|
||||||
|
|
||||||
distclean realclean: clean
|
distclean realclean: clean
|
||||||
rm -f Makefile ../edit_man.* ../man_alias.*
|
rm -f Makefile *-config.1 ../edit_man.* ../man_alias.*
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
'\" t
|
'\" t
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
.\" Copyright (c) 1998-2007,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -27,38 +27,44 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp $
|
.\" $Id: captoinfo.1m,v 1.25 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH @CAPTOINFO@ 1M ""
|
.TH @CAPTOINFO@ 1M ""
|
||||||
.ds n 5
|
.ds n 5
|
||||||
.ds d @TERMINFO@
|
.ds d @TERMINFO@
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fB@CAPTOINFO@\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description
|
\fB@CAPTOINFO@\fR \- convert a \fItermcap\fR description into a \fIterminfo\fR description
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fB@CAPTOINFO@\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . .
|
\fB@CAPTOINFO@\fR [\fB\-v\fR\fIn\fR \fIwidth\fR] [\fB\-V\fR] [\fB\-1\fR] [\fB\-w\fR \fIwidth\fR] \fIfile\fR . . .
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fB@CAPTOINFO@\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each
|
\fB@CAPTOINFO@\fR looks in each given text
|
||||||
|
\fIfile\fR for \fBtermcap\fR descriptions.
|
||||||
|
For each
|
||||||
one found, an equivalent \fBterminfo\fR description is written to standard
|
one found, an equivalent \fBterminfo\fR description is written to standard
|
||||||
output. Termcap \fBtc\fR capabilities are translated directly to terminfo
|
output.
|
||||||
|
Termcap \fBtc\fR capabilities are translated directly to terminfo
|
||||||
\fBuse\fR capabilities.
|
\fBuse\fR capabilities.
|
||||||
.PP
|
.PP
|
||||||
If no \fIfile\fR is given, then the environment variable \fBTERMCAP\fR is used
|
If no \fIfile\fR is given, then the environment variable \fBTERMCAP\fR is used
|
||||||
for the filename or entry. If \fBTERMCAP\fR is a full pathname to a file, only
|
for the filename or entry.
|
||||||
|
If \fBTERMCAP\fR is a full pathname to a file, only
|
||||||
the terminal whose name is specified in the environment variable \fBTERM\fR is
|
the terminal whose name is specified in the environment variable \fBTERM\fR is
|
||||||
extracted from that file. If the environment variable \fBTERMCAP\fR is not
|
extracted from that file.
|
||||||
|
If the environment variable \fBTERMCAP\fR is not
|
||||||
set, then the file \fB\*d\fR is read.
|
set, then the file \fB\*d\fR is read.
|
||||||
.TP 5
|
.TP 5
|
||||||
\fB-v\fR
|
\fB\-v\fR
|
||||||
print out tracing information on standard error as the program runs.
|
print out tracing information on standard error as the program runs.
|
||||||
.TP 5
|
.TP 5
|
||||||
\fB-V\fR
|
\fB\-V\fR
|
||||||
print out the version of the program in use on standard error and exit.
|
print out the version of the program in use on standard error and exit.
|
||||||
.TP 5
|
.TP 5
|
||||||
\fB-1\fR
|
\fB\-1\fR
|
||||||
cause the fields to print out one to a line. Otherwise, the fields
|
cause the fields to print out one to a line.
|
||||||
|
Otherwise, the fields
|
||||||
will be printed several to a line to a maximum width of 60
|
will be printed several to a line to a maximum width of 60
|
||||||
characters.
|
characters.
|
||||||
.TP 5
|
.TP 5
|
||||||
\fB-w\fR
|
\fB\-w\fR
|
||||||
change the output to \fIwidth\fR characters.
|
change the output to \fIwidth\fR characters.
|
||||||
.SH FILES
|
.SH FILES
|
||||||
.TP 20
|
.TP 20
|
||||||
@ -112,7 +118,8 @@ HS mh Iris enter_dim_mode
|
|||||||
.PP
|
.PP
|
||||||
XENIX termcap also used to have a set of extension capabilities
|
XENIX termcap also used to have a set of extension capabilities
|
||||||
for forms drawing, designed to take advantage of the IBM PC
|
for forms drawing, designed to take advantage of the IBM PC
|
||||||
high-half graphics. They were as follows:
|
high-half graphics.
|
||||||
|
They were as follows:
|
||||||
.PP
|
.PP
|
||||||
.TS H
|
.TS H
|
||||||
c c
|
c c
|
||||||
@ -145,11 +152,13 @@ GG acs magic cookie count
|
|||||||
.TE
|
.TE
|
||||||
.PP
|
.PP
|
||||||
If the single-line capabilities occur in an entry, they will automatically
|
If the single-line capabilities occur in an entry, they will automatically
|
||||||
be composed into an \fIacsc\fR string. The double-line capabilities and
|
be composed into an \fIacsc\fR string.
|
||||||
|
The double-line capabilities and
|
||||||
\fBGG\fR are discarded with a warning message.
|
\fBGG\fR are discarded with a warning message.
|
||||||
.PP
|
.PP
|
||||||
IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible
|
IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible
|
||||||
with the SVr4 format. The following AIX extensions are automatically
|
with the SVr4 format.
|
||||||
|
The following AIX extensions are automatically
|
||||||
translated:
|
translated:
|
||||||
.TS
|
.TS
|
||||||
c c
|
c c
|
||||||
@ -171,11 +180,12 @@ Hewlett-Packard's terminfo library supports two nonstandard terminfo
|
|||||||
capabilities \fImeml\fR (memory lock) and \fImemu\fR (memory unlock).
|
capabilities \fImeml\fR (memory lock) and \fImemu\fR (memory unlock).
|
||||||
These will be discarded with a warning message.
|
These will be discarded with a warning message.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
This utility is actually a link to \fB@TIC@\fR(1M), running in \fI-I\fR mode.
|
This utility is actually a link to \fB@TIC@\fR(1M), running in \fI\-I\fR mode.
|
||||||
You can use other \fB@TIC@\fR options such as \fB-f\fR and \fB-x\fR.
|
You can use other \fB@TIC@\fR options such as \fB\-f\fR and \fB\-x\fR.
|
||||||
.PP
|
.PP
|
||||||
The trace option is not identical to SVr4's. Under SVr4, instead of following
|
The trace option is not identical to SVr4's.
|
||||||
the \fB-v\fR with a trace level n, you repeat it n times.
|
Under SVr4, instead of following
|
||||||
|
the \fB\-v\fR with a trace level n, you repeat it n times.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fB@INFOCMP@\fR(1M),
|
\fB@INFOCMP@\fR(1M),
|
||||||
\fBcurses\fR(3X),
|
\fBcurses\fR(3X),
|
||||||
@ -185,9 +195,6 @@ This describes \fBncurses\fR
|
|||||||
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
Eric S. Raymond <esr@snark.thyrsus.com>
|
Eric S. Raymond <esr@snark.thyrsus.com>
|
||||||
.\"#
|
and
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
.br
|
||||||
.\"# Local Variables:
|
Thomas E. Dickey <dickey@invisible-island.net>
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. *
|
.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,11 +26,11 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp $
|
.\" $Id: clear.1,v 1.8 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH @CLEAR@ 1 ""
|
.TH @CLEAR@ 1 ""
|
||||||
.ds n 5
|
.ds n 5
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fB@CLEAR@\fR - clear the terminal screen
|
\fB@CLEAR@\fR \- clear the terminal screen
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fB@CLEAR@\fR
|
\fB@CLEAR@\fR
|
||||||
.br
|
.br
|
||||||
@ -45,9 +45,3 @@ figure out how to clear the screen.
|
|||||||
.PP
|
.PP
|
||||||
This describes \fBncurses\fR
|
This describes \fBncurses\fR
|
||||||
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 2001-2002,2006 Free Software Foundation, Inc. *
|
.\" Copyright (c) 2001-2010,2011 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,15 +26,18 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp $
|
.\" $Id: curs_add_wch.3x,v 1.14 2011/01/15 15:27:43 tom Exp $
|
||||||
.TH curs_add_wch 3X ""
|
.TH curs_add_wch 3X ""
|
||||||
|
.de bP
|
||||||
|
.IP \(bu 4
|
||||||
|
..
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fBadd_wch\fP,
|
\fBadd_wch\fP,
|
||||||
\fBwadd_wch\fP,
|
\fBwadd_wch\fP,
|
||||||
\fBmvadd_wch\fP,
|
\fBmvadd_wch\fP,
|
||||||
\fBmvwadd_wch\fP,
|
\fBmvwadd_wch\fP,
|
||||||
\fBecho_wchar\fP,
|
\fBecho_wchar\fP,
|
||||||
\fBwecho_wchar\fP - add a complex character and rendition to a \fBcurses\fR window, then advance the cursor
|
\fBwecho_wchar\fP \- add a complex character and rendition to a \fBcurses\fR window, then advance the cursor
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.PP
|
.PP
|
||||||
\fB#include <curses.h>\fP
|
\fB#include <curses.h>\fP
|
||||||
@ -63,23 +66,20 @@ window at its current position,
|
|||||||
which is then advanced.
|
which is then advanced.
|
||||||
These functions perform
|
These functions perform
|
||||||
wrapping and special-character processing as follows:
|
wrapping and special-character processing as follows:
|
||||||
.TP 5
|
.bP
|
||||||
-
|
|
||||||
If \fIwch\fP refers to a spacing character,
|
If \fIwch\fP refers to a spacing character,
|
||||||
then any previous character at that location is removed.
|
then any previous character at that location is removed.
|
||||||
A new character specified by \fIwch\fP is
|
A new character specified by \fIwch\fP is
|
||||||
placed at that location with rendition specified by \fIwch\fP.
|
placed at that location with rendition specified by \fIwch\fP.
|
||||||
The cursor then advances to
|
The cursor then advances to
|
||||||
the next spacing character on the screen.
|
the next spacing character on the screen.
|
||||||
.TP 5
|
.bP
|
||||||
-
|
|
||||||
If \fIwch\fP refers to a non-spacing character,
|
If \fIwch\fP refers to a non-spacing character,
|
||||||
all previous characters at that location are preserved.
|
all previous characters at that location are preserved.
|
||||||
The non-spacing characters of \fIwch\fP
|
The non-spacing characters of \fIwch\fP
|
||||||
are added to the spacing complex character,
|
are added to the spacing complex character,
|
||||||
and the rendition specified by \fIwch\fP is ignored.
|
and the rendition specified by \fIwch\fP is ignored.
|
||||||
.TP 5
|
.bP
|
||||||
-
|
|
||||||
If the character part of \fIwch\fP is
|
If the character part of \fIwch\fP is
|
||||||
a tab, newline, backspace or other control character,
|
a tab, newline, backspace or other control character,
|
||||||
the window is updated and the cursor moves as if \fBaddch\fR were called.
|
the window is updated and the cursor moves as if \fBaddch\fR were called.
|
||||||
@ -99,9 +99,90 @@ The knowledge
|
|||||||
that only a single character is being output is taken into consideration and,
|
that only a single character is being output is taken into consideration and,
|
||||||
for non-control characters, a considerable performance gain might be seen
|
for non-control characters, a considerable performance gain might be seen
|
||||||
by using the *\fBecho\fP* functions instead of their equivalents.
|
by using the *\fBecho\fP* functions instead of their equivalents.
|
||||||
|
.SS Line Graphics
|
||||||
|
Like \fBaddch\fP(3X),
|
||||||
|
\fBaddch_wch\fP accepts symbols which make it simple to draw lines and other
|
||||||
|
frequently used special characters.
|
||||||
|
These symbols correspond to the same VT100 line-drawing set as
|
||||||
|
\fBaddch\fP(3X).
|
||||||
|
.PP
|
||||||
|
.TS
|
||||||
|
l l l l
|
||||||
|
_ _ _ _
|
||||||
|
lw(1.5i) lw7 lw7 lw20.
|
||||||
|
\fIName\fR \fIUnicode\fP \fIDefault\fR \fIDescription\fR
|
||||||
|
WACS_BLOCK 0x25ae # solid square block
|
||||||
|
WACS_BOARD 0x2592 # board of squares
|
||||||
|
WACS_BTEE 0x2534 + bottom tee
|
||||||
|
WACS_BULLET 0x00b7 o bullet
|
||||||
|
WACS_CKBOARD 0x2592 : checker board (stipple)
|
||||||
|
WACS_DARROW 0x2193 v arrow pointing down
|
||||||
|
WACS_DEGREE 0x00b0 ' degree symbol
|
||||||
|
WACS_DIAMOND 0x25c6 + diamond
|
||||||
|
WACS_GEQUAL 0x2265 > greater-than-or-equal-to
|
||||||
|
WACS_HLINE 0x2500 \- horizontal line
|
||||||
|
WACS_LANTERN 0x2603 # lantern symbol
|
||||||
|
WACS_LARROW 0x2190 < arrow pointing left
|
||||||
|
WACS_LEQUAL 0x2264 < less-than-or-equal-to
|
||||||
|
WACS_LLCORNER 0x2514 + lower left-hand corner
|
||||||
|
WACS_LRCORNER 0x2518 + lower right-hand corner
|
||||||
|
WACS_LTEE 0x2524 + left tee
|
||||||
|
WACS_NEQUAL 0x2260 ! not-equal
|
||||||
|
WACS_PI 0x03c0 * greek pi
|
||||||
|
WACS_PLMINUS 0x00b1 # plus/minus
|
||||||
|
WACS_PLUS 0x253c + plus
|
||||||
|
WACS_RARROW 0x2192 > arrow pointing right
|
||||||
|
WACS_RTEE 0x251c + right tee
|
||||||
|
WACS_S1 0x23ba \- scan line 1
|
||||||
|
WACS_S3 0x23bb \- scan line 3
|
||||||
|
WACS_S7 0x23bc \- scan line 7
|
||||||
|
WACS_S9 0x23bd \&_ scan line 9
|
||||||
|
WACS_STERLING 0x00a3 f pound-sterling symbol
|
||||||
|
WACS_TTEE 0x252c + top tee
|
||||||
|
WACS_UARROW 0x2191 ^ arrow pointing up
|
||||||
|
WACS_ULCORNER 0x250c + upper left-hand corner
|
||||||
|
WACS_URCORNER 0x2510 + upper right-hand corner
|
||||||
|
WACS_VLINE 0x2502 | vertical line
|
||||||
|
.TE
|
||||||
|
.PP
|
||||||
|
The wide-character configuration of ncurses also defines symbols
|
||||||
|
for thick- and double-lines:
|
||||||
|
.PP
|
||||||
|
.TS
|
||||||
|
l l l l
|
||||||
|
_ _ _ _
|
||||||
|
lw(1.5i) lw7 lw7 lw20.
|
||||||
|
\fIName\fR \fIUnicode\fP \fIDefault\fR \fIDescription\fR
|
||||||
|
WACS_T_ULCORNER 0x250f + thick upper left corner
|
||||||
|
WACS_T_LLCORNER 0x2517 + thick lower left corner
|
||||||
|
WACS_T_URCORNER 0x2513 + thick upper right corner
|
||||||
|
WACS_T_LRCORNER 0x251b + thick lower right corner
|
||||||
|
WACS_T_LTEE 0x252b + thick tee pointing right
|
||||||
|
WACS_T_RTEE 0x2523 + thick tee pointing left
|
||||||
|
WACS_T_BTEE 0x253b + thick tee pointing up
|
||||||
|
WACS_T_TTEE 0x2533 + thick tee pointing down
|
||||||
|
WACS_T_HLINE 0x2501 - thick horizontal line
|
||||||
|
WACS_T_VLINE 0x2503 | thick vertical line
|
||||||
|
WACS_T_PLUS 0x254b + thick large plus or crossover
|
||||||
|
WACS_D_ULCORNER 0x2554 + double upper left corner
|
||||||
|
WACS_D_LLCORNER 0x255a + double lower left corner
|
||||||
|
WACS_D_URCORNER 0x2557 + double upper right corner
|
||||||
|
WACS_D_LRCORNER 0x255d + double lower right corner
|
||||||
|
WACS_D_RTEE 0x2563 + double tee pointing left
|
||||||
|
WACS_D_LTEE 0x2560 + double tee pointing right
|
||||||
|
WACS_D_BTEE 0x2569 + double tee pointing up
|
||||||
|
WACS_D_TTEE 0x2566 + double tee pointing down
|
||||||
|
WACS_D_HLINE 0x2550 - double horizontal line
|
||||||
|
WACS_D_VLINE 0x2551 | double vertical line
|
||||||
|
WACS_D_PLUS 0x256c + double large plus or crossover
|
||||||
|
.TE
|
||||||
.SH RETURN VALUES
|
.SH RETURN VALUES
|
||||||
.PP
|
.PP
|
||||||
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
.PP
|
.PP
|
||||||
Note that
|
Note that
|
||||||
@ -112,12 +193,26 @@ Note that
|
|||||||
may be macros.
|
may be macros.
|
||||||
.SH PORTABILITY
|
.SH PORTABILITY
|
||||||
.PP
|
.PP
|
||||||
All these functions are described in the XSI Curses standard, Issue 4.
|
All of these functions are described in the XSI Curses standard, Issue 4.
|
||||||
The defaults specified for forms-drawing characters apply in the POSIX locale.
|
The defaults specified for line-drawing characters apply in the POSIX locale.
|
||||||
.PP
|
.PP
|
||||||
XSI documents constants beginning with \fBWACS_\fP which are used for
|
X/Open Curses makes it clear that the WACS_ symbols should be defined as
|
||||||
line-drawing.
|
a pointer to \fBcchar_t\fP data, e.g., in the discussion of \fBborder_set\fR.
|
||||||
Those are not currently implemented in \fBncurses\fP.
|
A few implementations are problematic:
|
||||||
|
.bP
|
||||||
|
NetBSD curses defines the symbols as a \fBwchar_t\fP within a \fBcchar_t\fP.
|
||||||
|
.bP
|
||||||
|
HPUX curses equates some of the \fIACS_\fP symbols
|
||||||
|
to the analogous \fIWACS_\fP symbols as if the \fIACS_\fP symbols were
|
||||||
|
wide characters.
|
||||||
|
The misdefined symbols are the arrows
|
||||||
|
and other symbols which are not used for line-drawing.
|
||||||
|
.PP
|
||||||
|
X/Open Curses does not define symbols for thick- or double-lines.
|
||||||
|
SVr4 curses implementations defined their line-drawing symbols in
|
||||||
|
terms of intermediate symbols.
|
||||||
|
This implementation extends those symbols, providing new definitions
|
||||||
|
which are not in the SVr4 implementations.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.PP
|
.PP
|
||||||
\fBcurses\fR(3X),
|
\fBcurses\fR(3X),
|
||||||
@ -127,9 +222,3 @@ Those are not currently implemented in \fBncurses\fP.
|
|||||||
\fBcurs_outopts\fR(3X),
|
\fBcurs_outopts\fR(3X),
|
||||||
\fBcurs_refresh\fR(3X),
|
\fBcurs_refresh\fR(3X),
|
||||||
\fBputwc\fR(3)
|
\fBputwc\fR(3)
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 2002-2004,2005 Free Software Foundation, Inc. *
|
.\" Copyright (c) 2002-2005,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,7 +26,7 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_add_wchstr.3x,v 1.6 2005/01/02 01:28:49 tom Exp $
|
.\" $Id: curs_add_wchstr.3x,v 1.9 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH curs_add_wchstr 3X ""
|
.TH curs_add_wchstr 3X ""
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fBadd_wchstr\fR,
|
\fBadd_wchstr\fR,
|
||||||
@ -62,7 +62,7 @@ These routines copy the array of complex characters \fIwchstr\fR
|
|||||||
into the window image structure at and after the current cursor position.
|
into the window image structure at and after the current cursor position.
|
||||||
The four routines with \fIn\fR as the last
|
The four routines with \fIn\fR as the last
|
||||||
argument copy at most \fIn\fR elements, but no more than will fit on the line.
|
argument copy at most \fIn\fR elements, but no more than will fit on the line.
|
||||||
If \fBn\fR=\fB-1\fR then the whole array is copied,
|
If \fBn\fR=\fB\-1\fR then the whole array is copied,
|
||||||
to the maximum number of characters that will fit on the line.
|
to the maximum number of characters that will fit on the line.
|
||||||
.PP
|
.PP
|
||||||
The window cursor is \fInot\fR advanced.
|
The window cursor is \fInot\fR advanced.
|
||||||
@ -83,15 +83,13 @@ the remaining columns are filled with the background character and rendition.
|
|||||||
All functions except \fBwadd_wchnstr\fR may be macros.
|
All functions except \fBwadd_wchnstr\fR may be macros.
|
||||||
.SH RETURN VALUES
|
.SH RETURN VALUES
|
||||||
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH PORTABILITY
|
.SH PORTABILITY
|
||||||
All these entry points are described in the XSI Curses standard, Issue 4.
|
All these entry points are described in the XSI Curses standard, Issue 4.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fBcurses\fR(3X),
|
\fBcurses\fR(3X),
|
||||||
\fBcurs_addchstr\fR(3X),
|
\fBcurs_addchstr\fR(3X),
|
||||||
\fBcurs_addwstr\fR(3X)
|
\fBcurs_addwstr\fR(3X)
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
'\" t
|
'\" t
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *
|
.\" Copyright (c) 1998-2010,2011 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -27,12 +27,15 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp $
|
.\" $Id: curs_addch.3x,v 1.32 2011/01/15 14:15:10 tom Exp $
|
||||||
.TH curs_addch 3X ""
|
.TH curs_addch 3X ""
|
||||||
.SH NAME
|
.SH NAME
|
||||||
\fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR,
|
\fBaddch\fR,
|
||||||
|
\fBwaddch\fR,
|
||||||
|
\fBmvaddch\fR,
|
||||||
|
\fBmvwaddch\fR,
|
||||||
\fBechochar\fR,
|
\fBechochar\fR,
|
||||||
\fBwechochar\fR - add a character (with attributes) to a \fBcurses\fR window, then advance the cursor
|
\fBwechochar\fR \- add a character (with attributes) to a \fBcurses\fR window, then advance the cursor
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fB#include <curses.h>\fR
|
\fB#include <curses.h>\fR
|
||||||
.PP
|
.PP
|
||||||
@ -105,7 +108,7 @@ ACS_DARROW v arrow pointing down
|
|||||||
ACS_DEGREE ' degree symbol
|
ACS_DEGREE ' degree symbol
|
||||||
ACS_DIAMOND + diamond
|
ACS_DIAMOND + diamond
|
||||||
ACS_GEQUAL > greater-than-or-equal-to
|
ACS_GEQUAL > greater-than-or-equal-to
|
||||||
ACS_HLINE - horizontal line
|
ACS_HLINE \- horizontal line
|
||||||
ACS_LANTERN # lantern symbol
|
ACS_LANTERN # lantern symbol
|
||||||
ACS_LARROW < arrow pointing left
|
ACS_LARROW < arrow pointing left
|
||||||
ACS_LEQUAL < less-than-or-equal-to
|
ACS_LEQUAL < less-than-or-equal-to
|
||||||
@ -118,9 +121,9 @@ ACS_PLMINUS # plus/minus
|
|||||||
ACS_PLUS + plus
|
ACS_PLUS + plus
|
||||||
ACS_RARROW > arrow pointing right
|
ACS_RARROW > arrow pointing right
|
||||||
ACS_RTEE + right tee
|
ACS_RTEE + right tee
|
||||||
ACS_S1 - scan line 1
|
ACS_S1 \- scan line 1
|
||||||
ACS_S3 - scan line 3
|
ACS_S3 \- scan line 3
|
||||||
ACS_S7 - scan line 7
|
ACS_S7 \- scan line 7
|
||||||
ACS_S9 \&_ scan line 9
|
ACS_S9 \&_ scan line 9
|
||||||
ACS_STERLING f pound-sterling symbol
|
ACS_STERLING f pound-sterling symbol
|
||||||
ACS_TTEE + top tee
|
ACS_TTEE + top tee
|
||||||
@ -134,6 +137,10 @@ All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success
|
|||||||
(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
|
(the SVr4 manuals specify only "an integer value other than \fBERR\fR") upon
|
||||||
successful completion, unless otherwise noted in the preceding routine
|
successful completion, unless otherwise noted in the preceding routine
|
||||||
descriptions.
|
descriptions.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
|
Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
|
||||||
\fBechochar\fR may be macros.
|
\fBechochar\fR may be macros.
|
||||||
@ -141,6 +148,10 @@ Note that \fBaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, and
|
|||||||
All these functions are described in the XSI Curses standard, Issue 4.
|
All these functions are described in the XSI Curses standard, Issue 4.
|
||||||
The defaults specified for forms-drawing characters apply in the POSIX locale.
|
The defaults specified for forms-drawing characters apply in the POSIX locale.
|
||||||
.LP
|
.LP
|
||||||
|
X/Open Curses states that the \fIACS_\fP definitions are \fBchar\fP constants.
|
||||||
|
For the wide-character implementation (see \fBcurs_add_wch\fP),
|
||||||
|
there are analogous \fIWACS_\fP definitions which are \fBcchar_t\fP constants.
|
||||||
|
.LP
|
||||||
Some ACS symbols
|
Some ACS symbols
|
||||||
(ACS_S3,
|
(ACS_S3,
|
||||||
ACS_S7,
|
ACS_S7,
|
||||||
@ -168,14 +179,9 @@ This is true of other implementations, but is not documented.
|
|||||||
\fBcurs_inch\fR(3X),
|
\fBcurs_inch\fR(3X),
|
||||||
\fBcurs_outopts\fR(3X),
|
\fBcurs_outopts\fR(3X),
|
||||||
\fBcurs_refresh\fR(3X),
|
\fBcurs_refresh\fR(3X),
|
||||||
|
\fBcurs_variables\fR(3X),
|
||||||
\fBputc\fR(3).
|
\fBputc\fR(3).
|
||||||
.PP
|
.PP
|
||||||
Comparable functions in the wide-character (ncursesw) library are
|
Comparable functions in the wide-character (ncursesw) library are
|
||||||
described in
|
described in
|
||||||
\fBcurs_add_wch\fR(3X).
|
\fBcurs_add_wch\fR(3X).
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. *
|
.\" Copyright (c) 1998-2006,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,7 +26,7 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_addchstr.3x,v 1.12 2006/12/02 17:02:45 tom Exp $
|
.\" $Id: curs_addchstr.3x,v 1.15 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH curs_addchstr 3X ""
|
.TH curs_addchstr 3X ""
|
||||||
.na
|
.na
|
||||||
.hy 0
|
.hy 0
|
||||||
@ -38,7 +38,7 @@
|
|||||||
\fBmvaddchstr\fR,
|
\fBmvaddchstr\fR,
|
||||||
\fBmvaddchnstr\fR,
|
\fBmvaddchnstr\fR,
|
||||||
\fBmvwaddchstr\fR,
|
\fBmvwaddchstr\fR,
|
||||||
\fBmvwaddchnstr\fR - add a string of characters (and attributes) to a \fBcurses\fR window
|
\fBmvwaddchnstr\fR \- add a string of characters (and attributes) to a \fBcurses\fR window
|
||||||
.ad
|
.ad
|
||||||
.hy
|
.hy
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -63,7 +63,7 @@
|
|||||||
These routines copy \fIchstr\fR into the window image structure at and after
|
These routines copy \fIchstr\fR into the window image structure at and after
|
||||||
the current cursor position. The four routines with \fIn\fR as the last
|
the current cursor position. The four routines with \fIn\fR as the last
|
||||||
argument copy at most \fIn\fR elements, but no more than will fit on the line.
|
argument copy at most \fIn\fR elements, but no more than will fit on the line.
|
||||||
If \fBn\fR=\fB-1\fR then the whole string is copied, to the maximum number of
|
If \fBn\fR=\fB\-1\fR then the whole string is copied, to the maximum number of
|
||||||
characters that will fit on the line.
|
characters that will fit on the line.
|
||||||
.PP
|
.PP
|
||||||
The window cursor is \fInot\fR advanced, and these routines work faster than
|
The window cursor is \fInot\fR advanced, and these routines work faster than
|
||||||
@ -81,6 +81,10 @@ descriptions.
|
|||||||
X/Open does not define any error conditions.
|
X/Open does not define any error conditions.
|
||||||
This implementation returns an error
|
This implementation returns an error
|
||||||
if the window pointer is null.
|
if the window pointer is null.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Note that all routines except \fBwaddchnstr\fR may be macros.
|
Note that all routines except \fBwaddchnstr\fR may be macros.
|
||||||
.SH PORTABILITY
|
.SH PORTABILITY
|
||||||
@ -91,9 +95,3 @@ These entry points are described in the XSI Curses standard, Issue 4.
|
|||||||
Comparable functions in the wide-character (ncursesw) library are
|
Comparable functions in the wide-character (ncursesw) library are
|
||||||
described in
|
described in
|
||||||
\fBcurs_add_wchstr\fR(3X).
|
\fBcurs_add_wchstr\fR(3X).
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. *
|
.\" Copyright (c) 1998-2005,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,7 +26,7 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_addstr.3x,v 1.13 2005/05/15 16:17:14 tom Exp $
|
.\" $Id: curs_addstr.3x,v 1.16 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH curs_addstr 3X ""
|
.TH curs_addstr 3X ""
|
||||||
.na
|
.na
|
||||||
.hy 0
|
.hy 0
|
||||||
@ -38,7 +38,7 @@
|
|||||||
\fBmvaddstr\fR,
|
\fBmvaddstr\fR,
|
||||||
\fBmvaddnstr\fR,
|
\fBmvaddnstr\fR,
|
||||||
\fBmvwaddstr\fR,
|
\fBmvwaddstr\fR,
|
||||||
\fBmvwaddnstr\fR - add a string of characters to a \fBcurses\fR window and advance cursor
|
\fBmvwaddnstr\fR \- add a string of characters to a \fBcurses\fR window and advance cursor
|
||||||
.ad
|
.ad
|
||||||
.hy
|
.hy
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
@ -67,7 +67,7 @@ These routines write the characters of the (null-terminated) character string
|
|||||||
It is similar to calling \fBwaddch\fR once for each character in the string.
|
It is similar to calling \fBwaddch\fR once for each character in the string.
|
||||||
The four routines with \fIn\fR as the last argument
|
The four routines with \fIn\fR as the last argument
|
||||||
write at most \fIn\fR characters.
|
write at most \fIn\fR characters.
|
||||||
If \fIn\fR is -1, then the entire string will be added,
|
If \fIn\fR is \-1, then the entire string will be added,
|
||||||
up to the maximum number of characters that will fit on the line,
|
up to the maximum number of characters that will fit on the line,
|
||||||
or until a terminating null is reached.
|
or until a terminating null is reached.
|
||||||
.SH RETURN VALUE
|
.SH RETURN VALUE
|
||||||
@ -80,6 +80,10 @@ This implementation returns an error
|
|||||||
if the window pointer is null or
|
if the window pointer is null or
|
||||||
if the string pointer is null or
|
if the string pointer is null or
|
||||||
if the corresponding calls to \fBwaddch\fP return an error.
|
if the corresponding calls to \fBwaddch\fP return an error.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
|
Note that all of these routines except \fBwaddstr\fR and \fBwaddnstr\fR may be
|
||||||
macros.
|
macros.
|
||||||
@ -89,9 +93,3 @@ XSI errors EILSEQ and EOVERFLOW, associated with extended-level conformance,
|
|||||||
are not yet detected.
|
are not yet detected.
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
|
\fBcurses\fR(3X), \fBcurs_addch\fR(3X).
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\" Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. *
|
.\" Copyright (c) 2002-2006,2010 Free Software Foundation, Inc. *
|
||||||
.\" *
|
.\" *
|
||||||
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
.\" Permission is hereby granted, free of charge, to any person obtaining a *
|
||||||
.\" copy of this software and associated documentation files (the *
|
.\" copy of this software and associated documentation files (the *
|
||||||
@ -26,7 +26,7 @@
|
|||||||
.\" authorization. *
|
.\" authorization. *
|
||||||
.\"***************************************************************************
|
.\"***************************************************************************
|
||||||
.\"
|
.\"
|
||||||
.\" $Id: curs_addwstr.3x,v 1.7 2006/02/25 20:59:08 tom Exp $
|
.\" $Id: curs_addwstr.3x,v 1.10 2010/12/04 18:36:44 tom Exp $
|
||||||
.TH curs_addwstr 3X ""
|
.TH curs_addwstr 3X ""
|
||||||
.na
|
.na
|
||||||
.hy 0
|
.hy 0
|
||||||
@ -74,11 +74,15 @@ Thereafter, the cursor is advanced as a side-effect of writing to the window.
|
|||||||
.PP
|
.PP
|
||||||
The four routines with \fIn\fR as the last argument
|
The four routines with \fIn\fR as the last argument
|
||||||
write at most \fIn\fR \fBwchar_t\fR characters.
|
write at most \fIn\fR \fBwchar_t\fR characters.
|
||||||
If \fIn\fR is -1, then the entire string will be added,
|
If \fIn\fR is \-1, then the entire string will be added,
|
||||||
up to the maximum number of characters that will fit on the line,
|
up to the maximum number of characters that will fit on the line,
|
||||||
or until a terminating null is reached.
|
or until a terminating null is reached.
|
||||||
.SH RETURN VALUES
|
.SH RETURN VALUES
|
||||||
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
All routines return the integer \fBERR\fR upon failure and \fBOK\fR on success.
|
||||||
|
.PP
|
||||||
|
Functions with a "mv" prefix first perform a cursor movement using
|
||||||
|
\fBwmove\fP, and return an error if the position is outside the window,
|
||||||
|
or if the window pointer is null.
|
||||||
.SH NOTES
|
.SH NOTES
|
||||||
Note that all of these routines except \fBwaddnwstr\fR may be macros.
|
Note that all of these routines except \fBwaddnwstr\fR may be macros.
|
||||||
.SH PORTABILITY
|
.SH PORTABILITY
|
||||||
@ -86,9 +90,3 @@ All these entry points are described in the XSI Curses standard, Issue 4.
|
|||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fBcurses\fR(3X),
|
\fBcurses\fR(3X),
|
||||||
\fBcurs_add_wch\fR(3X)
|
\fBcurs_add_wch\fR(3X)
|
||||||
.\"#
|
|
||||||
.\"# The following sets edit modes for GNU EMACS
|
|
||||||
.\"# Local Variables:
|
|
||||||
.\"# mode:nroff
|
|
||||||
.\"# fill-column:79
|
|
||||||
.\"# End:
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user