-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 2006,2017 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: AUTHORS,v 1.4 2020/02/02 23:34:34 tom Exp $
+-- $Id: AUTHORS,v 1.5 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
These are the principal authors/contributors of ncurses since 1.9.9e,
in decreasing order of their contribution:
TD Thomas E. Dickey
-JPF Juergen Pfeifer
+JPF Juergen Pfeifer
ESR Eric S Raymond
AVL Alexander V Lukyanov
PB Philippe Blain
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2002,2003 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- Author: Juergen Pfeifer, 1996
-The documentation is provided in HTML format in the ./html
+The documentation is provided in HTML format in the ./html
subdirectory. The main document is named index.html
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-1999,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: TODO,v 1.6 2020/02/02 23:34:34 tom Exp $
+-- $Id: TODO,v 1.7 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
-- Intensive testing
Like most WEB pages: under continuous construction
-- Style cleanup
-
+
-- Alternate functions for procedures with out params
Comfort purpose
dnl
dnl Author: Thomas E. Dickey
dnl
-dnl $Id: aclocal.m4,v 1.175 2021/05/19 23:35:25 tom Exp $
+dnl $Id: aclocal.m4,v 1.176 2021/06/19 23:44:07 tom Exp $
dnl Macros used in NCURSES Ada95 auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 6 updated: 2021/01/01 13:31:04
+dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[String foo = malloc(1); (void)foo],[
+[String foo = malloc(1); free((void*)foo)],[
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 6 updated: 2021/01/01 13:31:04
+dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[String foo = malloc(1); (void)foo],[
+[String foo = malloc(1); free((void*)foo)],[
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
int
main (void)
{
-String foo = malloc(1); (void)foo
+String foo = malloc(1); free((void*)foo)
;
return 0;
}
-# $Id: ncurses_defs,v 1.45 2020/02/02 23:34:34 tom Exp $
+# $Id: ncurses_defs,v 1.46 2021/06/17 21:20:30 tom Exp $
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 2008-2012,2013 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
HAVE_BIG_CORE
HAVE_BSD_CGETENT
HAVE_BSD_SIGNAL_H
-HAVE_BTOWC
+HAVE_BTOWC
HAVE_BUILTIN_H
HAVE_CHGAT 1
HAVE_COLOR_SET 1
HAVE_POLL
HAVE_POLL_H
HAVE_PURIFY
-HAVE_PUTWC
+HAVE_PUTWC
HAVE_PUTWIN 1
HAVE_REGEXPR_H_FUNCS
HAVE_REGEXP_H_FUNCS
HAVE_VSSCANF
HAVE_WCSRTOMBS
HAVE_WCSTOMBS
-HAVE_WCTOB
+HAVE_WCTOB
HAVE_WCTOMB
HAVE_WCTYPE_H
HAVE_WINSSTR 1
#!/bin/sh
-# $Id: make-tar.sh,v 1.18 2020/02/02 23:34:34 tom Exp $
+# $Id: make-tar.sh,v 1.19 2021/06/17 21:26:02 tom Exp $
##############################################################################
-# Copyright 2019,2020 Thomas E. Dickey #
+# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 2010-2015,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# cleanup empty directories (an artifact of ncurses source archives)
-touch $BUILD/$ROOTNAME/MANIFEST
+touch $BUILD/$ROOTNAME/MANIFEST
( cd $BUILD/$ROOTNAME && find . -type f -print |$SOURCE/misc/csort >MANIFEST )
-cd $BUILD || exit
+cd $BUILD || exit
# Remove build-artifacts.
find . -name RCS -exec rm -rf {} \;
dh_installdirs
$(MAKE) install DESTDIR=$(TARGET_DIR)
-
+
# FIXME: it would be nice to make these into separate packages
( cd samples && $(MAKE) install.examples DESTDIR=$(TARGET_DIR) BINDIR=$(SAMPLE_DIR) )
( cd doc && $(MAKE) install.html DESTDIR=$(TARGET_DIR) )
#
# Author: Juergen Pfeifer, 1996
#
-# $Id: Makefile.in,v 1.62 2021/01/23 20:42:08 tom Exp $
+# $Id: Makefile.in,v 1.63 2021/06/17 21:11:08 tom Exp $
#
.SUFFIXES:
CARGS = -cargs $(ADAFLAGS)
LARGS = -largs -L../lib -l@ADA_LIBNAME@ @TEST_ARG2@ $(LD_FLAGS) @TEST_LIBS2@
-PROGS = tour$x ncurses$x @USE_GNAT_SIGINT@ rain$x
+PROGS = tour$x ncurses$x @USE_GNAT_SIGINT@ rain$x
all :: $(PROGS)
@echo made $@
- Cursor Right Right one item
- END Key Go to last item
#FORMKEYS
- - CTRL-X eXit the form
+ - CTRL-X eXit the form
- CTRL-F Go forward to the next field
- CTRL-B Go backward to the previous field
- - CTRL-L Go to the field left of the current one
+ - CTRL-L Go to the field left of the current one
- CTRL-R Go to the field right of the current one
- - CTRL-U Go to the field above the current one
- - CTRL-D Go to the field below the current one
+ - CTRL-U Go to the field above the current one
+ - CTRL-D Go to the field below the current one
- - CTRL-W Go to the next word in the field
+ - CTRL-W Go to the next word in the field
- CTRL-T Go to the previous word in the field
- CTRL-A Go to the beginning of the field
- CTRL-I Insert a blank character at the current position
- CTRL-O Insert a line
- - CTRL-V Delete a character
- - CTRL-H Delete previous character
- - CTRL-Y Delete a line
- - CTRL-G Delete a word
- - CTRL-K Clear to end of field
+ - CTRL-V Delete a character
+ - CTRL-H Delete previous character
+ - CTRL-Y Delete a line
+ - CTRL-G Delete a word
+ - CTRL-K Clear to end of field
- - CTRL-N Next choice in a choice field (Enumerations etc.)
+ - CTRL-N Next choice in a choice field (Enumerations etc.)
- CTRL-P Previous choice in a choice field.
#HELP
#HELPKEYS
This is the main menu of the sample program for the ncurses Ada95
binding. The main intention of the demo is not to demonstrate or
test all the features of ncurses and it's subsystems, but to provide
-to you some sample code how to use the binding with Ada95.
+to you some sample code how to use the binding with Ada95.
You may select this options:
* Look at some features of the form subsystem
* Look at the output of the Ada.Text_IO like functions
for ncurses.
-
+
#MAINPAD
You may press at any place in this demo CTRL-C. This will give you a command
window. You can just type in the Label-String of a function key, then this
the item name and the description.
#MENU01
This is a demo of the some of the menu layout options. One of them
-is the spacing functionality. Just press the Key labeled "Flip" to
+is the spacing functionality. Just press the Key labeled "Flip" to
flip between the non-spaced and a spaced version of the menu. Please
-note that this functionality is unique for ncurses and is not found
-in the SVr4 menu implementation.
+note that this functionality is unique for ncurses and is not found
+in the SVr4 menu implementation.
-This is a menu that sometimes does not fit into it's window and
-therefore it becomes a scroll menu.
+This is a menu that sometimes does not fit into it's window and
+therefore it becomes a scroll menu.
You can also see here very nicely the pattern matching functionality
of menus. Type for example a 'J' and you will be positioned to the
and columns.
With the Keys "O-Row" or "O-Col" (they occupy the same label and
-switch on selection) you can change the major order scheme for
+switch on selection) you can change the major order scheme for
the menu. If "O-Col" is visible, the menu is currently major
ordered by rows, you can switch to major column order by pressing
the key. If "O-Row" is visible, it's just the reverse situation.
This is a demo of the forms package.
#FORM-PAD00
Please note that this demo is far from being complete. It really shows
-only a small part of the functionality of the forms package. Let's hope
+only a small part of the functionality of the forms package. Let's hope
the next version will have a richer demo (You want to contribute ?).
#NOTIMPL
Sorry this functionality of the demo is not implemented at the moment.
functionality.
#CURSES-PAD00
Please note that this demo is far from being complete. It really shows
-only a small part of the functionality of the curses package. Let's hope
+only a small part of the functionality of the curses package. Let's hope
the next version will have a richer demo (You want to contribute ?).
#MOUSEKEYS
In this demo you may use this keys:
at the protocol window !
#MOUSE00
A rather simple use of a mouse as demo. It's there just to test the
-code and to provide the sample source.
+code and to provide the sample source.
It might be of interest, that the output into the protocol window is
done by the (n)curses Text_IO subpackages. Especially the output of
-the button and state names is done by Ads's enumeration IO, which
+the button and state names is done by Ads's enumeration IO, which
allows you to print the names of enumeration literals. That's really
nice.
#MOUSE-PAD00
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.229 2021/04/17 22:26:34 tom Exp $
+-- $Id: INSTALL,v 1.230 2021/06/17 21:11:08 tom Exp $
---------------------------------------------------------------------
How to install Ncurses/Terminfo on your system
---------------------------------------------------------------------
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
pre-fetched fallback entries.
-
+
NOTE: This must be done on a machine which has ncurses' infocmp and
terminfo database installed (as well as ncurses' tic and infocmp
programs). That is because the fallback sources are generated and
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 1998-2000,2006 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# use or other dealings in this Software without prior written #
# authorization. #
################################################################################
-# $Id: Makefile.os2,v 1.12 2020/02/02 23:34:34 tom Exp $
+# $Id: Makefile.os2,v 1.13 2021/06/17 21:20:30 tom Exp $
#
# Wrapper Makefile for ncurses library under OS/2.
# Author: Juan Jose Garcia Ripoll <worm@arrakis.es>.
# disappear are not essential.
#
# I first thought about killing '_nc_*' symbols, but it seems that some of
-# them --_nc_panel_hook, _nc_ada*, etc-- are needed outside ncurses.dll.
+# them --_nc_panel_hook, _nc_ada*, etc-- are needed outside ncurses.dll.
# However, the whole size of the export table will not be larger than 1k or
# so.
#
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.3673 2021/06/13 00:16:30 tom Exp $
+-- $Id: NEWS,v 1.3676 2021/06/19 19:09:22 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20210619
+ + improve configure-macro used for dependencies of --disable-leaks such
+ as --with-valgrind
+ + trim trailing blanks from files
+
20210612
+ fixes for scan-build, valgrind build/testing.
+ update config.guess
+ relax modification-time comparison in CF_LINK_FUNCS to allow it to
accept link() function with NFS filesystems which change the mtime
on the link target, e.g., several BSD systems.
- + call delay_output_sp to handle BSD-style padding when tputs_sp is
+ + call delay_output_sp to handle BSD-style padding when tputs_sp is
called, whether directly or internally, to ensure that the SCREEN
pointer is passed correctly (reports by Henric Jungheim, Juraj
Lutter).
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2012,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README,v 1.28 2020/02/02 23:34:34 tom Exp $
+-- $Id: README,v 1.29 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
README file for the ncurses package
Browse the file misc/ncurses-intro.html for narrative descriptions of how
to use ncurses and the panel, menu, and form libraries.
-
+
Browse the file doc/html/hackguide.html for a tour of the package internals.
ROADMAP AND PACKAGE OVERVIEW:
You should be reading this file in a directory called: ncurses-d.d, where d.d
is the current version number (see the dist.mk file in this directory for
that). There should be a number of subdirectories, including `c++', `form',
-`man', `menu', `misc', `ncurses', `panel', `progs', `test', 'tack' and `Ada95'.
+`man', `menu', `misc', `ncurses', `panel', `progs', `test', 'tack' and `Ada95'.
(The 'tack' program may be distributed separately).
A full build/install of this package typically installs several libraries, a
AUTHORS:
-Pavel Curtis:
+Pavel Curtis:
wrote the original ncurses
Zeyd M. Ben-Halim:
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2006,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README.emx,v 1.11 2020/02/02 23:34:34 tom Exp $
+-- $Id: README.emx,v 1.12 2021/06/17 21:20:30 tom Exp $
-- Author: Thomas Dickey
-------------------------------------------------------------------------------
acquire tools. Not all of the tools distributed with EMX work properly, and
some additional ones are required.
-First, the configure script distributed with ncurses will not run as-is in EMX.
+First, the configure script distributed with ncurses will not run as-is in EMX.
You can generate a new one if you have autoconf built for EMX. You will need
the EMX development tools, of course. Get these programs to start:
+ I also built from sources (because the distributed binaries did not
work) the cmp, diff programs.
-
+
Other required utilities such as ar, cat, chmod, cp, gawk, grep, mv,
ls, rm, mkdir, sed, sort and tr worked.
-5:0:10 6.2 20210612
+5:0:10 6.2 20210619
dnl
dnl Author: Thomas E. Dickey 1995-on
dnl
-dnl $Id: aclocal.m4,v 1.961 2021/05/19 23:35:25 tom Exp $
+dnl $Id: aclocal.m4,v 1.963 2021/06/19 23:41:36 tom Exp $
dnl Macros used in NCURSES auto-configuration script.
dnl
dnl These macros are maintained separately from NCURSES. The copyright on
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 6 updated: 2021/01/01 13:31:04
+dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[String foo = malloc(1); (void)foo],[
+[String foo = malloc(1); free((void*)foo)],[
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GETOPT_HEADER version: 7 updated: 2021/01/01 13:31:04
+dnl CF_GETOPT_HEADER version: 8 updated: 2021/06/19 19:16:16
dnl ----------------
dnl Check for getopt's variables which are commonly defined in stdlib.h,
dnl unistd.h or (nonstandard) in getopt.h
do
AC_TRY_COMPILE([
#include <$cf_header>],
-[int x = optind; char *y = optarg],
+[int x = optind; char *y = optarg; (void)x; (void)y],
[cf_cv_getopt_header=$cf_header
break])
done
fi
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_NO_LEAKS_OPTION version: 8 updated: 2021/01/05 20:05:09
+dnl CF_NO_LEAKS_OPTION version: 9 updated: 2021/06/13 19:45:41
dnl ------------------
dnl see CF_WITH_NO_LEAKS
+dnl
+dnl $1 = option/name
+dnl $2 = help-text
+dnl $3 = symbol to define if the option is set
+dnl $4 = additional actions to take if the option is set
AC_DEFUN([CF_NO_LEAKS_OPTION],[
AC_MSG_CHECKING(if you want to use $1 for testing)
AC_ARG_WITH($1,
[$2],
- [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ [case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_$1=yes
+ AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
$4
])
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_$1=yes],
+ ;;
+ esac],
[with_$1=])
AC_MSG_RESULT(${with_$1:-no})
<!--
- $Id: announce.html.in,v 1.99 2020/10/19 08:18:12 tom Exp $
+ $Id: announce.html.in,v 1.100 2021/06/17 21:30:22 tom Exp $
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
+ Se,
+ Ss,
+ Tc,
-
+
st-256color| simpleterm with 256 colors,
use=st,
</pre>
-# $Id: Makefile.in,v 1.130 2021/04/18 15:13:58 tom Exp $
+# $Id: Makefile.in,v 1.131 2021/06/17 21:11:08 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2015,2016 Free Software Foundation, Inc. #
LIBTOOL_VERSION = @LIBTOOL_VERSION@
LT_UNDEF = @LT_UNDEF@
-INSTALL = @INSTALL@
+INSTALL = @INSTALL@
INSTALL_LIB = $(INSTALL) @INSTALL_LIB@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_OPT_P = @INSTALL_OPT_P@
# flags for test-programs
TEST_LIBS = @TEST_LIBS@
-TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
TEST_LDFLAGS = $(TEST_ARGS) @LDFLAGS@ \
@LD_MODEL@ $(TEST_LIBS) @LIBS@ @LOCAL_LDFLAGS@ $(CXXLIBS)
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-1999,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.5 2020/02/02 23:34:34 tom Exp $
+-- $Id: NEWS,v 1.6 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that the ncurses C++ binding has gone
through starting with the integration of menu and forms integration
to view the pad.
970908 + Improve NCursesWindow class: added additional methods to
- cover more ncurses functionality. Make refresh() and
+ cover more ncurses functionality. Make refresh() and
noutrefresh() virtual members to allow different implementation
in the NCursesPanel class.
+ CAUTION: changed order of parameters in vline() and hline() of
NCursesWindow class.
+ Make refresh() in NCursesPanel non-static, it is now a
- reimplementation of refresh() in the base class. Added
+ reimplementation of refresh() in the base class. Added
noutrefresh() to NCursesPanel.
+ Added NCursesForm and related classes to support libform
functionality.
+ Moved most of configuration related stuff from cursesw.h to
etip.h
- + Added NCursesApplication class to support easy configuration
+ + Added NCursesApplication class to support easy configuration
of menu and forms related attributes as well as ripped of
title lines and Soft-Label-Keys for an application.
+ Support of Auto-Cleanup for a menus fieldlist.
+ Added the NCursesMenu class to support libmenu functionality.
+ The inheritace relation between NCursesWindow and NCursesColorWindow
was kind of brain damage. Monochrome is a special case of colored, so
- the relation should be just the opposite. This would allow all
- derived classes like NCursesPanel, NCursesMenu or NCursesForm to
+ the relation should be just the opposite. This would allow all
+ derived classes like NCursesPanel, NCursesMenu or NCursesForm to
have colors.
- To resolve that design flaw I put the color functionality into the
+ To resolve that design flaw I put the color functionality into the
NCursesWindow class and it can be switched on by the static member
useColors(). NCursesColorWindow is still there for compatibility
reasons.
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2006,2007 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README-first,v 1.10 2020/02/02 23:34:34 tom Exp $
+-- $Id: README-first,v 1.11 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
C++ interface to ncurses routines
-----------------------------------------------------------------------
common identifiers are used. Instead now all #defines are inline
functions, which also allows strict type checking of arguments.
-The next enhancement is color support. It was originally provided by a
+The next enhancement is color support. It was originally provided by a
derived class. This caused some trouble if you think about Panels or
Menus and Forms with colors. We decided to put color support into the
base class so that any derived class may use color support also.
// * This makes emacs happy -*-Mode: C++;-*-
/****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2005,2011 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Author: Juergen Pfeifer, 1997 *
****************************************************************************/
-// $Id: cursesapp.h,v 1.17 2020/08/29 16:22:03 juergen Exp $
+// $Id: cursesapp.h,v 1.18 2021/06/17 21:26:02 tom Exp $
#ifndef NCURSES_CURSESAPP_H_incl
#define NCURSES_CURSESAPP_H_incl
}
};
-
+
#endif /* NCURSES_CURSESAPP_H_incl */
* Author: Juergen Pfeifer, 1997 *
****************************************************************************/
-// $Id: etip.h.in,v 1.47 2021/05/22 23:01:46 tom Exp $
+// $Id: etip.h.in,v 1.48 2021/06/17 21:11:08 tom Exp $
#ifndef NCURSES_ETIP_H_incl
#define NCURSES_ETIP_H_incl 1
#define STATIC_CAST(s) (s)
#endif
-#ifndef NCURSES_CXX_IMPEXP
+#ifndef NCURSES_CXX_IMPEXP
#define NCURSES_CXX_IMPEXP /* nothing */
#endif
int
main (void)
{
-String foo = malloc(1); (void)foo
+String foo = malloc(1); free((void*)foo)
;
return 0;
}
# Check whether --with-dmalloc or --without-dmalloc was given.
if test "${with_dmalloc+set}" = set; then
withval="$with_dmalloc"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_dmalloc=yes
cat >>confdefs.h <<EOF
#define USE_DMALLOC 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_dmalloc=yes
+ ;;
+ esac
else
with_dmalloc=
fi;
-echo "$as_me:17517: result: ${with_dmalloc:-no}" >&5
+echo "$as_me:17522: result: ${with_dmalloc:-no}" >&5
echo "${ECHO_T}${with_dmalloc:-no}" >&6
case ".$with_cflags" in
esac
if test "$with_dmalloc" = yes ; then
- echo "$as_me:17631: checking for dmalloc.h" >&5
+ echo "$as_me:17636: checking for dmalloc.h" >&5
echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
if test "${ac_cv_header_dmalloc_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 17637 "configure"
+#line 17642 "configure"
#include "confdefs.h"
#include <dmalloc.h>
_ACEOF
-if { (eval echo "$as_me:17641: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:17646: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:17647: \$? = $ac_status" >&5
+ echo "$as_me:17652: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:17666: result: $ac_cv_header_dmalloc_h" >&5
+echo "$as_me:17671: result: $ac_cv_header_dmalloc_h" >&5
echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
if test "$ac_cv_header_dmalloc_h" = yes; then
-echo "$as_me:17670: checking for dmalloc_debug in -ldmalloc" >&5
+echo "$as_me:17675: checking for dmalloc_debug in -ldmalloc" >&5
echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldmalloc $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 17678 "configure"
+#line 17683 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17697: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17702: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:17700: \$? = $ac_status" >&5
+ echo "$as_me:17705: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:17703: \"$ac_try\"") >&5
+ { (eval echo "$as_me:17708: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:17706: \$? = $ac_status" >&5
+ echo "$as_me:17711: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_dmalloc_dmalloc_debug=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:17717: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+echo "$as_me:17722: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
if test "$ac_cv_lib_dmalloc_dmalloc_debug" = yes; then
cat >>confdefs.h <<EOF
fi
-echo "$as_me:17732: checking if you want to use dbmalloc for testing" >&5
+echo "$as_me:17737: checking if you want to use dbmalloc for testing" >&5
echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
# Check whether --with-dbmalloc or --without-dbmalloc was given.
if test "${with_dbmalloc+set}" = set; then
withval="$with_dbmalloc"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_dbmalloc=yes
cat >>confdefs.h <<EOF
#define USE_DBMALLOC 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_dbmalloc=yes
+ ;;
+ esac
else
with_dbmalloc=
fi;
-echo "$as_me:17749: result: ${with_dbmalloc:-no}" >&5
+echo "$as_me:17759: result: ${with_dbmalloc:-no}" >&5
echo "${ECHO_T}${with_dbmalloc:-no}" >&6
case ".$with_cflags" in
esac
if test "$with_dbmalloc" = yes ; then
- echo "$as_me:17863: checking for dbmalloc.h" >&5
+ echo "$as_me:17873: checking for dbmalloc.h" >&5
echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
if test "${ac_cv_header_dbmalloc_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 17869 "configure"
+#line 17879 "configure"
#include "confdefs.h"
#include <dbmalloc.h>
_ACEOF
-if { (eval echo "$as_me:17873: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:17883: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:17879: \$? = $ac_status" >&5
+ echo "$as_me:17889: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:17898: result: $ac_cv_header_dbmalloc_h" >&5
+echo "$as_me:17908: result: $ac_cv_header_dbmalloc_h" >&5
echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
if test "$ac_cv_header_dbmalloc_h" = yes; then
-echo "$as_me:17902: checking for debug_malloc in -ldbmalloc" >&5
+echo "$as_me:17912: checking for debug_malloc in -ldbmalloc" >&5
echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldbmalloc $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 17910 "configure"
+#line 17920 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:17929: \"$ac_link\"") >&5
+if { (eval echo "$as_me:17939: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:17932: \$? = $ac_status" >&5
+ echo "$as_me:17942: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:17935: \"$ac_try\"") >&5
+ { (eval echo "$as_me:17945: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:17938: \$? = $ac_status" >&5
+ echo "$as_me:17948: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_dbmalloc_debug_malloc=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:17949: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+echo "$as_me:17959: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
if test "$ac_cv_lib_dbmalloc_debug_malloc" = yes; then
cat >>confdefs.h <<EOF
fi
-echo "$as_me:17964: checking if you want to use valgrind for testing" >&5
+echo "$as_me:17974: checking if you want to use valgrind for testing" >&5
echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
# Check whether --with-valgrind or --without-valgrind was given.
if test "${with_valgrind+set}" = set; then
withval="$with_valgrind"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_valgrind=yes
cat >>confdefs.h <<EOF
#define USE_VALGRIND 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_valgrind=yes
+ ;;
+ esac
else
with_valgrind=
fi;
-echo "$as_me:17981: result: ${with_valgrind:-no}" >&5
+echo "$as_me:17996: result: ${with_valgrind:-no}" >&5
echo "${ECHO_T}${with_valgrind:-no}" >&6
case ".$with_cflags" in
;;
esac
-echo "$as_me:18094: checking if you want to perform memory-leak testing" >&5
+echo "$as_me:18109: checking if you want to perform memory-leak testing" >&5
echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
# Check whether --enable-leaks or --disable-leaks was given.
enable_leaks=yes
fi;
if test "x$enable_leaks" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
-echo "$as_me:18105: result: $with_no_leaks" >&5
+echo "$as_me:18120: result: $with_no_leaks" >&5
echo "${ECHO_T}$with_no_leaks" >&6
if test "$enable_leaks" = no ; then
;;
esac
-echo "$as_me:18157: checking whether to add trace feature to all models" >&5
+echo "$as_me:18172: checking whether to add trace feature to all models" >&5
echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6
# Check whether --with-trace or --without-trace was given.
else
cf_with_trace=$cf_all_traces
fi;
-echo "$as_me:18167: result: $cf_with_trace" >&5
+echo "$as_me:18182: result: $cf_with_trace" >&5
echo "${ECHO_T}$cf_with_trace" >&6
if test "x$cf_with_trace" = xyes ; then
ADA_TRACE=FALSE
fi
-echo "$as_me:18281: checking if we want to use GNAT projects" >&5
+echo "$as_me:18296: checking if we want to use GNAT projects" >&5
echo $ECHO_N "checking if we want to use GNAT projects... $ECHO_C" >&6
# Check whether --enable-gnat-projects or --disable-gnat-projects was given.
enable_gnat_projects=yes
fi;
-echo "$as_me:18298: result: $enable_gnat_projects" >&5
+echo "$as_me:18313: result: $enable_gnat_projects" >&5
echo "${ECHO_T}$enable_gnat_projects" >&6
### Checks for libraries.
# Note: WINVER may be a problem with Windows 10
;;
(*)
-echo "$as_me:18312: checking for gettimeofday" >&5
+echo "$as_me:18327: checking for gettimeofday" >&5
echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6
if test "${ac_cv_func_gettimeofday+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18318 "configure"
+#line 18333 "configure"
#include "confdefs.h"
#define gettimeofday autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18349: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18364: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18352: \$? = $ac_status" >&5
+ echo "$as_me:18367: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18355: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18370: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18358: \$? = $ac_status" >&5
+ echo "$as_me:18373: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_gettimeofday=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:18368: result: $ac_cv_func_gettimeofday" >&5
+echo "$as_me:18383: result: $ac_cv_func_gettimeofday" >&5
echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6
if test "$ac_cv_func_gettimeofday" = yes; then
else
-echo "$as_me:18378: checking for gettimeofday in -lbsd" >&5
+echo "$as_me:18393: checking for gettimeofday in -lbsd" >&5
echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6
if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lbsd $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18386 "configure"
+#line 18401 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18405: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18420: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18408: \$? = $ac_status" >&5
+ echo "$as_me:18423: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18411: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18426: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18414: \$? = $ac_status" >&5
+ echo "$as_me:18429: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_bsd_gettimeofday=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:18425: result: $ac_cv_lib_bsd_gettimeofday" >&5
+echo "$as_me:18440: result: $ac_cv_lib_bsd_gettimeofday" >&5
echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6
if test "$ac_cv_lib_bsd_gettimeofday" = yes; then
;;
esac
-echo "$as_me:18455: checking if -lm needed for math functions" >&5
+echo "$as_me:18470: checking if -lm needed for math functions" >&5
echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6
if test "${cf_cv_need_libm+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18462 "configure"
+#line 18477 "configure"
#include "confdefs.h"
#include <stdio.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18478: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18493: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18481: \$? = $ac_status" >&5
+ echo "$as_me:18496: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18484: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18499: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18487: \$? = $ac_status" >&5
+ echo "$as_me:18502: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_need_libm=no
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:18497: result: $cf_cv_need_libm" >&5
+echo "$as_me:18512: result: $cf_cv_need_libm" >&5
echo "${ECHO_T}$cf_cv_need_libm" >&6
if test "$cf_cv_need_libm" = yes
then
fi
### Checks for header files.
-echo "$as_me:18505: checking for ANSI C header files" >&5
+echo "$as_me:18520: checking for ANSI C header files" >&5
echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
if test "${ac_cv_header_stdc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18511 "configure"
+#line 18526 "configure"
#include "confdefs.h"
#include <stdlib.h>
#include <stdarg.h>
#include <float.h>
_ACEOF
-if { (eval echo "$as_me:18519: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:18534: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:18525: \$? = $ac_status" >&5
+ echo "$as_me:18540: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
if test $ac_cv_header_stdc = yes; then
# SunOS 4.x string.h does not declare mem*, contrary to ANSI.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18547 "configure"
+#line 18562 "configure"
#include "confdefs.h"
#include <string.h>
if test $ac_cv_header_stdc = yes; then
# ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18565 "configure"
+#line 18580 "configure"
#include "confdefs.h"
#include <stdlib.h>
:
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18586 "configure"
+#line 18601 "configure"
#include "confdefs.h"
#include <ctype.h>
#if ((' ' & 0x0FF) == 0x020)
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:18612: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18627: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18615: \$? = $ac_status" >&5
+ echo "$as_me:18630: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:18617: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18632: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18620: \$? = $ac_status" >&5
+ echo "$as_me:18635: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
:
else
fi
fi
fi
-echo "$as_me:18633: result: $ac_cv_header_stdc" >&5
+echo "$as_me:18648: result: $ac_cv_header_stdc" >&5
echo "${ECHO_T}$ac_cv_header_stdc" >&6
if test $ac_cv_header_stdc = yes; then
ac_header_dirent=no
for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:18646: checking for $ac_hdr that defines DIR" >&5
+echo "$as_me:18661: checking for $ac_hdr that defines DIR" >&5
echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18652 "configure"
+#line 18667 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$ac_hdr>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:18667: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:18682: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:18670: \$? = $ac_status" >&5
+ echo "$as_me:18685: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:18673: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18688: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18676: \$? = $ac_status" >&5
+ echo "$as_me:18691: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_Header=yes"
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:18686: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:18701: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
done
# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
if test $ac_header_dirent = dirent.h; then
- echo "$as_me:18699: checking for opendir in -ldir" >&5
+ echo "$as_me:18714: checking for opendir in -ldir" >&5
echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6
if test "${ac_cv_lib_dir_opendir+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldir $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18707 "configure"
+#line 18722 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18726: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18741: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18729: \$? = $ac_status" >&5
+ echo "$as_me:18744: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18732: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18747: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18735: \$? = $ac_status" >&5
+ echo "$as_me:18750: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_dir_opendir=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:18746: result: $ac_cv_lib_dir_opendir" >&5
+echo "$as_me:18761: result: $ac_cv_lib_dir_opendir" >&5
echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6
if test "$ac_cv_lib_dir_opendir" = yes; then
LIBS="$LIBS -ldir"
fi
else
- echo "$as_me:18753: checking for opendir in -lx" >&5
+ echo "$as_me:18768: checking for opendir in -lx" >&5
echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6
if test "${ac_cv_lib_x_opendir+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lx $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18761 "configure"
+#line 18776 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18780: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18795: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18783: \$? = $ac_status" >&5
+ echo "$as_me:18798: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18786: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18801: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18789: \$? = $ac_status" >&5
+ echo "$as_me:18804: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_x_opendir=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:18800: result: $ac_cv_lib_x_opendir" >&5
+echo "$as_me:18815: result: $ac_cv_lib_x_opendir" >&5
echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6
if test "$ac_cv_lib_x_opendir" = yes; then
LIBS="$LIBS -lx"
fi
-echo "$as_me:18808: checking whether time.h and sys/time.h may both be included" >&5
+echo "$as_me:18823: checking whether time.h and sys/time.h may both be included" >&5
echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
if test "${ac_cv_header_time+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18814 "configure"
+#line 18829 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <sys/time.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:18830: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:18845: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:18833: \$? = $ac_status" >&5
+ echo "$as_me:18848: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:18836: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18851: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18839: \$? = $ac_status" >&5
+ echo "$as_me:18854: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_header_time=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:18849: result: $ac_cv_header_time" >&5
+echo "$as_me:18864: result: $ac_cv_header_time" >&5
echo "${ECHO_T}$ac_cv_header_time" >&6
if test $ac_cv_header_time = yes; then
case "$host_os" in
(mingw*)
# -lsystre -ltre -lintl -liconv
- echo "$as_me:18864: checking for regcomp in -lsystre" >&5
+ echo "$as_me:18879: checking for regcomp in -lsystre" >&5
echo $ECHO_N "checking for regcomp in -lsystre... $ECHO_C" >&6
if test "${ac_cv_lib_systre_regcomp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lsystre $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18872 "configure"
+#line 18887 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18891: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18906: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18894: \$? = $ac_status" >&5
+ echo "$as_me:18909: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18897: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18912: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18900: \$? = $ac_status" >&5
+ echo "$as_me:18915: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_systre_regcomp=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:18911: result: $ac_cv_lib_systre_regcomp" >&5
+echo "$as_me:18926: result: $ac_cv_lib_systre_regcomp" >&5
echo "${ECHO_T}$ac_cv_lib_systre_regcomp" >&6
if test "$ac_cv_lib_systre_regcomp" = yes; then
- echo "$as_me:18915: checking for libiconv_open in -liconv" >&5
+ echo "$as_me:18930: checking for libiconv_open in -liconv" >&5
echo $ECHO_N "checking for libiconv_open in -liconv... $ECHO_C" >&6
if test "${ac_cv_lib_iconv_libiconv_open+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-liconv $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18923 "configure"
+#line 18938 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:18942: \"$ac_link\"") >&5
+if { (eval echo "$as_me:18957: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:18945: \$? = $ac_status" >&5
+ echo "$as_me:18960: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:18948: \"$ac_try\"") >&5
+ { (eval echo "$as_me:18963: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:18951: \$? = $ac_status" >&5
+ echo "$as_me:18966: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_iconv_libiconv_open=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:18962: result: $ac_cv_lib_iconv_libiconv_open" >&5
+echo "$as_me:18977: result: $ac_cv_lib_iconv_libiconv_open" >&5
echo "${ECHO_T}$ac_cv_lib_iconv_libiconv_open" >&6
if test "$ac_cv_lib_iconv_libiconv_open" = yes; then
fi
- echo "$as_me:18984: checking for libintl_gettext in -lintl" >&5
+ echo "$as_me:18999: checking for libintl_gettext in -lintl" >&5
echo $ECHO_N "checking for libintl_gettext in -lintl... $ECHO_C" >&6
if test "${ac_cv_lib_intl_libintl_gettext+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lintl $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 18992 "configure"
+#line 19007 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19011: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19026: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19014: \$? = $ac_status" >&5
+ echo "$as_me:19029: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19017: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19032: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19020: \$? = $ac_status" >&5
+ echo "$as_me:19035: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_intl_libintl_gettext=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:19031: result: $ac_cv_lib_intl_libintl_gettext" >&5
+echo "$as_me:19046: result: $ac_cv_lib_intl_libintl_gettext" >&5
echo "${ECHO_T}$ac_cv_lib_intl_libintl_gettext" >&6
if test "$ac_cv_lib_intl_libintl_gettext" = yes; then
fi
- echo "$as_me:19053: checking for tre_regcomp in -ltre" >&5
+ echo "$as_me:19068: checking for tre_regcomp in -ltre" >&5
echo $ECHO_N "checking for tre_regcomp in -ltre... $ECHO_C" >&6
if test "${ac_cv_lib_tre_tre_regcomp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ltre $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19061 "configure"
+#line 19076 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19080: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19095: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19083: \$? = $ac_status" >&5
+ echo "$as_me:19098: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19086: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19101: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19089: \$? = $ac_status" >&5
+ echo "$as_me:19104: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_tre_tre_regcomp=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:19100: result: $ac_cv_lib_tre_tre_regcomp" >&5
+echo "$as_me:19115: result: $ac_cv_lib_tre_tre_regcomp" >&5
echo "${ECHO_T}$ac_cv_lib_tre_tre_regcomp" >&6
if test "$ac_cv_lib_tre_tre_regcomp" = yes; then
else
- echo "$as_me:19142: checking for regcomp in -lgnurx" >&5
+ echo "$as_me:19157: checking for regcomp in -lgnurx" >&5
echo $ECHO_N "checking for regcomp in -lgnurx... $ECHO_C" >&6
if test "${ac_cv_lib_gnurx_regcomp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lgnurx $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19150 "configure"
+#line 19165 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19169: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19184: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19172: \$? = $ac_status" >&5
+ echo "$as_me:19187: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19175: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19190: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19178: \$? = $ac_status" >&5
+ echo "$as_me:19193: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_gnurx_regcomp=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:19189: result: $ac_cv_lib_gnurx_regcomp" >&5
+echo "$as_me:19204: result: $ac_cv_lib_gnurx_regcomp" >&5
echo "${ECHO_T}$ac_cv_lib_gnurx_regcomp" >&6
if test "$ac_cv_lib_gnurx_regcomp" = yes; then
;;
(*)
cf_regex_libs="regex re"
- echo "$as_me:19217: checking for regcomp" >&5
+ echo "$as_me:19232: checking for regcomp" >&5
echo $ECHO_N "checking for regcomp... $ECHO_C" >&6
if test "${ac_cv_func_regcomp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19223 "configure"
+#line 19238 "configure"
#include "confdefs.h"
#define regcomp autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19254: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19269: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19257: \$? = $ac_status" >&5
+ echo "$as_me:19272: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19260: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19275: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19263: \$? = $ac_status" >&5
+ echo "$as_me:19278: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_regcomp=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:19273: result: $ac_cv_func_regcomp" >&5
+echo "$as_me:19288: result: $ac_cv_func_regcomp" >&5
echo "${ECHO_T}$ac_cv_func_regcomp" >&6
if test "$ac_cv_func_regcomp" = yes; then
cf_regex_func=regcomp
for cf_regex_lib in $cf_regex_libs
do
as_ac_Lib=`echo "ac_cv_lib_$cf_regex_lib''_regcomp" | $as_tr_sh`
-echo "$as_me:19282: checking for regcomp in -l$cf_regex_lib" >&5
+echo "$as_me:19297: checking for regcomp in -l$cf_regex_lib" >&5
echo $ECHO_N "checking for regcomp in -l$cf_regex_lib... $ECHO_C" >&6
if eval "test \"\${$as_ac_Lib+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-l$cf_regex_lib $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19290 "configure"
+#line 19305 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19309: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19324: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19312: \$? = $ac_status" >&5
+ echo "$as_me:19327: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19315: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19330: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19318: \$? = $ac_status" >&5
+ echo "$as_me:19333: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_Lib=yes"
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:19329: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
+echo "$as_me:19344: result: `eval echo '${'"$as_ac_Lib"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Lib"'}'`" >&6
if test "`eval echo '${'"$as_ac_Lib"'}'`" = yes; then
esac
if test "$cf_regex_func" = no ; then
- echo "$as_me:19361: checking for compile" >&5
+ echo "$as_me:19376: checking for compile" >&5
echo $ECHO_N "checking for compile... $ECHO_C" >&6
if test "${ac_cv_func_compile+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19367 "configure"
+#line 19382 "configure"
#include "confdefs.h"
#define compile autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19398: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19413: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19401: \$? = $ac_status" >&5
+ echo "$as_me:19416: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19404: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19419: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19407: \$? = $ac_status" >&5
+ echo "$as_me:19422: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_compile=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:19417: result: $ac_cv_func_compile" >&5
+echo "$as_me:19432: result: $ac_cv_func_compile" >&5
echo "${ECHO_T}$ac_cv_func_compile" >&6
if test "$ac_cv_func_compile" = yes; then
cf_regex_func=compile
else
- echo "$as_me:19423: checking for compile in -lgen" >&5
+ echo "$as_me:19438: checking for compile in -lgen" >&5
echo $ECHO_N "checking for compile in -lgen... $ECHO_C" >&6
if test "${ac_cv_lib_gen_compile+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lgen $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19431 "configure"
+#line 19446 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19450: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19465: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19453: \$? = $ac_status" >&5
+ echo "$as_me:19468: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19456: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19471: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19459: \$? = $ac_status" >&5
+ echo "$as_me:19474: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_gen_compile=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:19470: result: $ac_cv_lib_gen_compile" >&5
+echo "$as_me:19485: result: $ac_cv_lib_gen_compile" >&5
echo "${ECHO_T}$ac_cv_lib_gen_compile" >&6
if test "$ac_cv_lib_gen_compile" = yes; then
fi
if test "$cf_regex_func" = no ; then
- { echo "$as_me:19498: WARNING: cannot find regular expression library" >&5
+ { echo "$as_me:19513: WARNING: cannot find regular expression library" >&5
echo "$as_me: WARNING: cannot find regular expression library" >&2;}
fi
-echo "$as_me:19502: checking for regular-expression headers" >&5
+echo "$as_me:19517: checking for regular-expression headers" >&5
echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6
if test "${cf_cv_regex_hdrs+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
for cf_regex_hdr in regexp.h regexpr.h
do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19514 "configure"
+#line 19529 "configure"
#include "confdefs.h"
#include <$cf_regex_hdr>
int
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19531: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19546: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19534: \$? = $ac_status" >&5
+ echo "$as_me:19549: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19537: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19552: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19540: \$? = $ac_status" >&5
+ echo "$as_me:19555: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_regex_hdrs=$cf_regex_hdr
for cf_regex_hdr in regex.h
do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19557 "configure"
+#line 19572 "configure"
#include "confdefs.h"
#include <sys/types.h>
#include <$cf_regex_hdr>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19577: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19592: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19580: \$? = $ac_status" >&5
+ echo "$as_me:19595: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19583: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19598: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19586: \$? = $ac_status" >&5
+ echo "$as_me:19601: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_regex_hdrs=$cf_regex_hdr
esac
fi
-echo "$as_me:19602: result: $cf_cv_regex_hdrs" >&5
+echo "$as_me:19617: result: $cf_cv_regex_hdrs" >&5
echo "${ECHO_T}$cf_cv_regex_hdrs" >&6
case "$cf_cv_regex_hdrs" in
- (no) { echo "$as_me:19606: WARNING: no regular expression header found" >&5
+ (no) { echo "$as_me:19621: WARNING: no regular expression header found" >&5
echo "$as_me: WARNING: no regular expression header found" >&2;} ;;
(regex.h)
cat >>confdefs.h <<\EOF
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:19644: checking for $ac_header" >&5
+echo "$as_me:19659: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19650 "configure"
+#line 19665 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:19654: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:19669: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:19660: \$? = $ac_status" >&5
+ echo "$as_me:19675: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:19679: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:19694: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
for ac_header in unistd.h getopt.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:19692: checking for $ac_header" >&5
+echo "$as_me:19707: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19698 "configure"
+#line 19713 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:19702: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:19717: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:19708: \$? = $ac_status" >&5
+ echo "$as_me:19723: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:19727: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:19742: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
fi
done
-echo "$as_me:19737: checking for header declaring getopt variables" >&5
+echo "$as_me:19752: checking for header declaring getopt variables" >&5
echo $ECHO_N "checking for header declaring getopt variables... $ECHO_C" >&6
if test "${cf_cv_getopt_header+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
for cf_header in stdio.h stdlib.h unistd.h getopt.h
do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19747 "configure"
+#line 19762 "configure"
#include "confdefs.h"
#include <$cf_header>
int
main (void)
{
-int x = optind; char *y = optarg
+int x = optind; char *y = optarg; (void)x; (void)y
;
return 0;
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:19760: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:19775: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:19763: \$? = $ac_status" >&5
+ echo "$as_me:19778: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:19766: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19781: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19769: \$? = $ac_status" >&5
+ echo "$as_me:19784: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_getopt_header=$cf_header
break
done
fi
-echo "$as_me:19781: result: $cf_cv_getopt_header" >&5
+echo "$as_me:19796: result: $cf_cv_getopt_header" >&5
echo "${ECHO_T}$cf_cv_getopt_header" >&6
if test "$cf_cv_getopt_header" != none ; then
fi
-echo "$as_me:19798: checking if external environ is declared" >&5
+echo "$as_me:19813: checking if external environ is declared" >&5
echo $ECHO_N "checking if external environ is declared... $ECHO_C" >&6
if test "${cf_cv_dcl_environ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19805 "configure"
+#line 19820 "configure"
#include "confdefs.h"
#ifdef HAVE_STDLIB_H
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:19821: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:19836: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:19824: \$? = $ac_status" >&5
+ echo "$as_me:19839: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:19827: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19842: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19830: \$? = $ac_status" >&5
+ echo "$as_me:19845: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_dcl_environ=yes
else
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:19841: result: $cf_cv_dcl_environ" >&5
+echo "$as_me:19856: result: $cf_cv_dcl_environ" >&5
echo "${ECHO_T}$cf_cv_dcl_environ" >&6
if test "$cf_cv_dcl_environ" = no ; then
# It's possible (for near-UNIX clones) that the data doesn't exist
-echo "$as_me:19856: checking if external environ exists" >&5
+echo "$as_me:19871: checking if external environ exists" >&5
echo $ECHO_N "checking if external environ exists... $ECHO_C" >&6
if test "${cf_cv_have_environ+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19863 "configure"
+#line 19878 "configure"
#include "confdefs.h"
#undef environ
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19878: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19893: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19881: \$? = $ac_status" >&5
+ echo "$as_me:19896: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19884: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19899: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19887: \$? = $ac_status" >&5
+ echo "$as_me:19902: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have_environ=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:19898: result: $cf_cv_have_environ" >&5
+echo "$as_me:19913: result: $cf_cv_have_environ" >&5
echo "${ECHO_T}$cf_cv_have_environ" >&6
if test "$cf_cv_have_environ" = yes ; then
fi
-echo "$as_me:19911: checking for getenv" >&5
+echo "$as_me:19926: checking for getenv" >&5
echo $ECHO_N "checking for getenv... $ECHO_C" >&6
if test "${ac_cv_func_getenv+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19917 "configure"
+#line 19932 "configure"
#include "confdefs.h"
#define getenv autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:19948: \"$ac_link\"") >&5
+if { (eval echo "$as_me:19963: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:19951: \$? = $ac_status" >&5
+ echo "$as_me:19966: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:19954: \"$ac_try\"") >&5
+ { (eval echo "$as_me:19969: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:19957: \$? = $ac_status" >&5
+ echo "$as_me:19972: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_getenv=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:19967: result: $ac_cv_func_getenv" >&5
+echo "$as_me:19982: result: $ac_cv_func_getenv" >&5
echo "${ECHO_T}$ac_cv_func_getenv" >&6
for ac_func in putenv setenv strdup
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:19973: checking for $ac_func" >&5
+echo "$as_me:19988: checking for $ac_func" >&5
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 19979 "configure"
+#line 19994 "configure"
#include "confdefs.h"
#define $ac_func autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20010: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20025: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:20013: \$? = $ac_status" >&5
+ echo "$as_me:20028: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:20016: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20031: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20019: \$? = $ac_status" >&5
+ echo "$as_me:20034: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_var=yes"
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:20029: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:20044: result: `eval echo '${'"$as_ac_var"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
cat >>confdefs.h <<EOF
fi
done
-echo "$as_me:20039: checking if getenv returns consistent values" >&5
+echo "$as_me:20054: checking if getenv returns consistent values" >&5
echo $ECHO_N "checking if getenv returns consistent values... $ECHO_C" >&6
if test "${cf_cv_consistent_getenv+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_consistent_getenv=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20049 "configure"
+#line 20064 "configure"
#include "confdefs.h"
#include <stdlib.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:20158: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20173: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:20161: \$? = $ac_status" >&5
+ echo "$as_me:20176: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:20163: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20178: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20166: \$? = $ac_status" >&5
+ echo "$as_me:20181: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_consistent_getenv=yes
else
fi
fi
-echo "$as_me:20179: result: $cf_cv_consistent_getenv" >&5
+echo "$as_me:20194: result: $cf_cv_consistent_getenv" >&5
echo "${ECHO_T}$cf_cv_consistent_getenv" >&6
if test "x$cf_cv_consistent_getenv" = xno
if test "x$cf_cv_consistent_getenv" = xno && \
test "x$cf_with_trace" = xyes
then
- { echo "$as_me:20194: WARNING: The NCURSES_TRACE environment variable is not supported with this configuration" >&5
+ { echo "$as_me:20209: WARNING: The NCURSES_TRACE environment variable is not supported with this configuration" >&5
echo "$as_me: WARNING: The NCURSES_TRACE environment variable is not supported with this configuration" >&2;}
fi
-echo "$as_me:20198: checking if sys/time.h works with sys/select.h" >&5
+echo "$as_me:20213: checking if sys/time.h works with sys/select.h" >&5
echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6
if test "${cf_cv_sys_time_select+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20205 "configure"
+#line 20220 "configure"
#include "confdefs.h"
#include <sys/types.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20225: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20240: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20228: \$? = $ac_status" >&5
+ echo "$as_me:20243: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20231: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20246: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20234: \$? = $ac_status" >&5
+ echo "$as_me:20249: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_sys_time_select=yes
else
fi
-echo "$as_me:20246: result: $cf_cv_sys_time_select" >&5
+echo "$as_me:20261: result: $cf_cv_sys_time_select" >&5
echo "${ECHO_T}$cf_cv_sys_time_select" >&6
test "$cf_cv_sys_time_select" = yes &&
cat >>confdefs.h <<\EOF
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_main_return="return"
-echo "$as_me:20261: checking for an ANSI C-conforming const" >&5
+echo "$as_me:20276: checking for an ANSI C-conforming const" >&5
echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
if test "${ac_cv_c_const+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20267 "configure"
+#line 20282 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20325: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20340: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20328: \$? = $ac_status" >&5
+ echo "$as_me:20343: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20331: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20346: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20334: \$? = $ac_status" >&5
+ echo "$as_me:20349: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_c_const=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:20344: result: $ac_cv_c_const" >&5
+echo "$as_me:20359: result: $ac_cv_c_const" >&5
echo "${ECHO_T}$ac_cv_c_const" >&6
if test $ac_cv_c_const = no; then
fi
-echo "$as_me:20354: checking for inline" >&5
+echo "$as_me:20369: checking for inline" >&5
echo $ECHO_N "checking for inline... $ECHO_C" >&6
if test "${ac_cv_c_inline+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_cv_c_inline=no
for ac_kw in inline __inline__ __inline; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20362 "configure"
+#line 20377 "configure"
#include "confdefs.h"
#ifndef __cplusplus
static $ac_kw int static_foo () {return 0; }
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20371: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20386: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20374: \$? = $ac_status" >&5
+ echo "$as_me:20389: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20377: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20392: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20380: \$? = $ac_status" >&5
+ echo "$as_me:20395: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_c_inline=$ac_kw; break
else
done
fi
-echo "$as_me:20391: result: $ac_cv_c_inline" >&5
+echo "$as_me:20406: result: $ac_cv_c_inline" >&5
echo "${ECHO_T}$ac_cv_c_inline" >&6
case $ac_cv_c_inline in
inline | yes) ;;
:
elif test "$GCC" = yes
then
- echo "$as_me:20417: checking if $CC supports options to tune inlining" >&5
+ echo "$as_me:20432: checking if $CC supports options to tune inlining" >&5
echo $ECHO_N "checking if $CC supports options to tune inlining... $ECHO_C" >&6
if test "${cf_cv_gcc_inline+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_save_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS --param max-inline-insns-single=1200"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20426 "configure"
+#line 20441 "configure"
#include "confdefs.h"
inline int foo(void) { return 1; }
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20438: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20453: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20441: \$? = $ac_status" >&5
+ echo "$as_me:20456: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20444: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20459: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20447: \$? = $ac_status" >&5
+ echo "$as_me:20462: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_gcc_inline=yes
else
CFLAGS=$cf_save_CFLAGS
fi
-echo "$as_me:20459: result: $cf_cv_gcc_inline" >&5
+echo "$as_me:20474: result: $cf_cv_gcc_inline" >&5
echo "${ECHO_T}$cf_cv_gcc_inline" >&6
if test "$cf_cv_gcc_inline" = yes ; then
fi
fi
-echo "$as_me:20565: checking for signal global datatype" >&5
+echo "$as_me:20580: checking for signal global datatype" >&5
echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6
if test "${cf_cv_sig_atomic_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
"int"
do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20577 "configure"
+#line 20592 "configure"
#include "confdefs.h"
#include <sys/types.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20601: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20616: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20604: \$? = $ac_status" >&5
+ echo "$as_me:20619: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20607: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20622: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20610: \$? = $ac_status" >&5
+ echo "$as_me:20625: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_sig_atomic_t=$cf_type
else
fi
-echo "$as_me:20624: result: $cf_cv_sig_atomic_t" >&5
+echo "$as_me:20639: result: $cf_cv_sig_atomic_t" >&5
echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6
test "$cf_cv_sig_atomic_t" != no &&
cat >>confdefs.h <<EOF
if test "$NCURSES_CHTYPE" = auto ; then
-echo "$as_me:20633: checking for type of chtype" >&5
+echo "$as_me:20648: checking for type of chtype" >&5
echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6
if test "${cf_cv_typeof_chtype+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_typeof_chtype=long
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20643 "configure"
+#line 20658 "configure"
#include "confdefs.h"
#define WANT_BITS 31
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:20678: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20693: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:20681: \$? = $ac_status" >&5
+ echo "$as_me:20696: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:20683: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20698: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20686: \$? = $ac_status" >&5
+ echo "$as_me:20701: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_typeof_chtype=`cat cf_test.out`
else
fi
-echo "$as_me:20701: result: $cf_cv_typeof_chtype" >&5
+echo "$as_me:20716: result: $cf_cv_typeof_chtype" >&5
echo "${ECHO_T}$cf_cv_typeof_chtype" >&6
cat >>confdefs.h <<EOF
fi
test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype=""
-echo "$as_me:20713: checking if unsigned literals are legal" >&5
+echo "$as_me:20728: checking if unsigned literals are legal" >&5
echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6
if test "${cf_cv_unsigned_literals+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20720 "configure"
+#line 20735 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20732: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20747: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20735: \$? = $ac_status" >&5
+ echo "$as_me:20750: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20738: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20753: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20741: \$? = $ac_status" >&5
+ echo "$as_me:20756: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_unsigned_literals=yes
else
fi
-echo "$as_me:20753: result: $cf_cv_unsigned_literals" >&5
+echo "$as_me:20768: result: $cf_cv_unsigned_literals" >&5
echo "${ECHO_T}$cf_cv_unsigned_literals" >&6
cf_cv_1UL="1"
### Checks for external-data
-echo "$as_me:20769: checking if external errno is declared" >&5
+echo "$as_me:20784: checking if external errno is declared" >&5
echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6
if test "${cf_cv_dcl_errno+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20776 "configure"
+#line 20791 "configure"
#include "confdefs.h"
#ifdef HAVE_STDLIB_H
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:20794: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:20809: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20797: \$? = $ac_status" >&5
+ echo "$as_me:20812: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:20800: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20815: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20803: \$? = $ac_status" >&5
+ echo "$as_me:20818: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_dcl_errno=yes
else
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:20814: result: $cf_cv_dcl_errno" >&5
+echo "$as_me:20829: result: $cf_cv_dcl_errno" >&5
echo "${ECHO_T}$cf_cv_dcl_errno" >&6
if test "$cf_cv_dcl_errno" = no ; then
# It's possible (for near-UNIX clones) that the data doesn't exist
-echo "$as_me:20829: checking if external errno exists" >&5
+echo "$as_me:20844: checking if external errno exists" >&5
echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6
if test "${cf_cv_have_errno+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20836 "configure"
+#line 20851 "configure"
#include "confdefs.h"
#undef errno
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:20851: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20866: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:20854: \$? = $ac_status" >&5
+ echo "$as_me:20869: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:20857: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20872: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20860: \$? = $ac_status" >&5
+ echo "$as_me:20875: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have_errno=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:20871: result: $cf_cv_have_errno" >&5
+echo "$as_me:20886: result: $cf_cv_have_errno" >&5
echo "${ECHO_T}$cf_cv_have_errno" >&6
if test "$cf_cv_have_errno" = yes ; then
fi
-echo "$as_me:20884: checking if data-only library module links" >&5
+echo "$as_me:20899: checking if data-only library module links" >&5
echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6
if test "${cf_cv_link_dataonly+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
rm -f conftest.a
cat >conftest.$ac_ext <<EOF
-#line 20892 "configure"
+#line 20907 "configure"
int testdata[3] = { 123, 456, 789 };
EOF
- if { (eval echo "$as_me:20895: \"$ac_compile\"") >&5
+ if { (eval echo "$as_me:20910: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20898: \$? = $ac_status" >&5
+ echo "$as_me:20913: \$? = $ac_status" >&5
(exit "$ac_status"); } ; then
mv conftest.o data.o && \
( $AR $ARFLAGS conftest.a data.o ) 2>&5 1>/dev/null
fi
rm -f conftest.$ac_ext data.o
cat >conftest.$ac_ext <<EOF
-#line 20905 "configure"
+#line 20920 "configure"
int testfunc(void)
{
#if defined(NeXT)
#endif
}
EOF
- if { (eval echo "$as_me:20918: \"$ac_compile\"") >&5
+ if { (eval echo "$as_me:20933: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:20921: \$? = $ac_status" >&5
+ echo "$as_me:20936: \$? = $ac_status" >&5
(exit "$ac_status"); }; then
mv conftest.o func.o && \
( $AR $ARFLAGS conftest.a func.o ) 2>&5 1>/dev/null
cf_cv_link_dataonly=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 20934 "configure"
+#line 20949 "configure"
#include "confdefs.h"
int main(void)
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:20945: \"$ac_link\"") >&5
+if { (eval echo "$as_me:20960: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:20948: \$? = $ac_status" >&5
+ echo "$as_me:20963: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:20950: \"$ac_try\"") >&5
+ { (eval echo "$as_me:20965: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:20953: \$? = $ac_status" >&5
+ echo "$as_me:20968: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_link_dataonly=yes
else
fi
-echo "$as_me:20968: result: $cf_cv_link_dataonly" >&5
+echo "$as_me:20983: result: $cf_cv_link_dataonly" >&5
echo "${ECHO_T}$cf_cv_link_dataonly" >&6
if test "$cf_cv_link_dataonly" = no ; then
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:21011: checking for $ac_func" >&5
+echo "$as_me:21026: checking for $ac_func" >&5
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21017 "configure"
+#line 21032 "configure"
#include "confdefs.h"
#define $ac_func autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21048: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21063: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21051: \$? = $ac_status" >&5
+ echo "$as_me:21066: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21054: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21069: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21057: \$? = $ac_status" >&5
+ echo "$as_me:21072: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_var=yes"
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21067: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:21082: result: `eval echo '${'"$as_ac_var"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
cat >>confdefs.h <<EOF
if test "x$ac_cv_func_getopt" = xno && \
test "x$cf_with_progs$cf_with_tests" != xnono; then
- { { echo "$as_me:21079: error: getopt is required for building programs" >&5
+ { { echo "$as_me:21094: error: getopt is required for building programs" >&5
echo "$as_me: error: getopt is required for building programs" >&2;}
{ (exit 1); exit 1; }; }
fi
then
if test "x$ac_cv_func_vsnprintf" = xyes
then
- { echo "$as_me:21088: WARNING: will use vsnprintf instead of safe-sprintf option" >&5
+ { echo "$as_me:21103: WARNING: will use vsnprintf instead of safe-sprintf option" >&5
echo "$as_me: WARNING: will use vsnprintf instead of safe-sprintf option" >&2;}
else
if test "x$with_getcap" = "xyes" ; then
-echo "$as_me:21101: checking for terminal-capability database functions" >&5
+echo "$as_me:21116: checking for terminal-capability database functions" >&5
echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6
if test "${cf_cv_cgetent+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21108 "configure"
+#line 21123 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21128: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21143: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21131: \$? = $ac_status" >&5
+ echo "$as_me:21146: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21134: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21149: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21137: \$? = $ac_status" >&5
+ echo "$as_me:21152: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_cgetent=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21148: result: $cf_cv_cgetent" >&5
+echo "$as_me:21163: result: $cf_cv_cgetent" >&5
echo "${ECHO_T}$cf_cv_cgetent" >&6
if test "$cf_cv_cgetent" = yes
#define HAVE_BSD_CGETENT 1
EOF
-echo "$as_me:21158: checking if cgetent uses const parameter" >&5
+echo "$as_me:21173: checking if cgetent uses const parameter" >&5
echo $ECHO_N "checking if cgetent uses const parameter... $ECHO_C" >&6
if test "${cf_cv_cgetent_const+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21165 "configure"
+#line 21180 "configure"
#include "confdefs.h"
#pragma GCC diagnostic error "-Wincompatible-pointer-types-discards-qualifiers"
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21188: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21203: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21191: \$? = $ac_status" >&5
+ echo "$as_me:21206: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21194: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21209: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21197: \$? = $ac_status" >&5
+ echo "$as_me:21212: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_cgetent_const=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21208: result: $cf_cv_cgetent_const" >&5
+echo "$as_me:21223: result: $cf_cv_cgetent_const" >&5
echo "${ECHO_T}$cf_cv_cgetent_const" >&6
if test "$cf_cv_cgetent_const" = yes
then
fi
-echo "$as_me:21222: checking for isascii" >&5
+echo "$as_me:21237: checking for isascii" >&5
echo $ECHO_N "checking for isascii... $ECHO_C" >&6
if test "${cf_cv_have_isascii+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21229 "configure"
+#line 21244 "configure"
#include "confdefs.h"
#include <ctype.h>
int
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21241: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21256: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21244: \$? = $ac_status" >&5
+ echo "$as_me:21259: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21247: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21262: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21250: \$? = $ac_status" >&5
+ echo "$as_me:21265: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have_isascii=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21261: result: $cf_cv_have_isascii" >&5
+echo "$as_me:21276: result: $cf_cv_have_isascii" >&5
echo "${ECHO_T}$cf_cv_have_isascii" >&6
test "$cf_cv_have_isascii" = yes &&
cat >>confdefs.h <<\EOF
EOF
if test "$ac_cv_func_sigaction" = yes; then
-echo "$as_me:21269: checking whether sigaction needs _POSIX_SOURCE" >&5
+echo "$as_me:21284: checking whether sigaction needs _POSIX_SOURCE" >&5
echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21272 "configure"
+#line 21287 "configure"
#include "confdefs.h"
#include <sys/types.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:21286: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:21301: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:21289: \$? = $ac_status" >&5
+ echo "$as_me:21304: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:21292: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21307: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21295: \$? = $ac_status" >&5
+ echo "$as_me:21310: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
sigact_bad=no
else
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21303 "configure"
+#line 21318 "configure"
#include "confdefs.h"
#define _POSIX_SOURCE
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:21318: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:21333: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:21321: \$? = $ac_status" >&5
+ echo "$as_me:21336: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:21324: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21339: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21327: \$? = $ac_status" >&5
+ echo "$as_me:21342: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
sigact_bad=yes
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
-echo "$as_me:21343: result: $sigact_bad" >&5
+echo "$as_me:21358: result: $sigact_bad" >&5
echo "${ECHO_T}$sigact_bad" >&6
fi
-echo "$as_me:21347: checking if nanosleep really works" >&5
+echo "$as_me:21362: checking if nanosleep really works" >&5
echo $ECHO_N "checking if nanosleep really works... $ECHO_C" >&6
if test "${cf_cv_func_nanosleep+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_func_nanosleep=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21357 "configure"
+#line 21372 "configure"
#include "confdefs.h"
#include <stdio.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:21382: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21397: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21385: \$? = $ac_status" >&5
+ echo "$as_me:21400: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:21387: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21402: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21390: \$? = $ac_status" >&5
+ echo "$as_me:21405: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_nanosleep=yes
else
rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
fi
fi
-echo "$as_me:21402: result: $cf_cv_func_nanosleep" >&5
+echo "$as_me:21417: result: $cf_cv_func_nanosleep" >&5
echo "${ECHO_T}$cf_cv_func_nanosleep" >&6
test "$cf_cv_func_nanosleep" = "yes" &&
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:21419: checking for $ac_header" >&5
+echo "$as_me:21434: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21425 "configure"
+#line 21440 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:21429: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:21444: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:21435: \$? = $ac_status" >&5
+ echo "$as_me:21450: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:21454: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:21469: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
(*) termios_bad=maybe ;;
esac
if test "$termios_bad" = maybe ; then
- echo "$as_me:21471: checking whether termios.h needs _POSIX_SOURCE" >&5
+ echo "$as_me:21486: checking whether termios.h needs _POSIX_SOURCE" >&5
echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21474 "configure"
+#line 21489 "configure"
#include "confdefs.h"
#include <termios.h>
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:21486: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:21501: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:21489: \$? = $ac_status" >&5
+ echo "$as_me:21504: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:21492: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21507: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21495: \$? = $ac_status" >&5
+ echo "$as_me:21510: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
termios_bad=no
else
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21503 "configure"
+#line 21518 "configure"
#include "confdefs.h"
#define _POSIX_SOURCE
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:21517: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:21532: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:21520: \$? = $ac_status" >&5
+ echo "$as_me:21535: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:21523: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21538: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21526: \$? = $ac_status" >&5
+ echo "$as_me:21541: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
termios_bad=unknown
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
- echo "$as_me:21542: result: $termios_bad" >&5
+ echo "$as_me:21557: result: $termios_bad" >&5
echo "${ECHO_T}$termios_bad" >&6
fi
fi
-echo "$as_me:21547: checking for tcgetattr" >&5
+echo "$as_me:21562: checking for tcgetattr" >&5
echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6
if test "${cf_cv_have_tcgetattr+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21554 "configure"
+#line 21569 "configure"
#include "confdefs.h"
#include <sys/types.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21582: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21597: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21585: \$? = $ac_status" >&5
+ echo "$as_me:21600: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21588: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21603: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21591: \$? = $ac_status" >&5
+ echo "$as_me:21606: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have_tcgetattr=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21601: result: $cf_cv_have_tcgetattr" >&5
+echo "$as_me:21616: result: $cf_cv_have_tcgetattr" >&5
echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6
test "$cf_cv_have_tcgetattr" = yes &&
cat >>confdefs.h <<\EOF
#define HAVE_TCGETATTR 1
EOF
-echo "$as_me:21608: checking for vsscanf function or workaround" >&5
+echo "$as_me:21623: checking for vsscanf function or workaround" >&5
echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6
if test "${cf_cv_func_vsscanf+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21615 "configure"
+#line 21630 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21631: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21646: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21634: \$? = $ac_status" >&5
+ echo "$as_me:21649: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21637: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21652: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21640: \$? = $ac_status" >&5
+ echo "$as_me:21655: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_vsscanf=vsscanf
else
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21648 "configure"
+#line 21663 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21670: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21685: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21673: \$? = $ac_status" >&5
+ echo "$as_me:21688: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21676: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21691: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21679: \$? = $ac_status" >&5
+ echo "$as_me:21694: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_vsscanf=vfscanf
else
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21687 "configure"
+#line 21702 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21709: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21724: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21712: \$? = $ac_status" >&5
+ echo "$as_me:21727: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21715: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21730: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21718: \$? = $ac_status" >&5
+ echo "$as_me:21733: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_vsscanf=_doscan
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21733: result: $cf_cv_func_vsscanf" >&5
+echo "$as_me:21748: result: $cf_cv_func_vsscanf" >&5
echo "${ECHO_T}$cf_cv_func_vsscanf" >&6
case "$cf_cv_func_vsscanf" in
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:21759: checking for $ac_header" >&5
+echo "$as_me:21774: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21765 "configure"
+#line 21780 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:21769: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:21784: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:21775: \$? = $ac_status" >&5
+ echo "$as_me:21790: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:21794: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:21809: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
fi
done
-echo "$as_me:21804: checking for working mkstemp" >&5
+echo "$as_me:21819: checking for working mkstemp" >&5
echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6
if test "${cf_cv_func_mkstemp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_func_mkstemp=maybe
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21815 "configure"
+#line 21830 "configure"
#include "confdefs.h"
#include <sys/types.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:21856: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21871: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21859: \$? = $ac_status" >&5
+ echo "$as_me:21874: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:21861: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21876: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21864: \$? = $ac_status" >&5
+ echo "$as_me:21879: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_mkstemp=yes
fi
fi
-echo "$as_me:21879: result: $cf_cv_func_mkstemp" >&5
+echo "$as_me:21894: result: $cf_cv_func_mkstemp" >&5
echo "${ECHO_T}$cf_cv_func_mkstemp" >&6
if test "x$cf_cv_func_mkstemp" = xmaybe ; then
- echo "$as_me:21882: checking for mkstemp" >&5
+ echo "$as_me:21897: checking for mkstemp" >&5
echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6
if test "${ac_cv_func_mkstemp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21888 "configure"
+#line 21903 "configure"
#include "confdefs.h"
#define mkstemp autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:21919: \"$ac_link\"") >&5
+if { (eval echo "$as_me:21934: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21922: \$? = $ac_status" >&5
+ echo "$as_me:21937: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:21925: \"$ac_try\"") >&5
+ { (eval echo "$as_me:21940: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21928: \$? = $ac_status" >&5
+ echo "$as_me:21943: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_mkstemp=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:21938: result: $ac_cv_func_mkstemp" >&5
+echo "$as_me:21953: result: $ac_cv_func_mkstemp" >&5
echo "${ECHO_T}$ac_cv_func_mkstemp" >&6
fi
fi
if test "x$cross_compiling" = xyes ; then
- { echo "$as_me:21959: WARNING: cross compiling: assume setvbuf params not reversed" >&5
+ { echo "$as_me:21974: WARNING: cross compiling: assume setvbuf params not reversed" >&5
echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;}
else
- echo "$as_me:21962: checking whether setvbuf arguments are reversed" >&5
+ echo "$as_me:21977: checking whether setvbuf arguments are reversed" >&5
echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6
if test "${ac_cv_func_setvbuf_reversed+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test "$cross_compiling" = yes; then
- { { echo "$as_me:21968: error: cannot run test program while cross compiling" >&5
+ { { echo "$as_me:21983: error: cannot run test program while cross compiling" >&5
echo "$as_me: error: cannot run test program while cross compiling" >&2;}
{ (exit 1); exit 1; }; }
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 21973 "configure"
+#line 21988 "configure"
#include "confdefs.h"
#include <stdio.h>
/* If setvbuf has the reversed format, exit 0. */
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:21990: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22005: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:21993: \$? = $ac_status" >&5
+ echo "$as_me:22008: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:21995: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22010: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:21998: \$? = $ac_status" >&5
+ echo "$as_me:22013: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_setvbuf_reversed=yes
else
fi
rm -f core ./core.* ./*.core
fi
-echo "$as_me:22011: result: $ac_cv_func_setvbuf_reversed" >&5
+echo "$as_me:22026: result: $ac_cv_func_setvbuf_reversed" >&5
echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6
if test $ac_cv_func_setvbuf_reversed = yes; then
fi
fi
-echo "$as_me:22022: checking for intptr_t" >&5
+echo "$as_me:22037: checking for intptr_t" >&5
echo $ECHO_N "checking for intptr_t... $ECHO_C" >&6
if test "${ac_cv_type_intptr_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22028 "configure"
+#line 22043 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22043: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22058: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:22046: \$? = $ac_status" >&5
+ echo "$as_me:22061: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:22049: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22064: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22052: \$? = $ac_status" >&5
+ echo "$as_me:22067: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_intptr_t=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:22062: result: $ac_cv_type_intptr_t" >&5
+echo "$as_me:22077: result: $ac_cv_type_intptr_t" >&5
echo "${ECHO_T}$ac_cv_type_intptr_t" >&6
if test "$ac_cv_type_intptr_t" = yes; then
:
fi
-echo "$as_me:22074: checking for ssize_t" >&5
+echo "$as_me:22089: checking for ssize_t" >&5
echo $ECHO_N "checking for ssize_t... $ECHO_C" >&6
if test "${ac_cv_type_ssize_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22080 "configure"
+#line 22095 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22095: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22110: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:22098: \$? = $ac_status" >&5
+ echo "$as_me:22113: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:22101: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22116: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22104: \$? = $ac_status" >&5
+ echo "$as_me:22119: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_ssize_t=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:22114: result: $ac_cv_type_ssize_t" >&5
+echo "$as_me:22129: result: $ac_cv_type_ssize_t" >&5
echo "${ECHO_T}$ac_cv_type_ssize_t" >&6
if test "$ac_cv_type_ssize_t" = yes; then
:
fi
-echo "$as_me:22126: checking for type sigaction_t" >&5
+echo "$as_me:22141: checking for type sigaction_t" >&5
echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6
if test "${cf_cv_type_sigaction+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22133 "configure"
+#line 22148 "configure"
#include "confdefs.h"
#include <signal.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22146: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22161: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:22149: \$? = $ac_status" >&5
+ echo "$as_me:22164: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:22152: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22167: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22155: \$? = $ac_status" >&5
+ echo "$as_me:22170: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_type_sigaction=yes
else
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:22166: result: $cf_cv_type_sigaction" >&5
+echo "$as_me:22181: result: $cf_cv_type_sigaction" >&5
echo "${ECHO_T}$cf_cv_type_sigaction" >&6
test "$cf_cv_type_sigaction" = yes &&
cat >>confdefs.h <<\EOF
#define HAVE_TYPE_SIGACTION 1
EOF
-echo "$as_me:22173: checking declaration of size-change" >&5
+echo "$as_me:22188: checking declaration of size-change" >&5
echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6
if test "${cf_cv_sizechange+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22194 "configure"
+#line 22209 "configure"
#include "confdefs.h"
#include <sys/types.h>
#ifdef HAVE_TERMIOS_H
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22244: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22259: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:22247: \$? = $ac_status" >&5
+ echo "$as_me:22262: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:22250: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22265: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22253: \$? = $ac_status" >&5
+ echo "$as_me:22268: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_sizechange=yes
else
done
fi
-echo "$as_me:22272: result: $cf_cv_sizechange" >&5
+echo "$as_me:22287: result: $cf_cv_sizechange" >&5
echo "${ECHO_T}$cf_cv_sizechange" >&6
if test "$cf_cv_sizechange" != no ; then
esac
fi
-echo "$as_me:22290: checking for memmove" >&5
+echo "$as_me:22305: checking for memmove" >&5
echo $ECHO_N "checking for memmove... $ECHO_C" >&6
if test "${ac_cv_func_memmove+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22296 "configure"
+#line 22311 "configure"
#include "confdefs.h"
#define memmove autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22327: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22342: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22330: \$? = $ac_status" >&5
+ echo "$as_me:22345: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22333: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22348: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22336: \$? = $ac_status" >&5
+ echo "$as_me:22351: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_memmove=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22346: result: $ac_cv_func_memmove" >&5
+echo "$as_me:22361: result: $ac_cv_func_memmove" >&5
echo "${ECHO_T}$ac_cv_func_memmove" >&6
if test "$ac_cv_func_memmove" = yes; then
:
else
-echo "$as_me:22352: checking for bcopy" >&5
+echo "$as_me:22367: checking for bcopy" >&5
echo $ECHO_N "checking for bcopy... $ECHO_C" >&6
if test "${ac_cv_func_bcopy+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22358 "configure"
+#line 22373 "configure"
#include "confdefs.h"
#define bcopy autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22389: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22404: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22392: \$? = $ac_status" >&5
+ echo "$as_me:22407: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22395: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22410: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22398: \$? = $ac_status" >&5
+ echo "$as_me:22413: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_bcopy=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22408: result: $ac_cv_func_bcopy" >&5
+echo "$as_me:22423: result: $ac_cv_func_bcopy" >&5
echo "${ECHO_T}$ac_cv_func_bcopy" >&6
if test "$ac_cv_func_bcopy" = yes; then
- echo "$as_me:22412: checking if bcopy does overlapping moves" >&5
+ echo "$as_me:22427: checking if bcopy does overlapping moves" >&5
echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6
if test "${cf_cv_good_bcopy+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_good_bcopy=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22422 "configure"
+#line 22437 "configure"
#include "confdefs.h"
int main(void) {
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:22436: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22451: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22439: \$? = $ac_status" >&5
+ echo "$as_me:22454: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:22441: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22456: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22444: \$? = $ac_status" >&5
+ echo "$as_me:22459: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_good_bcopy=yes
else
fi
fi
-echo "$as_me:22457: result: $cf_cv_good_bcopy" >&5
+echo "$as_me:22472: result: $cf_cv_good_bcopy" >&5
echo "${ECHO_T}$cf_cv_good_bcopy" >&6
else
for ac_func in posix_openpt
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:22484: checking for $ac_func" >&5
+echo "$as_me:22499: checking for $ac_func" >&5
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22490 "configure"
+#line 22505 "configure"
#include "confdefs.h"
#define $ac_func autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22521: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22536: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22524: \$? = $ac_status" >&5
+ echo "$as_me:22539: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22527: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22542: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22530: \$? = $ac_status" >&5
+ echo "$as_me:22545: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_var=yes"
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22540: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:22555: result: `eval echo '${'"$as_ac_var"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
cat >>confdefs.h <<EOF
fi
done
}
-echo "$as_me:22550: checking if poll really works" >&5
+echo "$as_me:22565: checking if poll really works" >&5
echo $ECHO_N "checking if poll really works... $ECHO_C" >&6
if test "${cf_cv_working_poll+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_working_poll=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22560 "configure"
+#line 22575 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:22612: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22627: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22615: \$? = $ac_status" >&5
+ echo "$as_me:22630: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:22617: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22632: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22620: \$? = $ac_status" >&5
+ echo "$as_me:22635: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_working_poll=yes
else
rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
fi
fi
-echo "$as_me:22632: result: $cf_cv_working_poll" >&5
+echo "$as_me:22647: result: $cf_cv_working_poll" >&5
echo "${ECHO_T}$cf_cv_working_poll" >&6
test "$cf_cv_working_poll" = "yes" &&
cat >>confdefs.h <<\EOF
#define HAVE_WORKING_POLL 1
EOF
-echo "$as_me:22639: checking for va_copy" >&5
+echo "$as_me:22654: checking for va_copy" >&5
echo $ECHO_N "checking for va_copy... $ECHO_C" >&6
if test "${cf_cv_have_va_copy+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22646 "configure"
+#line 22661 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22663: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22678: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22666: \$? = $ac_status" >&5
+ echo "$as_me:22681: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22669: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22684: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22672: \$? = $ac_status" >&5
+ echo "$as_me:22687: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have_va_copy=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22682: result: $cf_cv_have_va_copy" >&5
+echo "$as_me:22697: result: $cf_cv_have_va_copy" >&5
echo "${ECHO_T}$cf_cv_have_va_copy" >&6
if test "$cf_cv_have_va_copy" = yes;
else # !cf_cv_have_va_copy
-echo "$as_me:22694: checking for __va_copy" >&5
+echo "$as_me:22709: checking for __va_copy" >&5
echo $ECHO_N "checking for __va_copy... $ECHO_C" >&6
if test "${cf_cv_have___va_copy+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22701 "configure"
+#line 22716 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22718: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22733: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22721: \$? = $ac_status" >&5
+ echo "$as_me:22736: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22724: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22739: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22727: \$? = $ac_status" >&5
+ echo "$as_me:22742: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have___va_copy=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22737: result: $cf_cv_have___va_copy" >&5
+echo "$as_me:22752: result: $cf_cv_have___va_copy" >&5
echo "${ECHO_T}$cf_cv_have___va_copy" >&6
if test "$cf_cv_have___va_copy" = yes
else # !cf_cv_have___va_copy
-echo "$as_me:22749: checking for __builtin_va_copy" >&5
+echo "$as_me:22764: checking for __builtin_va_copy" >&5
echo $ECHO_N "checking for __builtin_va_copy... $ECHO_C" >&6
if test "${cf_cv_have___builtin_va_copy+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22756 "configure"
+#line 22771 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22773: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22788: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22776: \$? = $ac_status" >&5
+ echo "$as_me:22791: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22779: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22794: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22782: \$? = $ac_status" >&5
+ echo "$as_me:22797: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_have___builtin_va_copy=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22792: result: $cf_cv_have___builtin_va_copy" >&5
+echo "$as_me:22807: result: $cf_cv_have___builtin_va_copy" >&5
echo "${ECHO_T}$cf_cv_have___builtin_va_copy" >&6
test "$cf_cv_have___builtin_va_copy" = yes &&
;;
(*)
- echo "$as_me:22810: checking if we can simply copy va_list" >&5
+ echo "$as_me:22825: checking if we can simply copy va_list" >&5
echo $ECHO_N "checking if we can simply copy va_list... $ECHO_C" >&6
if test "${cf_cv_pointer_va_list+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22817 "configure"
+#line 22832 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22834: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22849: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22837: \$? = $ac_status" >&5
+ echo "$as_me:22852: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22840: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22855: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22843: \$? = $ac_status" >&5
+ echo "$as_me:22858: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_pointer_va_list=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22853: result: $cf_cv_pointer_va_list" >&5
+echo "$as_me:22868: result: $cf_cv_pointer_va_list" >&5
echo "${ECHO_T}$cf_cv_pointer_va_list" >&6
if test "$cf_cv_pointer_va_list" = no
then
- echo "$as_me:22858: checking if we can copy va_list indirectly" >&5
+ echo "$as_me:22873: checking if we can copy va_list indirectly" >&5
echo $ECHO_N "checking if we can copy va_list indirectly... $ECHO_C" >&6
if test "${cf_cv_array_va_list+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22865 "configure"
+#line 22880 "configure"
#include "confdefs.h"
#include <stdarg.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22882: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22897: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22885: \$? = $ac_status" >&5
+ echo "$as_me:22900: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22888: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22903: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22891: \$? = $ac_status" >&5
+ echo "$as_me:22906: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_array_va_list=yes
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:22901: result: $cf_cv_array_va_list" >&5
+echo "$as_me:22916: result: $cf_cv_array_va_list" >&5
echo "${ECHO_T}$cf_cv_array_va_list" >&6
test "$cf_cv_array_va_list" = yes &&
cat >>confdefs.h <<\EOF
;;
esac
-echo "$as_me:22912: checking for pid_t" >&5
+echo "$as_me:22927: checking for pid_t" >&5
echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
if test "${ac_cv_type_pid_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22918 "configure"
+#line 22933 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:22933: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:22948: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:22936: \$? = $ac_status" >&5
+ echo "$as_me:22951: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:22939: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22954: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22942: \$? = $ac_status" >&5
+ echo "$as_me:22957: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_pid_t=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:22952: result: $ac_cv_type_pid_t" >&5
+echo "$as_me:22967: result: $ac_cv_type_pid_t" >&5
echo "${ECHO_T}$ac_cv_type_pid_t" >&6
if test "$ac_cv_type_pid_t" = yes; then
:
for ac_header in unistd.h vfork.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:22967: checking for $ac_header" >&5
+echo "$as_me:22982: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22973 "configure"
+#line 22988 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:22977: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:22992: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:22983: \$? = $ac_status" >&5
+ echo "$as_me:22998: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:23002: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:23017: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
for ac_func in fork vfork
do
as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:23015: checking for $ac_func" >&5
+echo "$as_me:23030: checking for $ac_func" >&5
echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
if eval "test \"\${$as_ac_var+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23021 "configure"
+#line 23036 "configure"
#include "confdefs.h"
#define $ac_func autoconf_temporary
#include <limits.h> /* least-intrusive standard header which defines gcc2 __stub macros */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:23052: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23067: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23055: \$? = $ac_status" >&5
+ echo "$as_me:23070: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:23058: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23073: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23061: \$? = $ac_status" >&5
+ echo "$as_me:23076: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
eval "$as_ac_var=yes"
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
fi
-echo "$as_me:23071: result: `eval echo '${'"$as_ac_var"'}'`" >&5
+echo "$as_me:23086: result: `eval echo '${'"$as_ac_var"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_var"'}'`" >&6
if test "`eval echo '${'"$as_ac_var"'}'`" = yes; then
cat >>confdefs.h <<EOF
ac_cv_func_fork_works=$ac_cv_func_fork
if test "x$ac_cv_func_fork" = xyes; then
- echo "$as_me:23083: checking for working fork" >&5
+ echo "$as_me:23098: checking for working fork" >&5
echo $ECHO_N "checking for working fork... $ECHO_C" >&6
if test "${ac_cv_func_fork_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:23106: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23121: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23109: \$? = $ac_status" >&5
+ echo "$as_me:23124: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:23111: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23126: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23114: \$? = $ac_status" >&5
+ echo "$as_me:23129: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_fork_works=yes
else
rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
fi
fi
-echo "$as_me:23126: result: $ac_cv_func_fork_works" >&5
+echo "$as_me:23141: result: $ac_cv_func_fork_works" >&5
echo "${ECHO_T}$ac_cv_func_fork_works" >&6
fi
ac_cv_func_fork_works=yes
;;
esac
- { echo "$as_me:23140: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
+ { echo "$as_me:23155: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&5
echo "$as_me: WARNING: CROSS: Result $ac_cv_func_fork_works guessed due to cross-compiling." >&2;}
fi
ac_cv_func_vfork_works=$ac_cv_func_vfork
if test "x$ac_cv_func_vfork" = xyes; then
- echo "$as_me:23145: checking for working vfork" >&5
+ echo "$as_me:23160: checking for working vfork" >&5
echo $ECHO_N "checking for working vfork... $ECHO_C" >&6
if test "${ac_cv_func_vfork_works+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_cv_func_vfork_works=cross
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23154 "configure"
+#line 23169 "configure"
#include "confdefs.h"
/* Thanks to Paul Eggert for this test. */
#include <stdio.h>
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:23251: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23266: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23254: \$? = $ac_status" >&5
+ echo "$as_me:23269: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:23256: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23271: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23259: \$? = $ac_status" >&5
+ echo "$as_me:23274: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_func_vfork_works=yes
else
rm -f core ./core.* ./*.core "conftest$ac_exeext" "conftest.$ac_objext" "conftest.$ac_ext"
fi
fi
-echo "$as_me:23271: result: $ac_cv_func_vfork_works" >&5
+echo "$as_me:23286: result: $ac_cv_func_vfork_works" >&5
echo "${ECHO_T}$ac_cv_func_vfork_works" >&6
fi;
if test "x$ac_cv_func_fork_works" = xcross; then
ac_cv_func_vfork_works=ac_cv_func_vfork
- { echo "$as_me:23277: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
+ { echo "$as_me:23292: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&5
echo "$as_me: WARNING: CROSS: Result $ac_cv_func_vfork_works guessed due to cross-compiling." >&2;}
fi
fi
-echo "$as_me:23302: checking if fopen accepts explicit binary mode" >&5
+echo "$as_me:23317: checking if fopen accepts explicit binary mode" >&5
echo $ECHO_N "checking if fopen accepts explicit binary mode... $ECHO_C" >&6
if test "${cf_cv_fopen_bin_r+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_fopen_bin_r=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23312 "configure"
+#line 23327 "configure"
#include "confdefs.h"
#include <stdio.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:23345: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23360: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23348: \$? = $ac_status" >&5
+ echo "$as_me:23363: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:23350: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23365: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23353: \$? = $ac_status" >&5
+ echo "$as_me:23368: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_fopen_bin_r=yes
else
fi
fi
-echo "$as_me:23366: result: $cf_cv_fopen_bin_r" >&5
+echo "$as_me:23381: result: $cf_cv_fopen_bin_r" >&5
echo "${ECHO_T}$cf_cv_fopen_bin_r" >&6
test "x$cf_cv_fopen_bin_r" != xno &&
cat >>confdefs.h <<\EOF
# special check for test/ditto.c
-echo "$as_me:23375: checking for openpty in -lutil" >&5
+echo "$as_me:23390: checking for openpty in -lutil" >&5
echo $ECHO_N "checking for openpty in -lutil... $ECHO_C" >&6
if test "${ac_cv_lib_util_openpty+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-lutil $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23383 "configure"
+#line 23398 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:23402: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23417: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23405: \$? = $ac_status" >&5
+ echo "$as_me:23420: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:23408: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23423: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23411: \$? = $ac_status" >&5
+ echo "$as_me:23426: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_util_openpty=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:23422: result: $ac_cv_lib_util_openpty" >&5
+echo "$as_me:23437: result: $ac_cv_lib_util_openpty" >&5
echo "${ECHO_T}$ac_cv_lib_util_openpty" >&6
if test "$ac_cv_lib_util_openpty" = yes; then
cf_cv_lib_util=yes
cf_cv_lib_util=no
fi
-echo "$as_me:23430: checking for openpty header" >&5
+echo "$as_me:23445: checking for openpty header" >&5
echo $ECHO_N "checking for openpty header... $ECHO_C" >&6
if test "${cf_cv_func_openpty+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
for cf_header in pty.h libutil.h util.h
do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23457 "configure"
+#line 23472 "configure"
#include "confdefs.h"
#include <$cf_header>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:23474: \"$ac_link\"") >&5
+if { (eval echo "$as_me:23489: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:23477: \$? = $ac_status" >&5
+ echo "$as_me:23492: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:23480: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23495: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23483: \$? = $ac_status" >&5
+ echo "$as_me:23498: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_func_openpty=$cf_header
LIBS="$cf_save_LIBS"
fi
-echo "$as_me:23501: result: $cf_cv_func_openpty" >&5
+echo "$as_me:23516: result: $cf_cv_func_openpty" >&5
echo "${ECHO_T}$cf_cv_func_openpty" >&6
if test "$cf_cv_func_openpty" != no ; then
CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23574 "configure"
+#line 23589 "configure"
#include "confdefs.h"
#include <stdio.h>
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23586: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23601: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:23589: \$? = $ac_status" >&5
+ echo "$as_me:23604: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:23592: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23607: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23595: \$? = $ac_status" >&5
+ echo "$as_me:23610: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
:
else
if test "$cf_have_incdir" = no ; then
test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
-echo "${as_me:-configure}:23612: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:23627: testing adding $cf_add_incdir to include-path ..." 1>&5
CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
if test "$cf_have_libdir" = no ; then
test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
-echo "${as_me:-configure}:23648: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:23663: testing adding $cf_add_libdir to library-path ..." 1>&5
LDFLAGS="-L$cf_add_libdir $LDFLAGS"
fi
else
case "$with_hashed_db" in
(./*|../*|/*)
- { echo "$as_me:23659: WARNING: no such directory $with_hashed_db" >&5
+ { echo "$as_me:23674: WARNING: no such directory $with_hashed_db" >&5
echo "$as_me: WARNING: no such directory $with_hashed_db" >&2;}
;;
(*)
CPPFLAGS="${CPPFLAGS}-I$cf_add_incdir"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23731 "configure"
+#line 23746 "configure"
#include "confdefs.h"
#include <stdio.h>
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23743: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23758: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:23746: \$? = $ac_status" >&5
+ echo "$as_me:23761: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:23749: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23764: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23752: \$? = $ac_status" >&5
+ echo "$as_me:23767: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
:
else
if test "$cf_have_incdir" = no ; then
test -n "$verbose" && echo " adding $cf_add_incdir to include-path" 1>&6
-echo "${as_me:-configure}:23769: testing adding $cf_add_incdir to include-path ..." 1>&5
+echo "${as_me:-configure}:23784: testing adding $cf_add_incdir to include-path ..." 1>&5
CPPFLAGS="$CPPFLAGS -I$cf_add_incdir"
if test "$cf_have_libdir" = no ; then
test -n "$verbose" && echo " adding $cf_add_libdir to library-path" 1>&6
-echo "${as_me:-configure}:23849: testing adding $cf_add_libdir to library-path ..." 1>&5
+echo "${as_me:-configure}:23864: testing adding $cf_add_libdir to library-path ..." 1>&5
LDFLAGS="-L$cf_add_libdir $LDFLAGS"
fi
fi
esac
-echo "$as_me:23866: checking for db.h" >&5
+echo "$as_me:23881: checking for db.h" >&5
echo $ECHO_N "checking for db.h... $ECHO_C" >&6
if test "${ac_cv_header_db_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23872 "configure"
+#line 23887 "configure"
#include "confdefs.h"
#include <db.h>
_ACEOF
-if { (eval echo "$as_me:23876: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:23891: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:23882: \$? = $ac_status" >&5
+ echo "$as_me:23897: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:23901: result: $ac_cv_header_db_h" >&5
+echo "$as_me:23916: result: $ac_cv_header_db_h" >&5
echo "${ECHO_T}$ac_cv_header_db_h" >&6
if test "$ac_cv_header_db_h" = yes; then
-echo "$as_me:23905: checking for version of db" >&5
+echo "$as_me:23920: checking for version of db" >&5
echo $ECHO_N "checking for version of db... $ECHO_C" >&6
if test "${cf_cv_hashed_db_version+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
for cf_db_version in 1 2 3 4 5 6
do
-echo "${as_me:-configure}:23916: testing checking for db version $cf_db_version ..." 1>&5
+echo "${as_me:-configure}:23931: testing checking for db version $cf_db_version ..." 1>&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 23919 "configure"
+#line 23934 "configure"
#include "confdefs.h"
$ac_includes_default
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:23949: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:23964: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:23952: \$? = $ac_status" >&5
+ echo "$as_me:23967: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:23955: \"$ac_try\"") >&5
+ { (eval echo "$as_me:23970: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:23958: \$? = $ac_status" >&5
+ echo "$as_me:23973: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_hashed_db_version=$cf_db_version
done
fi
-echo "$as_me:23972: result: $cf_cv_hashed_db_version" >&5
+echo "$as_me:23987: result: $cf_cv_hashed_db_version" >&5
echo "${ECHO_T}$cf_cv_hashed_db_version" >&6
if test "$cf_cv_hashed_db_version" = unknown ; then
- { { echo "$as_me:23976: error: Cannot determine version of db" >&5
+ { { echo "$as_me:23991: error: Cannot determine version of db" >&5
echo "$as_me: error: Cannot determine version of db" >&2;}
{ (exit 1); exit 1; }; }
else
-echo "$as_me:23981: checking for db libraries" >&5
+echo "$as_me:23996: checking for db libraries" >&5
echo $ECHO_N "checking for db libraries... $ECHO_C" >&6
if test "${cf_cv_hashed_db_libs+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
-echo "${as_me:-configure}:24011: testing checking for library $cf_db_libs ..." 1>&5
+echo "${as_me:-configure}:24026: testing checking for library $cf_db_libs ..." 1>&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24014 "configure"
+#line 24029 "configure"
#include "confdefs.h"
$ac_includes_default
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24069: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24084: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:24072: \$? = $ac_status" >&5
+ echo "$as_me:24087: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:24075: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24090: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24078: \$? = $ac_status" >&5
+ echo "$as_me:24093: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
if test -n "$cf_db_libs" ; then
done
fi
-echo "$as_me:24098: result: $cf_cv_hashed_db_libs" >&5
+echo "$as_me:24113: result: $cf_cv_hashed_db_libs" >&5
echo "${ECHO_T}$cf_cv_hashed_db_libs" >&6
if test "$cf_cv_hashed_db_libs" = unknown ; then
- { { echo "$as_me:24102: error: Cannot determine library for db" >&5
+ { { echo "$as_me:24117: error: Cannot determine library for db" >&5
echo "$as_me: error: Cannot determine library for db" >&2;}
{ (exit 1); exit 1; }; }
elif test "$cf_cv_hashed_db_libs" != default ; then
else
- { { echo "$as_me:24128: error: Cannot find db.h" >&5
+ { { echo "$as_me:24143: error: Cannot find db.h" >&5
echo "$as_me: error: Cannot find db.h" >&2;}
{ (exit 1); exit 1; }; }
# Just in case, check if the C compiler has a bool type.
-echo "$as_me:24143: checking if we should include stdbool.h" >&5
+echo "$as_me:24158: checking if we should include stdbool.h" >&5
echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
if test "${cf_cv_header_stdbool_h+set}" = set; then
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24151 "configure"
+#line 24166 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24163: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24178: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:24166: \$? = $ac_status" >&5
+ echo "$as_me:24181: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:24169: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24184: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24172: \$? = $ac_status" >&5
+ echo "$as_me:24187: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_header_stdbool_h=0
else
echo "$as_me: failed program was:" >&5
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24179 "configure"
+#line 24194 "configure"
#include "confdefs.h"
#ifndef __BEOS__
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24195: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24210: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:24198: \$? = $ac_status" >&5
+ echo "$as_me:24213: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:24201: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24216: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24204: \$? = $ac_status" >&5
+ echo "$as_me:24219: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_header_stdbool_h=1
else
fi
if test "$cf_cv_header_stdbool_h" = 1
-then echo "$as_me:24218: result: yes" >&5
+then echo "$as_me:24233: result: yes" >&5
echo "${ECHO_T}yes" >&6
-else echo "$as_me:24220: result: no" >&5
+else echo "$as_me:24235: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-echo "$as_me:24224: checking for builtin bool type" >&5
+echo "$as_me:24239: checking for builtin bool type" >&5
echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
if test "${cf_cv_cc_bool_type+set}" = set; then
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24232 "configure"
+#line 24247 "configure"
#include "confdefs.h"
#include <stdio.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24247: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24262: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:24250: \$? = $ac_status" >&5
+ echo "$as_me:24265: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:24253: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24268: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24256: \$? = $ac_status" >&5
+ echo "$as_me:24271: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_cc_bool_type=1
else
fi
if test "$cf_cv_cc_bool_type" = 1
-then echo "$as_me:24269: result: yes" >&5
+then echo "$as_me:24284: result: yes" >&5
echo "${ECHO_T}yes" >&6
-else echo "$as_me:24271: result: no" >&5
+else echo "$as_me:24286: result: no" >&5
echo "${ECHO_T}no" >&6
fi
cf_save="$LIBS"
LIBS="$LIBS $CXXLIBS"
- echo "$as_me:24288: checking if we already have C++ library" >&5
+ echo "$as_me:24303: checking if we already have C++ library" >&5
echo $ECHO_N "checking if we already have C++ library... $ECHO_C" >&6
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24291 "configure"
+#line 24306 "configure"
#include "confdefs.h"
#include <iostream>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24305: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24320: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:24308: \$? = $ac_status" >&5
+ echo "$as_me:24323: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:24311: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24326: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24314: \$? = $ac_status" >&5
+ echo "$as_me:24329: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_have_libstdcpp=yes
else
cf_have_libstdcpp=no
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
- echo "$as_me:24323: result: $cf_have_libstdcpp" >&5
+ echo "$as_me:24338: result: $cf_have_libstdcpp" >&5
echo "${ECHO_T}$cf_have_libstdcpp" >&6
LIBS="$cf_save"
;;
esac
- echo "$as_me:24342: checking for library $cf_stdcpp_libname" >&5
+ echo "$as_me:24357: checking for library $cf_stdcpp_libname" >&5
echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6
if test "${cf_cv_libstdcpp+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
LIBS="$cf_add_libs"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24368 "configure"
+#line 24383 "configure"
#include "confdefs.h"
#include <iostream>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24382: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24397: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:24385: \$? = $ac_status" >&5
+ echo "$as_me:24400: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:24388: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24403: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24391: \$? = $ac_status" >&5
+ echo "$as_me:24406: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_libstdcpp=yes
else
LIBS="$cf_save"
fi
-echo "$as_me:24403: result: $cf_cv_libstdcpp" >&5
+echo "$as_me:24418: result: $cf_cv_libstdcpp" >&5
echo "${ECHO_T}$cf_cv_libstdcpp" >&6
test "$cf_cv_libstdcpp" = yes && {
cf_add_libs="$CXXLIBS"
fi
fi
- echo "$as_me:24425: checking whether $CXX understands -c and -o together" >&5
+ echo "$as_me:24440: checking whether $CXX understands -c and -o together" >&5
echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6
if test "${cf_cv_prog_CXX_c_o+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
# We do the test twice because some compilers refuse to overwrite an
# existing .o file with -o, though they will create one.
ac_try='$CXX $CXXFLAGS $CPPFLAGS -c conftest.$ac_ext -o conftest2.$ac_objext >&5'
-if { (eval echo "$as_me:24440: \"$ac_try\"") >&5
+if { (eval echo "$as_me:24455: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24443: \$? = $ac_status" >&5
+ echo "$as_me:24458: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
- test -f conftest2.$ac_objext && { (eval echo "$as_me:24445: \"$ac_try\"") >&5
+ test -f conftest2.$ac_objext && { (eval echo "$as_me:24460: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24448: \$? = $ac_status" >&5
+ echo "$as_me:24463: \$? = $ac_status" >&5
(exit "$ac_status"); };
then
eval cf_cv_prog_CXX_c_o=yes
fi
if test "$cf_cv_prog_CXX_c_o" = yes; then
- echo "$as_me:24459: result: yes" >&5
+ echo "$as_me:24474: result: yes" >&5
echo "${ECHO_T}yes" >&6
else
- echo "$as_me:24462: result: no" >&5
+ echo "$as_me:24477: result: no" >&5
echo "${ECHO_T}no" >&6
fi
;;
esac
if test "$GXX" = yes; then
- echo "$as_me:24482: checking for lib$cf_gpp_libname" >&5
+ echo "$as_me:24497: checking for lib$cf_gpp_libname" >&5
echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6
cf_save="$LIBS"
LIBS="$cf_add_libs"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24503 "configure"
+#line 24518 "configure"
#include "confdefs.h"
#include <$cf_gpp_libname/builtin.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24517: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24532: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:24520: \$? = $ac_status" >&5
+ echo "$as_me:24535: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:24523: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24538: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24526: \$? = $ac_status" >&5
+ echo "$as_me:24541: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cxx_library=yes
echo "$as_me: failed program was:" >&5
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24563 "configure"
+#line 24578 "configure"
#include "confdefs.h"
#include <builtin.h>
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:24577: \"$ac_link\"") >&5
+if { (eval echo "$as_me:24592: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:24580: \$? = $ac_status" >&5
+ echo "$as_me:24595: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:24583: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24598: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24586: \$? = $ac_status" >&5
+ echo "$as_me:24601: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cxx_library=yes
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS="$cf_save"
- echo "$as_me:24619: result: $cf_cxx_library" >&5
+ echo "$as_me:24634: result: $cf_cxx_library" >&5
echo "${ECHO_T}$cf_cxx_library" >&6
fi
ac_link='$CXX -o "conftest$ac_exeext" $CXXFLAGS $CPPFLAGS $LDFLAGS "conftest.$ac_ext" $LIBS >&5'
ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
ac_main_return="return"
-echo "$as_me:24635: checking how to run the C++ preprocessor" >&5
+echo "$as_me:24650: checking how to run the C++ preprocessor" >&5
echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6
if test -z "$CXXCPP"; then
if test "${ac_cv_prog_CXXCPP+set}" = set; then
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24652 "configure"
+#line 24667 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:24657: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24672: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24663: \$? = $ac_status" >&5
+ echo "$as_me:24678: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24686 "configure"
+#line 24701 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:24690: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24705: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24696: \$? = $ac_status" >&5
+ echo "$as_me:24711: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
else
ac_cv_prog_CXXCPP=$CXXCPP
fi
-echo "$as_me:24733: result: $CXXCPP" >&5
+echo "$as_me:24748: result: $CXXCPP" >&5
echo "${ECHO_T}$CXXCPP" >&6
ac_preproc_ok=false
for ac_cxx_preproc_warn_flag in '' yes
# On the NeXT, cc -E runs the code through the compiler's parser,
# not just through cpp. "Syntax error" is here to catch this case.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24743 "configure"
+#line 24758 "configure"
#include "confdefs.h"
#include <assert.h>
Syntax error
_ACEOF
-if { (eval echo "$as_me:24748: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24763: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24754: \$? = $ac_status" >&5
+ echo "$as_me:24769: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
# OK, works on sane cases. Now check whether non-existent headers
# can be detected and how.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24777 "configure"
+#line 24792 "configure"
#include "confdefs.h"
#include <ac_nonexistent.h>
_ACEOF
-if { (eval echo "$as_me:24781: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24796: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24787: \$? = $ac_status" >&5
+ echo "$as_me:24802: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
if $ac_preproc_ok; then
:
else
- { { echo "$as_me:24815: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
+ { { echo "$as_me:24830: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5
echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;}
{ (exit 1); exit 1; }; }
fi
for ac_header in typeinfo
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:24830: checking for $ac_header" >&5
+echo "$as_me:24845: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24836 "configure"
+#line 24851 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:24840: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24855: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24846: \$? = $ac_status" >&5
+ echo "$as_me:24861: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:24865: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:24880: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
for ac_header in iostream
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:24878: checking for $ac_header" >&5
+echo "$as_me:24893: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
if eval "test \"\${$as_ac_Header+set}\" = set"; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24884 "configure"
+#line 24899 "configure"
#include "confdefs.h"
#include <$ac_header>
_ACEOF
-if { (eval echo "$as_me:24888: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:24903: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:24894: \$? = $ac_status" >&5
+ echo "$as_me:24909: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_cxx_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:24913: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
+echo "$as_me:24928: result: `eval echo '${'"$as_ac_Header"'}'`" >&5
echo "${ECHO_T}`eval echo '${'"$as_ac_Header"'}'`" >&6
if test "`eval echo '${'"$as_ac_Header"'}'`" = yes; then
cat >>confdefs.h <<EOF
done
if test x"$ac_cv_header_iostream" = xyes ; then
- echo "$as_me:24924: checking if iostream uses std-namespace" >&5
+ echo "$as_me:24939: checking if iostream uses std-namespace" >&5
echo $ECHO_N "checking if iostream uses std-namespace... $ECHO_C" >&6
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24927 "configure"
+#line 24942 "configure"
#include "confdefs.h"
#include <iostream>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24944: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:24959: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:24947: \$? = $ac_status" >&5
+ echo "$as_me:24962: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:24950: \"$ac_try\"") >&5
+ { (eval echo "$as_me:24965: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:24953: \$? = $ac_status" >&5
+ echo "$as_me:24968: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_iostream_namespace=yes
else
cf_iostream_namespace=no
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
- echo "$as_me:24962: result: $cf_iostream_namespace" >&5
+ echo "$as_me:24977: result: $cf_iostream_namespace" >&5
echo "${ECHO_T}$cf_iostream_namespace" >&6
if test "$cf_iostream_namespace" = yes ; then
fi
fi
-echo "$as_me:24973: checking if we should include stdbool.h" >&5
+echo "$as_me:24988: checking if we should include stdbool.h" >&5
echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6
if test "${cf_cv_header_stdbool_h+set}" = set; then
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 24981 "configure"
+#line 24996 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:24993: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25008: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:24996: \$? = $ac_status" >&5
+ echo "$as_me:25011: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:24999: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25014: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25002: \$? = $ac_status" >&5
+ echo "$as_me:25017: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_header_stdbool_h=0
else
echo "$as_me: failed program was:" >&5
cat "conftest.$ac_ext" >&5
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25009 "configure"
+#line 25024 "configure"
#include "confdefs.h"
#ifndef __BEOS__
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25025: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25040: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25028: \$? = $ac_status" >&5
+ echo "$as_me:25043: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25031: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25046: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25034: \$? = $ac_status" >&5
+ echo "$as_me:25049: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_header_stdbool_h=1
else
fi
if test "$cf_cv_header_stdbool_h" = 1
-then echo "$as_me:25048: result: yes" >&5
+then echo "$as_me:25063: result: yes" >&5
echo "${ECHO_T}yes" >&6
-else echo "$as_me:25050: result: no" >&5
+else echo "$as_me:25065: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-echo "$as_me:25054: checking for builtin bool type" >&5
+echo "$as_me:25069: checking for builtin bool type" >&5
echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6
if test "${cf_cv_builtin_bool+set}" = set; then
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25062 "configure"
+#line 25077 "configure"
#include "confdefs.h"
#include <stdio.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25077: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25092: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25080: \$? = $ac_status" >&5
+ echo "$as_me:25095: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25083: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25098: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25086: \$? = $ac_status" >&5
+ echo "$as_me:25101: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_builtin_bool=1
else
fi
if test "$cf_cv_builtin_bool" = 1
-then echo "$as_me:25099: result: yes" >&5
+then echo "$as_me:25114: result: yes" >&5
echo "${ECHO_T}yes" >&6
-else echo "$as_me:25101: result: no" >&5
+else echo "$as_me:25116: result: no" >&5
echo "${ECHO_T}no" >&6
fi
-echo "$as_me:25105: checking for bool" >&5
+echo "$as_me:25120: checking for bool" >&5
echo $ECHO_N "checking for bool... $ECHO_C" >&6
if test "${ac_cv_type_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25111 "configure"
+#line 25126 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25147: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25162: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25150: \$? = $ac_status" >&5
+ echo "$as_me:25165: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25153: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25168: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25156: \$? = $ac_status" >&5
+ echo "$as_me:25171: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_bool=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:25166: result: $ac_cv_type_bool" >&5
+echo "$as_me:25181: result: $ac_cv_type_bool" >&5
echo "${ECHO_T}$ac_cv_type_bool" >&6
-echo "$as_me:25169: checking size of bool" >&5
+echo "$as_me:25184: checking size of bool" >&5
echo $ECHO_N "checking size of bool... $ECHO_C" >&6
if test "${ac_cv_sizeof_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
if test "$cross_compiling" = yes; then
# Depending upon the size, compute the lo and hi bounds.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25178 "configure"
+#line 25193 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25211: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25226: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25214: \$? = $ac_status" >&5
+ echo "$as_me:25229: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25217: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25232: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25220: \$? = $ac_status" >&5
+ echo "$as_me:25235: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=0 ac_mid=0
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25225 "configure"
+#line 25240 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25258: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25273: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25261: \$? = $ac_status" >&5
+ echo "$as_me:25276: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25264: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25279: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25267: \$? = $ac_status" >&5
+ echo "$as_me:25282: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid; break
else
ac_hi=-1 ac_mid=-1
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25283 "configure"
+#line 25298 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25316: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25331: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25319: \$? = $ac_status" >&5
+ echo "$as_me:25334: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25322: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25337: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25325: \$? = $ac_status" >&5
+ echo "$as_me:25340: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=$ac_mid; break
else
while test "x$ac_lo" != "x$ac_hi"; do
ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25341 "configure"
+#line 25356 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25374: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25389: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25377: \$? = $ac_status" >&5
+ echo "$as_me:25392: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25380: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25395: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25383: \$? = $ac_status" >&5
+ echo "$as_me:25398: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid
else
ac_cv_sizeof_bool=$ac_lo
else
if test "$cross_compiling" = yes; then
- { { echo "$as_me:25396: error: cannot run test program while cross compiling" >&5
+ { { echo "$as_me:25411: error: cannot run test program while cross compiling" >&5
echo "$as_me: error: cannot run test program while cross compiling" >&2;}
{ (exit 1); exit 1; }; }
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25401 "configure"
+#line 25416 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:25438: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25453: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:25441: \$? = $ac_status" >&5
+ echo "$as_me:25456: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:25443: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25458: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25446: \$? = $ac_status" >&5
+ echo "$as_me:25461: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_sizeof_bool=`cat conftest.val`
else
ac_cv_sizeof_bool=0
fi
fi
-echo "$as_me:25462: result: $ac_cv_sizeof_bool" >&5
+echo "$as_me:25477: result: $ac_cv_sizeof_bool" >&5
echo "${ECHO_T}$ac_cv_sizeof_bool" >&6
cat >>confdefs.h <<EOF
#define SIZEOF_BOOL $ac_cv_sizeof_bool
EOF
-echo "$as_me:25468: checking for type of bool" >&5
+echo "$as_me:25483: checking for type of bool" >&5
echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
if test "${cf_cv_type_of_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25487 "configure"
+#line 25502 "configure"
#include "confdefs.h"
#include <stdlib.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:25529: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25544: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:25532: \$? = $ac_status" >&5
+ echo "$as_me:25547: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:25534: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25549: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25537: \$? = $ac_status" >&5
+ echo "$as_me:25552: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_type_of_bool=`cat cf_test.out`
if test -z "$cf_cv_type_of_bool"; then
rm -f cf_test.out
fi
-echo "$as_me:25554: result: $cf_cv_type_of_bool" >&5
+echo "$as_me:25569: result: $cf_cv_type_of_bool" >&5
echo "${ECHO_T}$cf_cv_type_of_bool" >&6
if test "$cf_cv_type_of_bool" = unknown ; then
case .$NCURSES_BOOL in
(.auto|.) NCURSES_BOOL=unsigned;;
esac
- { echo "$as_me:25561: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ { echo "$as_me:25576: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
cf_cv_type_of_bool=$NCURSES_BOOL
fi
-echo "$as_me:25566: checking for special defines needed for etip.h" >&5
+echo "$as_me:25581: checking for special defines needed for etip.h" >&5
echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6
cf_save_CXXFLAGS="$CXXFLAGS"
cf_result="none"
test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}"
test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25584 "configure"
+#line 25599 "configure"
#include "confdefs.h"
#include <etip.h.in>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25598: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25613: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25601: \$? = $ac_status" >&5
+ echo "$as_me:25616: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25604: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25619: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25607: \$? = $ac_status" >&5
+ echo "$as_me:25622: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
test -n "$cf_math" && cat >>confdefs.h <<EOF
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
done
done
-echo "$as_me:25628: result: $cf_result" >&5
+echo "$as_me:25643: result: $cf_result" >&5
echo "${ECHO_T}$cf_result" >&6
CXXFLAGS="$cf_save_CXXFLAGS"
if test -n "$CXX"; then
-echo "$as_me:25633: checking if $CXX accepts parameter initialization" >&5
+echo "$as_me:25648: checking if $CXX accepts parameter initialization" >&5
echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6
if test "${cf_cv_cpp_param_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_cv_cpp_param_init=unknown
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25650 "configure"
+#line 25665 "configure"
#include "confdefs.h"
class TEST {
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:25669: \"$ac_link\"") >&5
+if { (eval echo "$as_me:25684: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:25672: \$? = $ac_status" >&5
+ echo "$as_me:25687: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:25674: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25689: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25677: \$? = $ac_status" >&5
+ echo "$as_me:25692: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_cpp_param_init=yes
else
ac_main_return="return"
fi
-echo "$as_me:25696: result: $cf_cv_cpp_param_init" >&5
+echo "$as_me:25711: result: $cf_cv_cpp_param_init" >&5
echo "${ECHO_T}$cf_cv_cpp_param_init" >&6
fi
test "$cf_cv_cpp_param_init" = yes &&
if test -n "$CXX"; then
-echo "$as_me:25706: checking if $CXX accepts static_cast" >&5
+echo "$as_me:25721: checking if $CXX accepts static_cast" >&5
echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6
if test "${cf_cv_cpp_static_cast+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_main_return="return"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25720 "configure"
+#line 25735 "configure"
#include "confdefs.h"
class NCursesPanel
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25764: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25779: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25767: \$? = $ac_status" >&5
+ echo "$as_me:25782: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25770: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25785: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25773: \$? = $ac_status" >&5
+ echo "$as_me:25788: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_cpp_static_cast=yes
else
ac_main_return="return"
fi
-echo "$as_me:25791: result: $cf_cv_cpp_static_cast" >&5
+echo "$as_me:25806: result: $cf_cv_cpp_static_cast" >&5
echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6
fi
else
if test "$cf_cv_header_stdbool_h" = 1 ; then
-echo "$as_me:25840: checking for bool" >&5
+echo "$as_me:25855: checking for bool" >&5
echo $ECHO_N "checking for bool... $ECHO_C" >&6
if test "${ac_cv_type_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25846 "configure"
+#line 25861 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25882: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25897: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25885: \$? = $ac_status" >&5
+ echo "$as_me:25900: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25888: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25903: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25891: \$? = $ac_status" >&5
+ echo "$as_me:25906: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_bool=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:25901: result: $ac_cv_type_bool" >&5
+echo "$as_me:25916: result: $ac_cv_type_bool" >&5
echo "${ECHO_T}$ac_cv_type_bool" >&6
-echo "$as_me:25904: checking size of bool" >&5
+echo "$as_me:25919: checking size of bool" >&5
echo $ECHO_N "checking size of bool... $ECHO_C" >&6
if test "${ac_cv_sizeof_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
if test "$cross_compiling" = yes; then
# Depending upon the size, compute the lo and hi bounds.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25913 "configure"
+#line 25928 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25946: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:25961: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25949: \$? = $ac_status" >&5
+ echo "$as_me:25964: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25952: \"$ac_try\"") >&5
+ { (eval echo "$as_me:25967: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:25955: \$? = $ac_status" >&5
+ echo "$as_me:25970: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=0 ac_mid=0
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 25960 "configure"
+#line 25975 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:25993: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26008: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:25996: \$? = $ac_status" >&5
+ echo "$as_me:26011: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:25999: \"$ac_try\"") >&5
+ { (eval echo "$as_me:26014: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:26002: \$? = $ac_status" >&5
+ echo "$as_me:26017: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid; break
else
ac_hi=-1 ac_mid=-1
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 26018 "configure"
+#line 26033 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:26051: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26066: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:26054: \$? = $ac_status" >&5
+ echo "$as_me:26069: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:26057: \"$ac_try\"") >&5
+ { (eval echo "$as_me:26072: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:26060: \$? = $ac_status" >&5
+ echo "$as_me:26075: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=$ac_mid; break
else
while test "x$ac_lo" != "x$ac_hi"; do
ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
cat >"conftest.$ac_ext" <<_ACEOF
-#line 26076 "configure"
+#line 26091 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:26109: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:26124: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:26112: \$? = $ac_status" >&5
+ echo "$as_me:26127: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:26115: \"$ac_try\"") >&5
+ { (eval echo "$as_me:26130: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:26118: \$? = $ac_status" >&5
+ echo "$as_me:26133: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid
else
ac_cv_sizeof_bool=$ac_lo
else
if test "$cross_compiling" = yes; then
- { { echo "$as_me:26131: error: cannot run test program while cross compiling" >&5
+ { { echo "$as_me:26146: error: cannot run test program while cross compiling" >&5
echo "$as_me: error: cannot run test program while cross compiling" >&2;}
{ (exit 1); exit 1; }; }
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 26136 "configure"
+#line 26151 "configure"
#include "confdefs.h"
#include <stdlib.h>
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:26173: \"$ac_link\"") >&5
+if { (eval echo "$as_me:26188: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:26176: \$? = $ac_status" >&5
+ echo "$as_me:26191: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:26178: \"$ac_try\"") >&5
+ { (eval echo "$as_me:26193: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:26181: \$? = $ac_status" >&5
+ echo "$as_me:26196: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_sizeof_bool=`cat conftest.val`
else
ac_cv_sizeof_bool=0
fi
fi
-echo "$as_me:26197: result: $ac_cv_sizeof_bool" >&5
+echo "$as_me:26212: result: $ac_cv_sizeof_bool" >&5
echo "${ECHO_T}$ac_cv_sizeof_bool" >&6
cat >>confdefs.h <<EOF
#define SIZEOF_BOOL $ac_cv_sizeof_bool
EOF
-echo "$as_me:26203: checking for type of bool" >&5
+echo "$as_me:26218: checking for type of bool" >&5
echo $ECHO_N "checking for type of bool... $ECHO_C" >&6
if test "${cf_cv_type_of_bool+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 26222 "configure"
+#line 26237 "configure"
#include "confdefs.h"
#include <stdlib.h>
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:26264: \"$ac_link\"") >&5
+if { (eval echo "$as_me:26279: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:26267: \$? = $ac_status" >&5
+ echo "$as_me:26282: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:26269: \"$ac_try\"") >&5
+ { (eval echo "$as_me:26284: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:26272: \$? = $ac_status" >&5
+ echo "$as_me:26287: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_cv_type_of_bool=`cat cf_test.out`
if test -z "$cf_cv_type_of_bool"; then
rm -f cf_test.out
fi
-echo "$as_me:26289: result: $cf_cv_type_of_bool" >&5
+echo "$as_me:26304: result: $cf_cv_type_of_bool" >&5
echo "${ECHO_T}$cf_cv_type_of_bool" >&6
if test "$cf_cv_type_of_bool" = unknown ; then
case .$NCURSES_BOOL in
(.auto|.) NCURSES_BOOL=unsigned;;
esac
- { echo "$as_me:26296: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
+ { echo "$as_me:26311: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5
echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;}
cf_cv_type_of_bool=$NCURSES_BOOL
fi
else
- echo "$as_me:26302: checking for fallback type of bool" >&5
+ echo "$as_me:26317: checking for fallback type of bool" >&5
echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6
case "$host_cpu" in
(i?86) cf_cv_type_of_bool=char ;;
(*) cf_cv_type_of_bool=int ;;
esac
- echo "$as_me:26308: result: $cf_cv_type_of_bool" >&5
+ echo "$as_me:26323: result: $cf_cv_type_of_bool" >&5
echo "${ECHO_T}$cf_cv_type_of_bool" >&6
fi
fi
if test "$cf_with_ada" != "no" ; then
if test "$with_libtool" != "no"; then
- { echo "$as_me:26337: WARNING: libtool does not support Ada - disabling feature" >&5
+ { echo "$as_me:26352: WARNING: libtool does not support Ada - disabling feature" >&5
echo "$as_me: WARNING: libtool does not support Ada - disabling feature" >&2;}
cf_with_ada=no
fi
unset cf_TEMP_gnat
# Extract the first word of "$cf_prog_gnat", so it can be a program name with args.
set dummy $cf_prog_gnat; ac_word=$2
-echo "$as_me:26354: checking for $ac_word" >&5
+echo "$as_me:26369: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_path_cf_TEMP_gnat+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
if $as_executable_p "$ac_dir/$ac_word"; then
ac_cv_path_cf_TEMP_gnat="$ac_dir/$ac_word"
- echo "$as_me:26371: found $ac_dir/$ac_word" >&5
+ echo "$as_me:26386: found $ac_dir/$ac_word" >&5
break
fi
done
cf_TEMP_gnat=$ac_cv_path_cf_TEMP_gnat
if test -n "$cf_TEMP_gnat"; then
- echo "$as_me:26383: result: $cf_TEMP_gnat" >&5
+ echo "$as_me:26398: result: $cf_TEMP_gnat" >&5
echo "${ECHO_T}$cf_TEMP_gnat" >&6
else
- echo "$as_me:26386: result: no" >&5
+ echo "$as_me:26401: result: no" >&5
echo "${ECHO_T}no" >&6
fi
unset cf_cv_gnat_version
unset cf_TEMP_gnat
-echo "$as_me:26396: checking for $cf_prog_gnat version" >&5
+echo "$as_me:26411: checking for $cf_prog_gnat version" >&5
echo $ECHO_N "checking for $cf_prog_gnat version... $ECHO_C" >&6
if test "${cf_cv_gnat_version+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
fi
-echo "$as_me:26407: result: $cf_cv_gnat_version" >&5
+echo "$as_me:26422: result: $cf_cv_gnat_version" >&5
echo "${ECHO_T}$cf_cv_gnat_version" >&6
test -z "$cf_cv_gnat_version" && cf_cv_gnat_version=no
eval cf_TEMP_gnat=$cf_cv_gnat_version; unset cf_cv_gnat_version
cd conftest.src
for cf_gprconfig in Ada C
do
- echo "$as_me:26436: checking for gprconfig name for $cf_gprconfig" >&5
+ echo "$as_me:26451: checking for gprconfig name for $cf_gprconfig" >&5
echo $ECHO_N "checking for gprconfig name for $cf_gprconfig... $ECHO_C" >&6
if test "$cf_gprconfig" = C
then
if test -n "$cf_gprconfig_value"
then
eval "cf_ada_config_$cf_gprconfig=$cf_gprconfig_value"
- echo "$as_me:26455: result: $cf_gprconfig_value" >&5
+ echo "$as_me:26470: result: $cf_gprconfig_value" >&5
echo "${ECHO_T}$cf_gprconfig_value" >&6
else
- echo "$as_me:26458: result: missing" >&5
+ echo "$as_me:26473: result: missing" >&5
echo "${ECHO_T}missing" >&6
cf_ada_config="#"
break
if test "x$cf_ada_config" != "x#"
then
-echo "$as_me:26471: checking for gnat version" >&5
+echo "$as_me:26486: checking for gnat version" >&5
echo $ECHO_N "checking for gnat version... $ECHO_C" >&6
if test "${cf_cv_gnat_version+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'`
fi
-echo "$as_me:26482: result: $cf_cv_gnat_version" >&5
+echo "$as_me:26497: result: $cf_cv_gnat_version" >&5
echo "${ECHO_T}$cf_cv_gnat_version" >&6
test -z "$cf_cv_gnat_version" && cf_cv_gnat_version=no
cf_cv_prog_gnat_correct=yes
;;
(*)
- { echo "$as_me:26491: WARNING: Unsupported GNAT version $cf_cv_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
+ { echo "$as_me:26506: WARNING: Unsupported GNAT version $cf_cv_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&5
echo "$as_me: WARNING: Unsupported GNAT version $cf_cv_gnat_version. We require 3.11 or better. Disabling Ada95 binding." >&2;}
cf_cv_prog_gnat_correct=no
;;
# Extract the first word of "m4", so it can be a program name with args.
set dummy m4; ac_word=$2
-echo "$as_me:26499: checking for $ac_word" >&5
+echo "$as_me:26514: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_M4_exists+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_M4_exists="yes"
-echo "$as_me:26514: found $ac_dir/$ac_word" >&5
+echo "$as_me:26529: found $ac_dir/$ac_word" >&5
break
done
fi
M4_exists=$ac_cv_prog_M4_exists
if test -n "$M4_exists"; then
- echo "$as_me:26523: result: $M4_exists" >&5
+ echo "$as_me:26538: result: $M4_exists" >&5
echo "${ECHO_T}$M4_exists" >&6
else
- echo "$as_me:26526: result: no" >&5
+ echo "$as_me:26541: result: no" >&5
echo "${ECHO_T}no" >&6
fi
if test "$ac_cv_prog_M4_exists" = no; then
cf_cv_prog_gnat_correct=no
- { echo "$as_me:26532: WARNING: Ada95 binding required program m4 not found. Ada95 binding disabled" >&5
+ { echo "$as_me:26547: WARNING: Ada95 binding required program m4 not found. Ada95 binding disabled" >&5
echo "$as_me: WARNING: Ada95 binding required program m4 not found. Ada95 binding disabled" >&2;}
fi
if test "$cf_cv_prog_gnat_correct" = yes; then
- echo "$as_me:26536: checking if GNAT works" >&5
+ echo "$as_me:26551: checking if GNAT works" >&5
echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6
rm -rf ./conftest* ./*~conftest*
fi
rm -rf ./conftest* ./*~conftest*
- echo "$as_me:26564: result: $cf_cv_prog_gnat_correct" >&5
+ echo "$as_me:26579: result: $cf_cv_prog_gnat_correct" >&5
echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6
fi
else
ADAFLAGS="$ADAFLAGS -gnatpn"
- echo "$as_me:26576: checking optimization options for ADAFLAGS" >&5
+ echo "$as_me:26591: checking optimization options for ADAFLAGS" >&5
echo $ECHO_N "checking optimization options for ADAFLAGS... $ECHO_C" >&6
case "$CFLAGS" in
(*-g*)
;;
esac
- echo "$as_me:26593: result: $ADAFLAGS" >&5
+ echo "$as_me:26608: result: $ADAFLAGS" >&5
echo "${ECHO_T}$ADAFLAGS" >&6
-echo "$as_me:26596: checking if GNATPREP supports -T option" >&5
+echo "$as_me:26611: checking if GNATPREP supports -T option" >&5
echo $ECHO_N "checking if GNATPREP supports -T option... $ECHO_C" >&6
if test "${cf_cv_gnatprep_opt_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
gnatprep -T 2>/dev/null >/dev/null && cf_cv_gnatprep_opt_t=yes
fi
-echo "$as_me:26606: result: $cf_cv_gnatprep_opt_t" >&5
+echo "$as_me:26621: result: $cf_cv_gnatprep_opt_t" >&5
echo "${ECHO_T}$cf_cv_gnatprep_opt_t" >&6
test "$cf_cv_gnatprep_opt_t" = yes && GNATPREP_OPTS="-T $GNATPREP_OPTS"
-echo "$as_me:26610: checking if GNAT supports generics" >&5
+echo "$as_me:26625: checking if GNAT supports generics" >&5
echo $ECHO_N "checking if GNAT supports generics... $ECHO_C" >&6
case "$cf_cv_gnat_version" in
(3.1[1-9]*|3.[2-9]*|[4-9].*|[1-9][0-9].[0-9]*|20[0-9][0-9])
cf_gnat_generics=no
;;
esac
-echo "$as_me:26620: result: $cf_gnat_generics" >&5
+echo "$as_me:26635: result: $cf_gnat_generics" >&5
echo "${ECHO_T}$cf_gnat_generics" >&6
if test "$cf_gnat_generics" = yes
cf_generic_objects=
fi
-echo "$as_me:26632: checking if GNAT supports SIGINT" >&5
+echo "$as_me:26647: checking if GNAT supports SIGINT" >&5
echo $ECHO_N "checking if GNAT supports SIGINT... $ECHO_C" >&6
if test "${cf_cv_gnat_sigint+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
rm -rf ./conftest* ./*~conftest*
fi
-echo "$as_me:26680: result: $cf_cv_gnat_sigint" >&5
+echo "$as_me:26695: result: $cf_cv_gnat_sigint" >&5
echo "${ECHO_T}$cf_cv_gnat_sigint" >&6
if test "$cf_cv_gnat_sigint" = yes ; then
cf_gnat_projects=no
if test "$enable_gnat_projects" != no ; then
-echo "$as_me:26693: checking if GNAT supports project files" >&5
+echo "$as_me:26708: checking if GNAT supports project files" >&5
echo $ECHO_N "checking if GNAT supports project files... $ECHO_C" >&6
case "$cf_cv_gnat_version" in
(3.[0-9]*)
esac
;;
esac
-echo "$as_me:26756: result: $cf_gnat_projects" >&5
+echo "$as_me:26771: result: $cf_gnat_projects" >&5
echo "${ECHO_T}$cf_gnat_projects" >&6
fi # enable_gnat_projects
if test "$cf_gnat_projects" = yes
then
- echo "$as_me:26762: checking if GNAT supports libraries" >&5
+ echo "$as_me:26777: checking if GNAT supports libraries" >&5
echo $ECHO_N "checking if GNAT supports libraries... $ECHO_C" >&6
- echo "$as_me:26764: result: $cf_gnat_libraries" >&5
+ echo "$as_me:26779: result: $cf_gnat_libraries" >&5
echo "${ECHO_T}$cf_gnat_libraries" >&6
fi
then
USE_GNAT_MAKE_GPR=""
else
- { echo "$as_me:26784: WARNING: use old makefile rules since tools are missing" >&5
+ { echo "$as_me:26799: WARNING: use old makefile rules since tools are missing" >&5
echo "$as_me: WARNING: use old makefile rules since tools are missing" >&2;}
fi
fi
USE_GNAT_LIBRARIES="#"
fi
-echo "$as_me:26796: checking for ada-compiler" >&5
+echo "$as_me:26811: checking for ada-compiler" >&5
echo $ECHO_N "checking for ada-compiler... $ECHO_C" >&6
# Check whether --with-ada-compiler or --without-ada-compiler was given.
cf_ada_compiler=gnatmake
fi;
-echo "$as_me:26807: result: $cf_ada_compiler" >&5
+echo "$as_me:26822: result: $cf_ada_compiler" >&5
echo "${ECHO_T}$cf_ada_compiler" >&6
cf_ada_package=terminal_interface
-echo "$as_me:26812: checking for ada-include" >&5
+echo "$as_me:26827: checking for ada-include" >&5
echo $ECHO_N "checking for ada-include... $ECHO_C" >&6
# Check whether --with-ada-include or --without-ada-include was given.
withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
;;
(*)
- { { echo "$as_me:26848: error: expected a pathname, not \"$withval\"" >&5
+ { { echo "$as_me:26863: error: expected a pathname, not \"$withval\"" >&5
echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
{ (exit 1); exit 1; }; }
;;
fi
eval ADA_INCLUDE="$withval"
-echo "$as_me:26857: result: $ADA_INCLUDE" >&5
+echo "$as_me:26872: result: $ADA_INCLUDE" >&5
echo "${ECHO_T}$ADA_INCLUDE" >&6
-echo "$as_me:26860: checking for ada-objects" >&5
+echo "$as_me:26875: checking for ada-objects" >&5
echo $ECHO_N "checking for ada-objects... $ECHO_C" >&6
# Check whether --with-ada-objects or --without-ada-objects was given.
withval=`echo "$withval" | sed -e s%NONE%$cf_path_syntax%`
;;
(*)
- { { echo "$as_me:26896: error: expected a pathname, not \"$withval\"" >&5
+ { { echo "$as_me:26911: error: expected a pathname, not \"$withval\"" >&5
echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;}
{ (exit 1); exit 1; }; }
;;
fi
eval ADA_OBJECTS="$withval"
-echo "$as_me:26905: result: $ADA_OBJECTS" >&5
+echo "$as_me:26920: result: $ADA_OBJECTS" >&5
echo "${ECHO_T}$ADA_OBJECTS" >&6
-echo "$as_me:26908: checking if an Ada95 shared-library should be built" >&5
+echo "$as_me:26923: checking if an Ada95 shared-library should be built" >&5
echo $ECHO_N "checking if an Ada95 shared-library should be built... $ECHO_C" >&6
# Check whether --with-ada-sharedlib or --without-ada-sharedlib was given.
else
with_ada_sharedlib=no
fi;
-echo "$as_me:26918: result: $with_ada_sharedlib" >&5
+echo "$as_me:26933: result: $with_ada_sharedlib" >&5
echo "${ECHO_T}$with_ada_sharedlib" >&6
if test "x$with_ada_sharedlib" != xno
then
if test "x$cf_gnat_projects" != xyes
then
- { echo "$as_me:26925: WARNING: disabling shared-library since GNAT projects are not supported" >&5
+ { echo "$as_me:26940: WARNING: disabling shared-library since GNAT projects are not supported" >&5
echo "$as_me: WARNING: disabling shared-library since GNAT projects are not supported" >&2;}
with_ada_sharedlib=no
fi
# allow the Ada binding to be renamed
-echo "$as_me:26945: checking for ada-libname" >&5
+echo "$as_me:26960: checking for ada-libname" >&5
echo $ECHO_N "checking for ada-libname... $ECHO_C" >&6
# Check whether --with-ada-libname or --without-ada-libname was given.
;;
esac
-echo "$as_me:26961: result: $ADA_LIBNAME" >&5
+echo "$as_me:26976: result: $ADA_LIBNAME" >&5
echo "${ECHO_T}$ADA_LIBNAME" >&6
fi
# do this "late" to avoid conflict with header-checks
if test "x$with_widec" = xyes ; then
- echo "$as_me:26972: checking for wchar_t" >&5
+ echo "$as_me:26987: checking for wchar_t" >&5
echo $ECHO_N "checking for wchar_t... $ECHO_C" >&6
if test "${ac_cv_type_wchar_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 26978 "configure"
+#line 26993 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:26993: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:27008: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:26996: \$? = $ac_status" >&5
+ echo "$as_me:27011: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:26999: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27014: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27002: \$? = $ac_status" >&5
+ echo "$as_me:27017: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_type_wchar_t=yes
else
fi
rm -f "conftest.$ac_objext" "conftest.$ac_ext"
fi
-echo "$as_me:27012: result: $ac_cv_type_wchar_t" >&5
+echo "$as_me:27027: result: $ac_cv_type_wchar_t" >&5
echo "${ECHO_T}$ac_cv_type_wchar_t" >&6
-echo "$as_me:27015: checking size of wchar_t" >&5
+echo "$as_me:27030: checking size of wchar_t" >&5
echo $ECHO_N "checking size of wchar_t... $ECHO_C" >&6
if test "${ac_cv_sizeof_wchar_t+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
if test "$cross_compiling" = yes; then
# Depending upon the size, compute the lo and hi bounds.
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27024 "configure"
+#line 27039 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27036: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:27051: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:27039: \$? = $ac_status" >&5
+ echo "$as_me:27054: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:27042: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27057: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27045: \$? = $ac_status" >&5
+ echo "$as_me:27060: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=0 ac_mid=0
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27050 "configure"
+#line 27065 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27062: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:27077: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:27065: \$? = $ac_status" >&5
+ echo "$as_me:27080: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:27068: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27083: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27071: \$? = $ac_status" >&5
+ echo "$as_me:27086: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid; break
else
ac_hi=-1 ac_mid=-1
while :; do
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27087 "configure"
+#line 27102 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27099: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:27114: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:27102: \$? = $ac_status" >&5
+ echo "$as_me:27117: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:27105: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27120: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27108: \$? = $ac_status" >&5
+ echo "$as_me:27123: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_lo=$ac_mid; break
else
while test "x$ac_lo" != "x$ac_hi"; do
ac_mid=`expr '(' "$ac_hi" - "$ac_lo" ')' / 2 + "$ac_lo"`
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27124 "configure"
+#line 27139 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest.$ac_objext"
-if { (eval echo "$as_me:27136: \"$ac_compile\"") >&5
+if { (eval echo "$as_me:27151: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:27139: \$? = $ac_status" >&5
+ echo "$as_me:27154: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest.$ac_objext"'
- { (eval echo "$as_me:27142: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27157: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27145: \$? = $ac_status" >&5
+ echo "$as_me:27160: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_hi=$ac_mid
else
ac_cv_sizeof_wchar_t=$ac_lo
else
if test "$cross_compiling" = yes; then
- { { echo "$as_me:27158: error: cannot run test program while cross compiling" >&5
+ { { echo "$as_me:27173: error: cannot run test program while cross compiling" >&5
echo "$as_me: error: cannot run test program while cross compiling" >&2;}
{ (exit 1); exit 1; }; }
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27163 "configure"
+#line 27178 "configure"
#include "confdefs.h"
$ac_includes_default
int
}
_ACEOF
rm -f "conftest$ac_exeext"
-if { (eval echo "$as_me:27179: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27194: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:27182: \$? = $ac_status" >&5
+ echo "$as_me:27197: \$? = $ac_status" >&5
(exit "$ac_status"); } && { ac_try='"./conftest$ac_exeext"'
- { (eval echo "$as_me:27184: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27199: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27187: \$? = $ac_status" >&5
+ echo "$as_me:27202: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_sizeof_wchar_t=`cat conftest.val`
else
ac_cv_sizeof_wchar_t=0
fi
fi
-echo "$as_me:27203: result: $ac_cv_sizeof_wchar_t" >&5
+echo "$as_me:27218: result: $ac_cv_sizeof_wchar_t" >&5
echo "${ECHO_T}$ac_cv_sizeof_wchar_t" >&6
cat >>confdefs.h <<EOF
#define SIZEOF_WCHAR_T $ac_cv_sizeof_wchar_t
then
test -n "$verbose" && echo " test failed (assume 2)" 1>&6
-echo "${as_me:-configure}:27216: testing test failed (assume 2) ..." 1>&5
+echo "${as_me:-configure}:27231: testing test failed (assume 2) ..." 1>&5
sed /SIZEOF_WCHAR_T/d confdefs.h >confdefs.tmp
mv confdefs.tmp confdefs.h
### chooses to split module lists into libraries.
###
### (see CF_LIB_RULES).
-echo "$as_me:27234: checking for library subsets" >&5
+echo "$as_me:27249: checking for library subsets" >&5
echo $ECHO_N "checking for library subsets... $ECHO_C" >&6
LIB_SUBSETS=
test "x$with_widec" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+widechar"
test "x$with_ext_funcs" = xyes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs"
-echo "$as_me:27288: result: $LIB_SUBSETS" >&5
+echo "$as_me:27303: result: $LIB_SUBSETS" >&5
echo "${ECHO_T}$LIB_SUBSETS" >&6
### Construct the list of include-directories to be generated
fi
### Build up pieces for makefile rules
-echo "$as_me:27319: checking default library suffix" >&5
+echo "$as_me:27334: checking default library suffix" >&5
echo $ECHO_N "checking default library suffix... $ECHO_C" >&6
case $DFT_LWR_MODEL in
(shared) DFT_ARG_SUFFIX='' ;;
esac
test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}"
-echo "$as_me:27330: result: $DFT_ARG_SUFFIX" >&5
+echo "$as_me:27345: result: $DFT_ARG_SUFFIX" >&5
echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6
-echo "$as_me:27333: checking default library-dependency suffix" >&5
+echo "$as_me:27348: checking default library-dependency suffix" >&5
echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6
case X$DFT_LWR_MODEL in
DFT_LIB_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_LIB_SUFFIX}"
DFT_DEP_SUFFIX="${LIB_SUFFIX}${EXTRA_SUFFIX}${DFT_DEP_SUFFIX}"
fi
-echo "$as_me:27416: result: $DFT_DEP_SUFFIX" >&5
+echo "$as_me:27431: result: $DFT_DEP_SUFFIX" >&5
echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6
-echo "$as_me:27419: checking default object directory" >&5
+echo "$as_me:27434: checking default object directory" >&5
echo $ECHO_N "checking default object directory... $ECHO_C" >&6
case $DFT_LWR_MODEL in
DFT_OBJ_SUBDIR='obj_s' ;;
esac
esac
-echo "$as_me:27435: result: $DFT_OBJ_SUBDIR" >&5
+echo "$as_me:27450: result: $DFT_OBJ_SUBDIR" >&5
echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6
if test "x$cf_with_cxx" = xyes ; then
-echo "$as_me:27439: checking c++ library-dependency suffix" >&5
+echo "$as_me:27454: checking c++ library-dependency suffix" >&5
echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6
if test "$with_libtool" != "no"; then
# libtool thinks it can make c++ shared libraries (perhaps only g++)
fi
fi
-echo "$as_me:27532: result: $CXX_LIB_SUFFIX" >&5
+echo "$as_me:27547: result: $CXX_LIB_SUFFIX" >&5
echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6
fi
if test -n "$LDFLAGS_STATIC" && test -n "$LDFLAGS_SHARED"
then
- echo "$as_me:27708: checking if linker supports switching between static/dynamic" >&5
+ echo "$as_me:27723: checking if linker supports switching between static/dynamic" >&5
echo $ECHO_N "checking if linker supports switching between static/dynamic... $ECHO_C" >&6
rm -f libconftest.a
cat >conftest.$ac_ext <<EOF
-#line 27713 "configure"
+#line 27728 "configure"
#include <stdio.h>
int cf_ldflags_static(FILE *fp) { return fflush(fp); }
EOF
- if { (eval echo "$as_me:27717: \"$ac_compile\"") >&5
+ if { (eval echo "$as_me:27732: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
- echo "$as_me:27720: \$? = $ac_status" >&5
+ echo "$as_me:27735: \$? = $ac_status" >&5
(exit "$ac_status"); } ; then
( $AR $ARFLAGS libconftest.a conftest.o ) 2>&5 1>/dev/null
( eval $RANLIB libconftest.a ) 2>&5 >/dev/null
LIBS="$LDFLAGS_STATIC -L`pwd` -lconftest $LDFLAGS_DYNAMIC $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 27731 "configure"
+#line 27746 "configure"
#include "confdefs.h"
-#line 27734 "configure"
+#line 27749 "configure"
#include <stdio.h>
int cf_ldflags_static(FILE *fp);
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:27749: \"$ac_link\"") >&5
+if { (eval echo "$as_me:27764: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:27752: \$? = $ac_status" >&5
+ echo "$as_me:27767: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:27755: \"$ac_try\"") >&5
+ { (eval echo "$as_me:27770: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:27758: \$? = $ac_status" >&5
+ echo "$as_me:27773: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
# some linkers simply ignore the -dynamic
rm -f libconftest.*
LIBS="$cf_save_LIBS"
- echo "$as_me:27781: result: $cf_ldflags_static" >&5
+ echo "$as_me:27796: result: $cf_ldflags_static" >&5
echo "${ECHO_T}$cf_ldflags_static" >&6
if test "$cf_ldflags_static" != yes
;;
esac
-echo "$as_me:27797: checking where we will install curses.h" >&5
+echo "$as_me:27812: checking where we will install curses.h" >&5
echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6
includesubdir=
then
includesubdir="/ncurses${USE_LIB_SUFFIX}"
fi
-echo "$as_me:27807: result: ${includedir}${includesubdir}" >&5
+echo "$as_me:27822: result: ${includedir}${includesubdir}" >&5
echo "${ECHO_T}${includedir}${includesubdir}" >&6
### Resolve a conflict between normal and wide-curses by forcing applications
if test "$with_overwrite" != no ; then
if test "$NCURSES_LIBUTF8" = 1 ; then
NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)'
- { echo "$as_me:27815: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
+ { echo "$as_me:27830: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5
echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;}
fi
fi
# pkgsrc uses these
-echo "$as_me:27843: checking for desired basename for form library" >&5
+echo "$as_me:27858: checking for desired basename for form library" >&5
echo $ECHO_N "checking for desired basename for form library... $ECHO_C" >&6
# Check whether --with-form-libname or --without-form-libname was given.
;;
esac
-echo "$as_me:27863: result: $FORM_NAME" >&5
+echo "$as_me:27878: result: $FORM_NAME" >&5
echo "${ECHO_T}$FORM_NAME" >&6
-echo "$as_me:27866: checking for desired basename for menu library" >&5
+echo "$as_me:27881: checking for desired basename for menu library" >&5
echo $ECHO_N "checking for desired basename for menu library... $ECHO_C" >&6
# Check whether --with-menu-libname or --without-menu-libname was given.
;;
esac
-echo "$as_me:27886: result: $MENU_NAME" >&5
+echo "$as_me:27901: result: $MENU_NAME" >&5
echo "${ECHO_T}$MENU_NAME" >&6
-echo "$as_me:27889: checking for desired basename for panel library" >&5
+echo "$as_me:27904: checking for desired basename for panel library" >&5
echo $ECHO_N "checking for desired basename for panel library... $ECHO_C" >&6
# Check whether --with-panel-libname or --without-panel-libname was given.
;;
esac
-echo "$as_me:27909: result: $PANEL_NAME" >&5
+echo "$as_me:27924: result: $PANEL_NAME" >&5
echo "${ECHO_T}$PANEL_NAME" >&6
-echo "$as_me:27912: checking for desired basename for cxx library" >&5
+echo "$as_me:27927: checking for desired basename for cxx library" >&5
echo $ECHO_N "checking for desired basename for cxx library... $ECHO_C" >&6
# Check whether --with-cxx-libname or --without-cxx-libname was given.
;;
esac
-echo "$as_me:27932: result: $CXX_NAME" >&5
+echo "$as_me:27947: result: $CXX_NAME" >&5
echo "${ECHO_T}$CXX_NAME" >&6
### Construct the list of subdirectories for which we'll customize makefiles
### with the appropriate compile-rules.
-echo "$as_me:27938: checking for src modules" >&5
+echo "$as_me:27953: checking for src modules" >&5
echo $ECHO_N "checking for src modules... $ECHO_C" >&6
# dependencies and linker-arguments for test-programs
fi
fi
done
-echo "$as_me:28007: result: $cf_cv_src_modules" >&5
+echo "$as_me:28022: result: $cf_cv_src_modules" >&5
echo "${ECHO_T}$cf_cv_src_modules" >&6
TEST_ARGS="-L${LIB_DIR} $TEST_ARGS"
(*-D_XOPEN_SOURCE_EXTENDED*)
test -n "$verbose" && echo " moving _XOPEN_SOURCE_EXTENDED to work around g++ problem" 1>&6
-echo "${as_me:-configure}:28168: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
+echo "${as_me:-configure}:28183: testing moving _XOPEN_SOURCE_EXTENDED to work around g++ problem ..." 1>&5
CFLAGS="$CFLAGS -D_XOPEN_SOURCE_EXTENDED"
CPPFLAGS=`echo "x$CPPFLAGS" | sed -e 's/^.//' -e 's/-D_XOPEN_SOURCE_EXTENDED//'`
# Help to automatically enable the extended curses features when using either
# the *-config or the ".pc" files by adding defines.
-echo "$as_me:28179: checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script" >&5
+echo "$as_me:28194: checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script" >&5
echo $ECHO_N "checking for defines to add to ncurses${USE_CFG_SUFFIX}-config script... $ECHO_C" >&6
PKG_CFLAGS=
for cf_loop1 in $CPPFLAGS_after_XOPEN
done
test "$cf_found" = no && PKG_CFLAGS="$PKG_CFLAGS $cf_loop1"
done
-echo "$as_me:28195: result: $PKG_CFLAGS" >&5
+echo "$as_me:28210: result: $PKG_CFLAGS" >&5
echo "${ECHO_T}$PKG_CFLAGS" >&6
# AC_CHECK_SIZEOF demands a literal parameter, no variables. So we do this.
cf_filter_syms=$cf_dft_filter_syms
test -n "$verbose" && echo " will map symbols to ABI=$cf_cv_abi_version" 1>&6
-echo "${as_me:-configure}:28256: testing will map symbols to ABI=$cf_cv_abi_version ..." 1>&5
+echo "${as_me:-configure}:28271: testing will map symbols to ABI=$cf_cv_abi_version ..." 1>&5
fi
# This is used for the *-config script and *.pc data files.
-echo "$as_me:28283: checking for linker search path" >&5
+echo "$as_me:28298: checking for linker search path" >&5
echo $ECHO_N "checking for linker search path... $ECHO_C" >&6
if test "${cf_cv_ld_searchpath+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
cf_pathlist="$cf_pathlist /lib /usr/lib"
;;
(*)
- { echo "$as_me:28331: WARNING: problem with Solaris architecture" >&5
+ { echo "$as_me:28346: WARNING: problem with Solaris architecture" >&5
echo "$as_me: WARNING: problem with Solaris architecture" >&2;}
;;
esac
test -z "$cf_cv_ld_searchpath" && cf_cv_ld_searchpath=/usr/lib
fi
-echo "$as_me:28372: result: $cf_cv_ld_searchpath" >&5
+echo "$as_me:28387: result: $cf_cv_ld_searchpath" >&5
echo "${ECHO_T}$cf_cv_ld_searchpath" >&6
LD_SEARCHPATH=`echo "$cf_cv_ld_searchpath"|sed -e 's/ /|/g'`
: "${CONFIG_STATUS=./config.status}"
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:28462: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:28477: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >"$CONFIG_STATUS" <<_ACEOF
#! $SHELL
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
- { { echo "$as_me:28641: error: ambiguous option: $1
+ { { echo "$as_me:28656: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
- -*) { { echo "$as_me:28660: error: unrecognized option: $1
+ -*) { { echo "$as_me:28675: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
"include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
- *) { { echo "$as_me:28785: error: invalid argument: $ac_config_target" >&5
+ *) { { echo "$as_me:28800: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
esac
if test x"$ac_file" != x-; then
- { echo "$as_me:29295: creating $ac_file" >&5
+ { echo "$as_me:29310: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:29313: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:29328: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo "$srcdir/$f"
else
# /dev/null tree
- { { echo "$as_me:29326: error: cannot find input file: $f" >&5
+ { { echo "$as_me:29341: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
if test -n "$ac_seen"; then
ac_used=`grep '@datarootdir@' "$ac_item"`
if test -z "$ac_used"; then
- { echo "$as_me:29342: WARNING: datarootdir was used implicitly but not set:
+ { echo "$as_me:29357: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&2;}
fi
ac_seen=`grep '${datarootdir}' "$ac_item"`
if test -n "$ac_seen"; then
- { echo "$as_me:29351: WARNING: datarootdir was used explicitly but not set:
+ { echo "$as_me:29366: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&2;}
ac_init=`${EGREP-egrep} '[ ]*'$ac_name'[ ]*=' "$ac_file"`
if test -z "$ac_init"; then
ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
- { echo "$as_me:29388: WARNING: Variable $ac_name is used but was not set:
+ { echo "$as_me:29403: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&5
echo "$as_me: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&2;}
${EGREP-egrep} -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>$tmp/out
if test -s $tmp/out; then
ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
- { echo "$as_me:29399: WARNING: Some variables may not be substituted:
+ { echo "$as_me:29414: WARNING: Some variables may not be substituted:
$ac_seen" >&5
echo "$as_me: WARNING: Some variables may not be substituted:
$ac_seen" >&2;}
* ) ac_file_in=$ac_file.in ;;
esac
- test x"$ac_file" != x- && { echo "$as_me:29448: creating $ac_file" >&5
+ test x"$ac_file" != x- && { echo "$as_me:29463: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:29459: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:29474: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo "$srcdir/$f"
else
# /dev/null tree
- { { echo "$as_me:29472: error: cannot find input file: $f" >&5
+ { { echo "$as_me:29487: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
- { echo "$as_me:29530: $ac_file is unchanged" >&5
+ { echo "$as_me:29545: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
(cygdll|msysdll|mingw|msvcdll)
test "x$with_shared_cxx" = xno && test -n "$verbose" && echo " overriding CXX_MODEL to SHARED" 1>&6
-echo "${as_me:-configure}:29917: testing overriding CXX_MODEL to SHARED ..." 1>&5
+echo "${as_me:-configure}:29932: testing overriding CXX_MODEL to SHARED ..." 1>&5
with_shared_cxx=yes
;;
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1419 2021/06/12 10:37:34 tom Exp $
+# $Id: dist.mk,v 1.1421 2021/06/19 13:03:39 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
NCURSES_MINOR = 2
-NCURSES_PATCH = 20210612
+NCURSES_PATCH = 20210619
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
g=$${m}.html ;\
if [ -f doc/html/$$g ]; then chmod +w doc/html/$$g; fi;\
echo "Converting $$m to HTML" ;\
- echo '<!-- ' > doc/html/man/$$g ;\
+ echo '<!--' > doc/html/man/$$g ;\
egrep '^.\\"[^#]' $$f | \
sed -e 's/\$$/@/g' \
-e 's/^.../ */' \
-<!--
+<!--
****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 2010-2014,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKada_config.in,v 1.12 2020/02/02 23:34:34 tom Exp @
+ * @Id: MKada_config.in,v 1.13 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<BODY>
<H1 class="no-header">ADACURSES 1 User Commands</H1>
<PRE>
-<STRONG>ADACURSES(1)</STRONG> User Commands <STRONG>ADACURSES(1)</STRONG>
+<B>ADACURSES(1)</B> User Commands <B>ADACURSES(1)</B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>adacurses6-config</STRONG> [<EM>options</EM>]
+ <B>adacurses6-config</B> [<I>options</I>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
- <STRONG>--cflags</STRONG>
+ <B>--cflags</B>
echos the gnat (Ada compiler) flags needed to compile with
AdaCurses.
- <STRONG>--libs</STRONG> echos the gnat libraries needed to link with AdaCurses.
+ <B>--libs</B> echos the gnat libraries needed to link with AdaCurses.
- <STRONG>--version</STRONG>
+ <B>--version</B>
echos the release+patchdate version of the ncurses libraries
used to configure and build AdaCurses.
- <STRONG>--help</STRONG> prints a list of the <STRONG>adacurses6-config</STRONG> script's options.
+ <B>--help</B> prints a list of the <B>adacurses6-config</B> script's options.
- If no options are given, <STRONG>adacurses6-config</STRONG> prints the combination of
- <STRONG>--cflags</STRONG> and <STRONG>--libs</STRONG> that <STRONG>gnatmake</STRONG> expects (see example).
+ If no options are given, <B>adacurses6-config</B> prints the combination of
+ <B>--cflags</B> and <B>--libs</B> that <B>gnatmake</B> expects (see example).
</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG>ADACURSES(1)</STRONG>
+ <B>ADACURSES(1)</B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>captoinfo 1m</TITLE>
+<TITLE>@CAPTOINFO@ 1M</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">captoinfo 1m</H1>
+<H1 class="no-header">@CAPTOINFO@ 1M</H1>
<PRE>
-<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+<B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B> <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>captoinfo</STRONG> - convert a <EM>termcap</EM> description into a <EM>terminfo</EM> description
+ <B>captoinfo</B> - convert a <I>termcap</I> description into a <I>terminfo</I> description
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>captoinfo</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
+ <B>captoinfo</B> [<B>-v</B><I>n</I> <I>width</I>] [<B>-V</B>] [<B>-1</B>] [<B>-w</B> <I>width</I>] <I>file</I> ...
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <STRONG>captoinfo</STRONG> looks in each given text <EM>file</EM> for <STRONG>termcap</STRONG> descriptions. For
- each one found, an equivalent <STRONG>terminfo</STRONG> description is written to
- standard output. Termcap <STRONG>tc</STRONG> capabilities are translated directly to
- terminfo <STRONG>use</STRONG> capabilities.
-
- If no <EM>file</EM> is given, then the environment variable <STRONG>TERMCAP</STRONG> is used for
- the filename or entry. If <STRONG>TERMCAP</STRONG> is a full pathname to a file, only
- the terminal whose name is specified in the environment variable <STRONG>TERM</STRONG>
- is extracted from that file. If the environment variable <STRONG>TERMCAP</STRONG> is
- not set, then the file <STRONG>/usr/share/terminfo</STRONG> is read.
-
- <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ <B>captoinfo</B> looks in each given text <I>file</I> for <B>termcap</B> descriptions. For
+ each one found, an equivalent <B>terminfo</B> description is written to
+ standard output. Termcap <B>tc</B> capabilities are translated directly to
+ terminfo <B>use</B> capabilities.
+
+ If no <I>file</I> is given, then the environment variable <B>TERMCAP</B> is used for
+ the filename or entry. If <B>TERMCAP</B> is a full pathname to a file, only
+ the terminal whose name is specified in the environment variable <B>TERM</B>
+ is extracted from that file. If the environment variable <B>TERMCAP</B> is
+ not set, then the file <B>/usr/share/terminfo</B> is read.
+
+ <B>-v</B> print out tracing information on standard error as the program
runs.
- <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ <B>-V</B> print out the version of the program in use on standard error and
exit.
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ <B>-1</B> 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
characters.
- <STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
+ <B>-w</B> change the output to <I>width</I> characters.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
</PRE><H2><a name="h2-TRANSLATIONS-FROM-NONSTANDARD-CAPABILITIES">TRANSLATIONS FROM NONSTANDARD CAPABILITIES</a></H2><PRE>
Some obsolete nonstandard capabilities will automatically be translated
- into standard (SVr4/XSI Curses) terminfo capabilities by <STRONG>captoinfo</STRONG>.
+ into standard (SVr4/XSI Curses) terminfo capabilities by <B>captoinfo</B>.
Whenever one of these automatic translations is done, the program will
issue an notification to stderr, inviting the user to check that it has
not mistakenly translated a completely unknown and random capability
GG acs magic cookie count
If the single-line capabilities occur in an entry, they will
- automatically be composed into an <STRONG>acsc</STRONG> string. The double-line
- capabilities and <STRONG>GG</STRONG> are discarded with a warning message.
+ automatically be composed into an <B>acsc</B> string. The double-line
+ capabilities and <B>GG</B> are discarded with a warning message.
IBM's AIX has a terminfo facility descended from SVr1 terminfo but
incompatible with the SVr4 format. The following AIX extensions are
font2 s2ds
font3 s3ds
- Additionally, the AIX <EM>box1</EM> capability will be automatically translated
- to an <STRONG>acsc</STRONG> string.
+ Additionally, the AIX <I>box1</I> capability will be automatically translated
+ to an <B>acsc</B> string.
Hewlett-Packard's terminfo library supports two nonstandard terminfo
- capabilities <STRONG>meml</STRONG> (memory lock) and <STRONG>memu</STRONG> (memory unlock). These will
+ capabilities <B>meml</B> (memory lock) and <B>memu</B> (memory unlock). These will
be discarded with a warning message.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- This utility is actually a link to <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, running in <EM>-I</EM> mode. You
- can use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+ This utility is actually a link to <B><A HREF="tic.1M.html">tic(1M)</A></B>, running in <I>-I</I> mode. You
+ can use other <B>tic</B> options such as <B>-f</B> and <B>-x</B>.
The verbose option is not identical to SVr4's. Under SVr4, instead of
- following the <STRONG>-v</STRONG> with a trace level n, you repeat it n times.
+ following the <B>-v</B> with a trace level n, you repeat it n times.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 7 (2009) describes <STRONG>tic</STRONG> briefly, but omits this
- program. SVr4 systems provide <STRONG>captoinfo</STRONG> as a separate application from
- <STRONG>tic</STRONG>.
+ X/Open Curses, Issue 7 (2009) describes <B>tic</B> briefly, but omits this
+ program. SVr4 systems provide <B>captoinfo</B> as a separate application from
+ <B>tic</B>.
NetBSD does not provide this application.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>clear 1</TITLE>
+<TITLE>@CLEAR@ 1</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">clear 1</H1>
+<H1 class="no-header">@CLEAR@ 1</H1>
<PRE>
-<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> General Commands Manual <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+<B><A HREF="clear.1.html">clear(1)</A></B> General Commands Manual <B><A HREF="clear.1.html">clear(1)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>clear</STRONG> - clear the terminal screen
+ <B>clear</B> - clear the terminal screen
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>clear</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-V</STRONG>] [<STRONG>-x</STRONG>]
+ <B>clear</B> [<B>-T</B><I>type</I>] [<B>-V</B>] [<B>-x</B>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <STRONG>clear</STRONG> clears your screen if this is possible, including its scrollback
- buffer (if the extended "E3" capability is defined). <STRONG>clear</STRONG> looks in
+ <B>clear</B> clears your screen if this is possible, including its scrollback
+ buffer (if the extended "E3" capability is defined). <B>clear</B> looks in
the environment for the terminal type given by the environment variable
- <STRONG>TERM</STRONG>, and then in the <STRONG>terminfo</STRONG> database to determine how to clear the
+ <B>TERM</B>, and then in the <B>terminfo</B> database to determine how to clear the
screen.
- <STRONG>clear</STRONG> writes to the standard output. You can redirect the standard
- output to a file (which prevents <STRONG>clear</STRONG> from actually clearing the
- screen), and later <STRONG>cat</STRONG> the file to the screen, clearing it at that
+ <B>clear</B> writes to the standard output. You can redirect the standard
+ output to a file (which prevents <B>clear</B> from actually clearing the
+ screen), and later <B>cat</B> the file to the screen, clearing it at that
point.
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
- <STRONG>-T</STRONG> <EM>type</EM>
- indicates the <EM>type</EM> of terminal. Normally this option is
+ <B>-T</B> <I>type</I>
+ indicates the <I>type</I> of terminal. Normally this option is
unnecessary, because the default is taken from the environment
- variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables <STRONG>LINES</STRONG>
- and <STRONG>COLUMNS</STRONG> will also be ignored.
+ variable <B>TERM</B>. If <B>-T</B> is specified, then the shell variables <B>LINES</B>
+ and <B>COLUMNS</B> will also be ignored.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <B>-V</B> reports the version of ncurses which was used in this program, and
exits. The options are as follows:
- <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using the
+ <B>-x</B> do not attempt to clear the terminal's scrollback buffer using the
extended "E3" capability.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- A <STRONG>clear</STRONG> command appeared in 2.79BSD dated February 24, 1979. Later
+ A <B>clear</B> command appeared in 2.79BSD dated February 24, 1979. Later
that was provided in Unix 8th edition (1985).
- AT&T adapted a different BSD program (<STRONG>tset</STRONG>) to make a new command
- (<STRONG>tput</STRONG>), and used this to replace the <STRONG>clear</STRONG> command with a shell script
- which calls <STRONG>tput</STRONG> <STRONG>clear</STRONG>, e.g.,
+ AT&T adapted a different BSD program (<B>tset</B>) to make a new command
+ (<B>tput</B>), and used this to replace the <B>clear</B> command with a shell script
+ which calls <B>tput</B> <B>clear</B>, e.g.,
/usr/bin/tput ${1:+-T$1} clear 2> /dev/null
exit
- In 1989, when Keith Bostic revised the BSD <STRONG>tput</STRONG> command to make it
- similar to the AT&T <STRONG>tput</STRONG>, he added a shell script for the <STRONG>clear</STRONG>
+ In 1989, when Keith Bostic revised the BSD <B>tput</B> command to make it
+ similar to the AT&T <B>tput</B>, he added a shell script for the <B>clear</B>
command:
exec tput clear
The remainder of the script in each case is a copyright notice.
- The ncurses <STRONG>clear</STRONG> command began in 1995 by adapting the original BSD
- <STRONG>clear</STRONG> command (with terminfo, of course).
+ The ncurses <B>clear</B> command began in 1995 by adapting the original BSD
+ <B>clear</B> command (with terminfo, of course).
- The <STRONG>E3</STRONG> extension came later:
+ The <B>E3</B> extension came later:
- <STRONG>o</STRONG> In June 1999, xterm provided an extension to the standard control
+ <B>o</B> In June 1999, xterm provided an extension to the standard control
sequence for clearing the screen. Rather than clearing just the
visible part of the screen using
printf '\033[2J'
- one could clear the <EM>scrollback</EM> using
+ one could clear the <I>scrollback</I> using
- printf '\033[<STRONG>3</STRONG>J'
+ printf '\033[<B>3</B>J'
- This is documented in <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> as a feature
+ This is documented in <I>XTerm</I> <I>Control</I> <I>Sequences</I> as a feature
originating with xterm.
- <STRONG>o</STRONG> A few other terminal developers adopted the feature, e.g., PuTTY in
+ <B>o</B> A few other terminal developers adopted the feature, e.g., PuTTY in
2006.
- <STRONG>o</STRONG> In April 2011, a Red Hat developer submitted a patch to the Linux
+ <B>o</B> In April 2011, a Red Hat developer submitted a patch to the Linux
kernel, modifying its console driver to do the same thing. The
Linux change, part of the 3.0 release, did not mention xterm,
although it was cited in the Red Hat bug report (#683733) which led
to the change.
- <STRONG>o</STRONG> Again, a few other terminal developers adopted the feature. But
- the next relevant step was a change to the <STRONG>clear</STRONG> program in 2013 to
+ <B>o</B> Again, a few other terminal developers adopted the feature. But
+ the next relevant step was a change to the <B>clear</B> program in 2013 to
incorporate this extension.
- <STRONG>o</STRONG> In 2013, the <STRONG>E3</STRONG> extension was overlooked in <STRONG>tput</STRONG> with the "clear"
- parameter. That was addressed in 2016 by reorganizing <STRONG>tput</STRONG> to
- share its logic with <STRONG>clear</STRONG> and <STRONG>tset</STRONG>.
+ <B>o</B> In 2013, the <B>E3</B> extension was overlooked in <B>tput</B> with the "clear"
+ parameter. That was addressed in 2016 by reorganizing <B>tput</B> to
+ share its logic with <B>clear</B> and <B>tset</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
(POSIX.1-2008) nor X/Open Curses Issue 7 documents tset or reset.
- The latter documents <STRONG>tput</STRONG>, which could be used to replace this utility
+ The latter documents <B>tput</B>, which could be used to replace this utility
either via a shell script or by an alias (such as a symbolic link) to
- run <STRONG>tput</STRONG> as <STRONG>clear</STRONG>.
+ run <B>tput</B> as <B>clear</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <B><A HREF="tput.1.html">tput(1)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ <B><A HREF="clear.1.html">clear(1)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2001-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wch 3x</TITLE>
+<TITLE>curs_add_wch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wch 3x</H1>
+<H1 class="no-header">curs_add_wch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+<B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B> <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
- a complex character and rendition to a <STRONG>curses</STRONG> window, then advance the
+ <B>add_wch</B>, <B>wadd_wch</B>, <B>mvadd_wch</B>, <B>mvwadd_wch</B>, <B>echo_wchar</B>, <B>wecho_wchar</B> - add
+ a complex character and rendition to a <B>curses</B> window, then advance the
cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvadd_wch(</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+ <B>int</B> <B>add_wch(</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+ <B>int</B> <B>wadd_wch(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+ <B>int</B> <B>mvadd_wch(</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+ <B>int</B> <B>mvwadd_wch(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
- <STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+ <B>int</B> <B>echo_wchar(</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+ <B>int</B> <B>wecho_wchar(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
- The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, and <STRONG>mvwadd_wch</STRONG> functions put the
- complex character <EM>wch</EM> into the given window at its current position,
+ The <B>add_wch</B>, <B>wadd_wch</B>, <B>mvadd_wch</B>, and <B>mvwadd_wch</B> functions put the
+ complex character <I>wch</I> into the given window at its current position,
which is then advanced. These functions perform wrapping and special-
character processing as follows:
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a spacing character, then any previous character
- at that location is removed. A new character specified by <EM>wch</EM> is
- placed at that location with rendition specified by <EM>wch</EM>. The
+ <B>o</B> If <I>wch</I> refers to a spacing character, then any previous character
+ at that location is removed. A new character specified by <I>wch</I> is
+ placed at that location with rendition specified by <I>wch</I>. The
cursor then advances to the next spacing character on the screen.
- <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, all previous characters
- at that location are preserved. The non-spacing characters of <EM>wch</EM>
+ <B>o</B> If <I>wch</I> refers to a non-spacing character, all previous characters
+ at that location are preserved. The non-spacing characters of <I>wch</I>
are added to the spacing complex character, and the rendition
- specified by <EM>wch</EM> is ignored.
+ specified by <I>wch</I> is ignored.
- <STRONG>o</STRONG> If the character part of <EM>wch</EM> is a tab, newline, backspace or other
+ <B>o</B> If the character part of <I>wch</I> is a tab, newline, backspace or other
control character, the window is updated and the cursor moves as if
- <STRONG>addch</STRONG> were called.
+ <B>addch</B> were called.
</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
- The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. Similarly, the <STRONG>wecho_wchar</STRONG> is
- functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed by a call to
- <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being output
+ The <B>echo_wchar</B> function is functionally equivalent to a call to <B>add_wch</B>
+ followed by a call to <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>. Similarly, the <B>wecho_wchar</B> is
+ functionally equivalent to a call to <B>wadd_wch</B> followed by a call to
+ <B>wrefresh</B>. The knowledge that only a single character is being output
is taken into consideration and, for non-control characters, a
- considerable performance gain might be seen by using the *<STRONG>echo</STRONG>*
+ considerable performance gain might be seen by using the *<B>echo</B>*
functions instead of their equivalents.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
- Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to draw
+ Like <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>, <B>addch_wch</B> 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 <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
+ correspond to the same VT100 line-drawing set as <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>.
- <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ <B>ACS</B> <B>Unicode</B> <B>ASCII</B> <B>acsc</B> <B>Glyph</B>
+ <B>Name</B> <B>Default</B> <B>Default</B> <B>char</B> <B>Name</B>
------------------------------------------------------------------------
WACS_BLOCK 0x25ae # 0 solid square block
WACS_BOARD 0x2592 # h board of squares
WACS_VLINE 0x2502 | x vertical line
The wide-character configuration of ncurses also defines symbols for
- thick lines (<STRONG>acsc</STRONG> "J" to "V"):
+ thick lines (<B>acsc</B> "J" to "V"):
- <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ <B>ACS</B> <B>Unicode</B> <B>ASCII</B> <B>acsc</B> <B>Glyph</B>
+ <B>Name</B> <B>Default</B> <B>Default</B> <B>char</B> <B>Name</B>
-----------------------------------------------------------------------
WACS_T_BTEE 0x253b + V thick tee pointing up
WACS_T_HLINE 0x2501 - Q thick horizontal line
WACS_T_URCORNER 0x2513 + K thick upper right corner
WACS_T_VLINE 0x2503 | X thick vertical line
- and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
+ and for double-lines (<B>acsc</B> "A" to "I"):
- <STRONG>ACS</STRONG> <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ <B>ACS</B> <B>Unicode</B> <B>ASCII</B> <B>acsc</B> <B>Glyph</B>
+ <B>Name</B> <B>Default</B> <B>Default</B> <B>char</B> <B>Name</B>
------------------------------------------------------------------------
WACS_D_BTEE 0x2569 + H double tee pointing up
WACS_D_HLINE 0x2550 - R double horizontal line
details). Here are its descriptions for the normal, thick, and double
horizontal lines:
- <STRONG>o</STRONG> U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+ <B>o</B> U+2500 BOX DRAWINGS LIGHT HORIZONTAL
- <STRONG>o</STRONG> U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+ <B>o</B> U+2501 BOX DRAWINGS HEAVY HORIZONTAL
- <STRONG>o</STRONG> U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+ <B>o</B> U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ All routines return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
X/Open does not define any error conditions. This implementation
returns an error
- <STRONG>o</STRONG> if the window pointer is null or
+ <B>o</B> if the window pointer is null or
- <STRONG>o</STRONG> if it is not possible to add a complete character in the window.
+ <B>o</B> if it is not possible to add a complete character in the window.
The latter may be due to different causes:
- <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
+ <B>o</B> If <B>scrollok</B> is not enabled, writing a character at the lower right
margin succeeds. However, an error is returned because it is not
possible to wrap to a new line
- <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+ <B>o</B> If an error is detected when converting a multibyte character to a
sequence of bytes, or if it is not possible to add all of the
resulting bytes in the window, an error is returned.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
+ Note that <B>add_wch</B>, <B>mvadd_wch</B>, <B>mvwadd_wch</B>, and <B>echo_wchar</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
POSIX locale.
X/Open Curses makes it clear that the WACS_ symbols should be defined
- as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>. A
+ as a pointer to <B>cchar_t</B> data, e.g., in the discussion of <B>border_set</B>. A
few implementations are problematic:
- <STRONG>o</STRONG> NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
+ <B>o</B> NetBSD curses defines the symbols as a <B>wchar_t</B> within a <B>cchar_t</B>.
- <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
- symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The
+ <B>o</B> HPUX curses equates some of the <I>ACS</I><B>_</B> symbols to the analogous <I>WACS</I><B>_</B>
+ symbols as if the <I>ACS</I><B>_</B> symbols were wide characters. The
misdefined symbols are the arrows and other symbols which are not
used for line-drawing.
providing new definitions which are not in the SVr4 implementations.
Not all Unicode-capable terminals provide support for VT100-style
- alternate character sets (i.e., the <STRONG>acsc</STRONG> capability), with their
+ alternate character sets (i.e., the <B>acsc</B> capability), with their
corresponding line-drawing characters. X/Open Curses did not address
the aspect of integrating Unicode with line-drawing characters.
Existing implementations of Unix curses (AIX, HPUX, Solaris) use only
- the <STRONG>acsc</STRONG> character-mapping to provide this feature. As a result, those
+ the <B>acsc</B> character-mapping to provide this feature. As a result, those
implementations can only use single-byte line-drawing characters.
Ncurses 5.3 (2002) provided a table of Unicode values to solve these
problems. NetBSD curses incorporated that table in 2010.
In this implementation, the Unicode values are used instead of the
- terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
- environment variable <STRONG>NCURSES_NO_UTF8_ACS</STRONG>. In contrast, for the same
- cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
+ terminal description's <B>acsc</B> mapping as discussed in <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B> for the
+ environment variable <B>NCURSES_NO_UTF8_ACS</B>. In contrast, for the same
+ cases, the line-drawing characters described in <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B> will use
only the ASCII default values.
Having Unicode available does not solve all of the problems with line-
drawing for curses:
- <STRONG>o</STRONG> The closest Unicode equivalents to the VT100 graphics <EM>S1</EM>, <EM>S3</EM>, <EM>S7</EM>
- and <EM>S9</EM> frequently are not displayed at the regular intervals which
+ <B>o</B> The closest Unicode equivalents to the VT100 graphics <I>S1</I>, <I>S3</I>, <I>S7</I>
+ and <I>S9</I> frequently are not displayed at the regular intervals which
the terminal used.
- <STRONG>o</STRONG> The <EM>lantern</EM> is a special case. It originated with the AT&T 4410
+ <B>o</B> The <I>lantern</I> is a special case. It originated with the AT&T 4410
terminal in the early 1980s. There is no accessible documentation
depicting the lantern symbol on the AT&T terminal.
- Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
+ Lacking documentation, most readers assume that a <I>storm</I> <I>lantern</I> was
intended. But there are several possibilities, all with problems.
Unicode 6.0 (2010) does provide two lantern symbols: U+1F383 and
since they lie outside the BMP and as a result are not generally
available in terminals. They are not storm lanterns, in any case.
- Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
+ Most <I>storm</I> <I>lanterns</I> have a tapering glass chimney (to guard against
tipping); some have a wire grid protecting the chimney.
For the tapering appearance, U+2603 was adequate. In use on a
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>,
+ <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B>putwc(3)</B>
- <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wchstr 3x</TITLE>
+<TITLE>curs_add_wchstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wchstr 3x</H1>
+<H1 class="no-header">curs_add_wchstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+<B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B> <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>add_wchstr</STRONG>, <STRONG>add_wchnstr</STRONG>, <STRONG>wadd_wchstr</STRONG>, <STRONG>wadd_wchnstr</STRONG>, <STRONG>mvadd_wchstr</STRONG>,
- <STRONG>mvadd_wchnstr</STRONG>, <STRONG>mvwadd_wchstr</STRONG>, <STRONG>mvwadd_wchnstr</STRONG> - add an array of complex
+ <B>add_wchstr</B>, <B>add_wchnstr</B>, <B>wadd_wchstr</B>, <B>wadd_wchnstr</B>, <B>mvadd_wchstr</B>,
+ <B>mvadd_wchnstr</B>, <B>mvwadd_wchstr</B>, <B>mvwadd_wchnstr</B> - add an array of complex
characters (and attributes) to a curses window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>add_wchstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>add_wchnstr(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>add_wchstr(const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>add_wchnstr(const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wadd_wchstr(WINDOW</B> <B>*</B> <I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>wadd_wchnstr(WINDOW</B> <B>*</B> <I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvadd_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvadd_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwadd_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwadd_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvadd_wchstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>mvadd_wchnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwadd_wchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>mvwadd_wchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions copy the (null-terminated) array of complex characters
- <EM>wchstr</EM> into the window image structure starting at the current cursor
- position. The four functions with <EM>n</EM> as the last argument copy at most
- <EM>n</EM> elements, but no more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the
+ <I>wchstr</I> into the window image structure starting at the current cursor
+ position. The four functions with <I>n</I> as the last argument copy at most
+ <I>n</I> elements, but no more than will fit on the line. If <B>n</B>=<B>-1</B> then the
whole array is copied, to the maximum number of characters that will
fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work faster than
- <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <I>not</I> advanced. These functions work faster than
+ <B>waddnstr</B>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ <B>o</B> they do not perform checking (such as for the newline, backspace,
or carriage return characters),
- <STRONG>o</STRONG> they do not advance the current cursor position,
+ <B>o</B> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
+ <B>o</B> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ <B>o</B> they truncate the string if it crosses the right margin, rather
than wrapping it around to the new line.
- These functions end successfully on encountering a null <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>, or
+ These functions end successfully on encountering a null <I>cchar</I><B>_</B><I>t</I>, or
when they have filled the current line. If a complex character cannot
completely fit at the end of the current line, the remaining columns
are filled with the background character and rendition.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ All functions return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
X/Open does not define any error conditions. This implementation re-
turns an error if the window pointer is null.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All functions except <STRONG>wadd_wchnstr</STRONG> may be macros.
+ All functions except <B>wadd_wchnstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>.
Comparable functions in the narrow-character (ncurses) library are de-
- scribed in <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>.
+ scribed in <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>.
- <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.55 2020/10/24 09:12:31 tom Exp @
+ * @Id: curs_addch.3x,v 1.56 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addch 3x</TITLE>
+<TITLE>curs_addch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addch 3x</H1>
+<H1 class="no-header">curs_addch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+<B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B> <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, <STRONG>echochar</STRONG>, <STRONG>wechochar</STRONG> - add a character
- (with attributes) to a <STRONG>curses</STRONG> window, then advance the cursor
+ <B>addch</B>, <B>waddch</B>, <B>mvaddch</B>, <B>mvwaddch</B>, <B>echochar</B>, <B>wechochar</B> - add a character
+ (with attributes) to a <B>curses</B> window, then advance the cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>addch(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>addch(const</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>waddch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>mvaddch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>mvwaddch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <I>ch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>echochar(const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>echochar(const</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>wechochar(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>chtype</B> <I>ch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Adding-characters">Adding characters</a></H3><PRE>
- The <STRONG>addch</STRONG>, <STRONG>waddch</STRONG>, <STRONG>mvaddch</STRONG> and <STRONG>mvwaddch</STRONG> routines put the character <EM>ch</EM>
+ The <B>addch</B>, <B>waddch</B>, <B>mvaddch</B> and <B>mvwaddch</B> routines put the character <I>ch</I>
into the given window at its current window position, which is then
- advanced. They are analogous to <STRONG>putchar(3)</STRONG> in <STRONG>stdio(3)</STRONG>. If the
+ advanced. They are analogous to <B>putchar(3)</B> in <B>stdio(3)</B>. If the
advance is at the right margin:
- <STRONG>o</STRONG> The cursor automatically wraps to the beginning of the next line.
+ <B>o</B> The cursor automatically wraps to the beginning of the next line.
- <STRONG>o</STRONG> At the bottom of the current scrolling region, and if <STRONG>scrollok</STRONG> is
+ <B>o</B> At the bottom of the current scrolling region, and if <B>scrollok</B> is
enabled, the scrolling region is scrolled up one line.
- <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
+ <B>o</B> If <B>scrollok</B> is not enabled, writing a character at the lower right
margin succeeds. However, an error is returned because it is not
possible to wrap to a new line
- If <EM>ch</EM> is a tab, newline, carriage return or backspace, the cursor is
+ If <I>ch</I> is a tab, newline, carriage return or backspace, the cursor is
moved appropriately within the window:
- <STRONG>o</STRONG> Backspace moves the cursor one character left; at the left edge of
+ <B>o</B> Backspace moves the cursor one character left; at the left edge of
a window it does nothing.
- <STRONG>o</STRONG> Carriage return moves the cursor to the window left margin on the
+ <B>o</B> Carriage return moves the cursor to the window left margin on the
current line.
- <STRONG>o</STRONG> Newline does a <STRONG>clrtoeol</STRONG>, then moves the cursor to the window left
+ <B>o</B> Newline does a <B>clrtoeol</B>, then moves the cursor to the window left
margin on the next line, scrolling the window if on the last line.
- <STRONG>o</STRONG> Tabs are considered to be at every eighth column. The tab interval
- may be altered by setting the <STRONG>TABSIZE</STRONG> variable.
+ <B>o</B> Tabs are considered to be at every eighth column. The tab interval
+ may be altered by setting the <B>TABSIZE</B> variable.
- If <EM>ch</EM> is any other nonprintable character, it is drawn in printable
- form, i.e., the <STRONG>^</STRONG><EM>X</EM> notation used by <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>. Calling <STRONG>winch</STRONG> after
+ If <I>ch</I> is any other nonprintable character, it is drawn in printable
+ form, i.e., the <B>^</B><I>X</I> notation used by <B><A HREF="unctrl.3X.html">unctrl(3X)</A></B>. Calling <B>winch</B> after
adding a nonprintable character does not return the character itself,
but instead returns the printable representation of the character.
Video attributes can be combined with a character argument passed to
- <STRONG>addch</STRONG> or related functions by logical-ORing them into the character.
+ <B>addch</B> or related functions by logical-ORing them into the character.
(Thus, text, including attributes, can be copied from one place to
- another using <STRONG><A HREF="curs_inch.3x.html">inch(3x)</A></STRONG> and <STRONG>addch</STRONG>.) See the <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> page for
+ another using <B><A HREF="curs_inch.3X.html">inch(3X)</A></B> and <B>addch</B>.) See the <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B> page for
values of predefined video attribute constants that can be usefully
OR'ed into characters.
</PRE><H3><a name="h3-Echoing-characters">Echoing characters</a></H3><PRE>
- The <STRONG>echochar</STRONG> and <STRONG>wechochar</STRONG> routines are equivalent to a call to <STRONG>addch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, or a call to <STRONG>waddch</STRONG> followed by a
- call to <STRONG>wrefresh</STRONG>. The knowledge that only a single character is being
+ The <B>echochar</B> and <B>wechochar</B> routines are equivalent to a call to <B>addch</B>
+ followed by a call to <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>, or a call to <B>waddch</B> followed by a
+ call to <B>wrefresh</B>. The knowledge that only a single character is being
output is used and, for non-control characters, a considerable
performance gain may be seen by using these routines instead of their
equivalents.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
The following variables may be used to add line drawing characters to
- the screen with routines of the <STRONG>addch</STRONG> family. The default character
- listed below is used if the <STRONG>acsc</STRONG> capability does not define a terminal-
+ the screen with routines of the <B>addch</B> family. The default character
+ listed below is used if the <B>acsc</B> capability does not define a terminal-
specific replacement for it, or if the terminal and locale
configuration requires Unicode but the library is unable to use
Unicode.
The names are taken from VT100 nomenclature.
- <STRONG>ACS</STRONG> <STRONG>ACS</STRONG> <STRONG>acsc</STRONG> <STRONG>Glyph</STRONG>
- <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>char</STRONG> <STRONG>Name</STRONG>
+ <B>ACS</B> <B>ACS</B> <B>acsc</B> <B>Glyph</B>
+ <B>Name</B> <B>Default</B> <B>char</B> <B>Name</B>
---------------------------------------------------------
ACS_BLOCK # 0 solid square block
ACS_BOARD # h board of squares
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success (the
- SVr4 manuals specify only "an integer value other than <STRONG>ERR</STRONG>") upon
+ All routines return the integer <B>ERR</B> upon failure and <B>OK</B> on success (the
+ SVr4 manuals specify only "an integer value other than <B>ERR</B>") upon
successful completion, unless otherwise noted in the preceding routine
descriptions.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
If it is not possible to add a complete character, an error is
returned:
- <STRONG>o</STRONG> If <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
+ <B>o</B> If <B>scrollok</B> is not enabled, writing a character at the lower right
margin succeeds. However, an error is returned because it is not
possible to wrap to a new line
- <STRONG>o</STRONG> If an error is detected when converting a multibyte character to a
+ <B>o</B> If an error is detected when converting a multibyte character to a
sequence of bytes, or if it is not possible to add all of the
resulting bytes in the window, an error is returned.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>addch</STRONG>, <STRONG>mvaddch</STRONG>, <STRONG>mvwaddch</STRONG>, and <STRONG>echochar</STRONG> may be macros.
+ Note that <B>addch</B>, <B>mvaddch</B>, <B>mvwaddch</B>, and <B>echochar</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
- X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants. For
- the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are
- analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some
+ X/Open Curses states that the <I>ACS</I><B>_</B> definitions are <B>char</B> constants. For
+ the wide-character implementation (see <B>curs_add_wch</B>), there are
+ analogous <I>WACS</I><B>_</B> definitions which are <B>cchar_t</B> constants. Some
implementations are problematic:
- <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
+ <B>o</B> Some implementations define the ACS symbols to a constant (such as
Solaris), while others define those to entries in an array.
- This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses.
- NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+ This implementation uses an array <B>acs_map</B>, as done in SVr4 curses.
+ NetBSD also uses an array, actually named <B>_acs_char</B>, with a <B>#define</B>
for compatibility.
- <STRONG>o</STRONG> HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
- symbols as if the <EM>ACS</EM><STRONG>_</STRONG> symbols were wide characters. The
+ <B>o</B> HPUX curses equates some of the <I>ACS</I><B>_</B> symbols to the analogous <I>WACS</I><B>_</B>
+ symbols as if the <I>ACS</I><B>_</B> symbols were wide characters. The
misdefined symbols are the arrows and other symbols which are not
used for line-drawing.
- <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for
- the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG>
+ <B>o</B> X/Open Curses (issues 2 through 7) has a typographical error for
+ the ACS_LANTERN symbol, equating its "VT100+ Character" to <B>I</B>
(capital I), while the header files for SVr4 curses and the various
- implementations use <STRONG>i</STRONG> (lowercase).
+ implementations use <B>i</B> (lowercase).
None of the terminal descriptions on Unix platforms use uppercase-
- I, except for Solaris (i.e., <EM>screen</EM>'s terminal description,
+ I, except for Solaris (i.e., <I>screen</I>'s terminal description,
apparently based on the X/Open documentation around 1995). On the
- other hand, the terminal description <EM>gs6300</EM> (AT&T PC6300 with EMOTS
+ other hand, the terminal description <I>gs6300</I> (AT&T PC6300 with EMOTS
Terminal Emulator) uses lowercase-i.
Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI,
ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released
- System V. However, many publicly available terminfos include <STRONG>acsc</STRONG>
+ System V. However, many publicly available terminfos include <B>acsc</B>
strings in which their key characters (pryz{|}) are embedded, and a
second-hand list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ The ACS-prefixed names for them were invented for <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>.
- The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on
+ The <I>displayed</I> values for the <I>ACS</I><B>_</B> and <I>WACS</I><B>_</B> constants depend on
- <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the
+ <B>o</B> the library configuration, i.e., <B>ncurses</B> versus <B>ncursesw</B>, where the
latter is capable of displaying Unicode while the former is not,
and
- <STRONG>o</STRONG> whether the <EM>locale</EM> uses UTF-8 encoding.
+ <B>o</B> whether the <I>locale</I> uses UTF-8 encoding.
In certain cases, the terminal is unable to display line-drawing
characters except by using UTF-8 (see the discussion of
- <STRONG>NCURSES_NO_UTF8_ACS</STRONG> in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>).
+ <B>NCURSES_NO_UTF8_ACS</B> in <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>).
</PRE><H3><a name="h3-Character-Set">Character Set</a></H3><PRE>
- X/Open Curses assumes that the parameter passed to <STRONG>waddch</STRONG> contains a
- single character. As discussed in <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, that character may
+ X/Open Curses assumes that the parameter passed to <B>waddch</B> contains a
+ single character. As discussed in <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, that character may
have been more than eight bits in an SVr3 or SVr4 implementation, but
in the X/Open Curses model, the details are not given. The important
distinction between SVr4 curses and X/Open Curses is that the non-
character information (attributes and color) was separated from the
- character information which is packed in a <STRONG>chtype</STRONG> to pass to <STRONG>waddch</STRONG>.
+ character information which is packed in a <B>chtype</B> to pass to <B>waddch</B>.
- In this implementation, <STRONG>chtype</STRONG> holds an eight-bit character. But
+ In this implementation, <B>chtype</B> holds an eight-bit character. But
ncurses allows multibyte characters to be passed in a succession of
- calls to <STRONG>waddch</STRONG>. The other implementations do not do this; a call to
- <STRONG>waddch</STRONG> passes exactly one character which may be rendered as one or
+ calls to <B>waddch</B>. The other implementations do not do this; a call to
+ <B>waddch</B> passes exactly one character which may be rendered as one or
more cells on the screen depending on whether it is printable.
Depending on the locale settings, ncurses will inspect the byte passed
- in each call to <STRONG>waddch</STRONG>, and check if the latest call will continue a
- multibyte sequence. When a character is <EM>complete</EM>, ncurses displays the
+ in each call to <B>waddch</B>, and check if the latest call will continue a
+ multibyte sequence. When a character is <I>complete</I>, ncurses displays the
character and moves to the next position in the screen.
If the calling application interrupts the succession of bytes in a
- multibyte character by moving the current location (e.g., using <STRONG>wmove</STRONG>),
+ multibyte character by moving the current location (e.g., using <B>wmove</B>),
ncurses discards the partially built character, starting over again.
For portability to other implementations, do not rely upon this
behavior:
- <STRONG>o</STRONG> check if a character can be represented as a single byte in the
- current locale before attempting call <STRONG>waddch</STRONG>, and
+ <B>o</B> check if a character can be represented as a single byte in the
+ current locale before attempting call <B>waddch</B>, and
- <STRONG>o</STRONG> call <STRONG>wadd_wch</STRONG> for characters which cannot be handled by <STRONG>waddch</STRONG>.
+ <B>o</B> call <B>wadd_wch</B> for characters which cannot be handled by <B>waddch</B>.
</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
- The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of
- curses, but is not part of X/Open curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> for
+ The <B>TABSIZE</B> variable is implemented in SVr4 and other versions of
+ curses, but is not part of X/Open curses (see <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B> for
more details).
- If <EM>ch</EM> is a carriage return, the cursor is moved to the beginning of the
+ If <I>ch</I> is a carriage return, the cursor is moved to the beginning of the
current row of the window. This is true of other implementations, but
is not documented.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>,
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>, <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>,
+ <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>putc(3)</B>.
Comparable functions in the wide-character (ncursesw) library are
- described in <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>.
+ described in <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>.
- <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addchstr 3x</TITLE>
+<TITLE>curs_addchstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addchstr 3x</H1>
+<H1 class="no-header">curs_addchstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+<B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B> <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addchstr</STRONG>, <STRONG>addchnstr</STRONG>, <STRONG>waddchstr</STRONG>, <STRONG>waddchnstr</STRONG>, <STRONG>mvaddchstr</STRONG>, <STRONG>mvaddchnstr</STRONG>,
- <STRONG>mvwaddchstr</STRONG>, <STRONG>mvwaddchnstr</STRONG> - add a string of characters (and attributes)
- to a <STRONG>curses</STRONG> window
+ <B>addchstr</B>, <B>addchnstr</B>, <B>waddchstr</B>, <B>waddchnstr</B>, <B>mvaddchstr</B>, <B>mvaddchnstr</B>,
+ <B>mvwaddchstr</B>, <B>mvwaddchnstr</B> - add a string of characters (and attributes)
+ to a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>addchstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>addchnstr(const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>addchstr(const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>addchnstr(const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>waddchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>waddchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvaddchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvaddchstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>mvaddchnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwaddchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>mvwaddchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions copy the (null-terminated) <EM>chstr</EM> array into the window
+ These functions copy the (null-terminated) <I>chstr</I> array into the window
image structure starting at the current cursor position. The four
- functions with <EM>n</EM> as the last argument copy at most <EM>n</EM> elements, but no
- more than will fit on the line. If <STRONG>n</STRONG>=<STRONG>-1</STRONG> then the whole array is
+ functions with <I>n</I> as the last argument copy at most <I>n</I> elements, but no
+ more than will fit on the line. If <B>n</B>=<B>-1</B> then the whole array is
copied, to the maximum number of characters that will fit on the line.
- The window cursor is <EM>not</EM> advanced. These functions work faster than
- <STRONG>waddnstr</STRONG>. On the other hand:
+ The window cursor is <I>not</I> advanced. These functions work faster than
+ <B>waddnstr</B>. On the other hand:
- <STRONG>o</STRONG> they do not perform checking (such as for the newline, backspace,
+ <B>o</B> they do not perform checking (such as for the newline, backspace,
or carriage return characters),
- <STRONG>o</STRONG> they do not advance the current cursor position,
+ <B>o</B> they do not advance the current cursor position,
- <STRONG>o</STRONG> they do not expand other control characters to ^-escapes, and
+ <B>o</B> they do not expand other control characters to ^-escapes, and
- <STRONG>o</STRONG> they truncate the string if it crosses the right margin, rather
+ <B>o</B> they truncate the string if it crosses the right margin, rather
than wrapping it around to the new line.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ All functions return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
X/Open does not define any error conditions. This implementation re-
turns an error if the window pointer is null.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All functions except <STRONG>waddchnstr</STRONG> may be macros.
+ All functions except <B>waddchnstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>.
Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>.
+ scribed in <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>.
- <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 1998-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addstr 3x</TITLE>
+<TITLE>curs_addstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addstr 3x</H1>
+<H1 class="no-header">curs_addstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+<B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B> <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addstr</STRONG>, <STRONG>addnstr</STRONG>, <STRONG>waddstr</STRONG>, <STRONG>waddnstr</STRONG>, <STRONG>mvaddstr</STRONG>, <STRONG>mvaddnstr</STRONG>, <STRONG>mvwaddstr</STRONG>,
- <STRONG>mvwaddnstr</STRONG> - add a string of characters to a <STRONG>curses</STRONG> window and advance
+ <B>addstr</B>, <B>addnstr</B>, <B>waddstr</B>, <B>waddnstr</B>, <B>mvaddstr</B>, <B>mvaddnstr</B>, <B>mvwaddstr</B>,
+ <B>mvwaddnstr</B> - add a string of characters to a <B>curses</B> window and advance
cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>addstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>addnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>addstr(const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>addnstr(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>waddstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>waddnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvaddstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str,</EM> <EM>int</EM> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvaddstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvaddnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwaddstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvwaddnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str,</I> <I>int</I> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions write the (null-terminated) character string <EM>str</EM> on the
- given window. It is similar to calling <STRONG>waddch</STRONG> once for each byte in
+ These functions write the (null-terminated) character string <I>str</I> on the
+ given window. It is similar to calling <B>waddch</B> once for each byte in
the string.
- The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ The <I>mv</I> functions perform cursor movement once, before writing any char-
acters. Thereafter, the cursor is advanced as a side-effect of writing
to the window.
- The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> bytes,
- or until a terminating null is reached. If <EM>n</EM> is -1, then the entire
+ The four functions with <I>n</I> as the last argument write at most <I>n</I> bytes,
+ or until a terminating null is reached. If <I>n</I> is -1, then the entire
string will be added.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ All functions return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
X/Open does not define any error conditions. This implementation re-
turns an error
- <STRONG>o</STRONG> if the window pointer is null or
+ <B>o</B> if the window pointer is null or
- <STRONG>o</STRONG> if the string pointer is null or
+ <B>o</B> if the string pointer is null or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>waddch</STRONG> return an error.
+ <B>o</B> if the corresponding calls to <B>waddch</B> return an error.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null. If an error is returned by the <STRONG>wmove</STRONG>, no
+ <B>wmove</B>, and return an error if the position is outside the window, or if
+ the window pointer is null. If an error is returned by the <B>wmove</B>, no
characters are added to the window.
- If an error is returned by <STRONG>waddch</STRONG> (e.g., because the window is not
+ If an error is returned by <B>waddch</B> (e.g., because the window is not
large enough, or an illegal byte sequence was detected) only part of
the string may be added. Aside from that, there is a special case in
- <STRONG>waddch</STRONG> where an error may be returned after successfully writing a
- character to the lower-right corner of a window when <STRONG>scrollok</STRONG> is dis-
+ <B>waddch</B> where an error may be returned after successfully writing a
+ character to the lower-right corner of a window when <B>scrollok</B> is dis-
abled.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All of these functions except <STRONG>waddnstr</STRONG> may be macros.
+ All of these functions except <B>waddnstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>.
- <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addwstr 3x</TITLE>
+<TITLE>curs_addwstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addwstr 3x</H1>
+<H1 class="no-header">curs_addwstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+<B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B> <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>addwstr</STRONG>, <STRONG>addnwstr</STRONG>, <STRONG>waddwstr</STRONG>, <STRONG>waddnwstr</STRONG>, <STRONG>mvaddwstr</STRONG>, <STRONG>mvaddnwstr</STRONG>,
- <STRONG>mvwaddwstr</STRONG>, <STRONG>mvwaddnwstr</STRONG> - add a string of wide characters to a <STRONG>curses</STRONG>
+ <B>addwstr</B>, <B>addnwstr</B>, <B>waddwstr</B>, <B>waddnwstr</B>, <B>mvaddwstr</B>, <B>mvaddnwstr</B>,
+ <B>mvwaddwstr</B>, <B>mvwaddnwstr</B> - add a string of wide characters to a <B>curses</B>
window and advance cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>addwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>addnwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>waddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>addwstr(const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>addnwstr(const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>waddwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>waddnwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvaddwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvaddnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwaddnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvaddwstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvaddnwstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwaddwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvwaddnwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions write the characters of the (null-terminated) <STRONG>wchar_t</STRONG>
- character string <EM>wstr</EM> on the given window. It is similar to construct-
- ing a <STRONG>cchar_t</STRONG> for each wchar_t in the string, then calling <STRONG>wadd_wch</STRONG> for
- the resulting <STRONG>cchar_t</STRONG>.
+ These functions write the characters of the (null-terminated) <B>wchar_t</B>
+ character string <I>wstr</I> on the given window. It is similar to construct-
+ ing a <B>cchar_t</B> for each wchar_t in the string, then calling <B>wadd_wch</B> for
+ the resulting <B>cchar_t</B>.
- The <EM>mv</EM> functions perform cursor movement once, before writing any char-
+ The <I>mv</I> functions perform cursor movement once, before writing any char-
acters. Thereafter, the cursor is advanced as a side-effect of writing
to the window.
- The four functions with <EM>n</EM> as the last argument write at most <EM>n</EM> <STRONG>wchar_t</STRONG>
- characters, or until a terminating null is reached. If <EM>n</EM> is -1, then
+ The four functions with <I>n</I> as the last argument write at most <I>n</I> <B>wchar_t</B>
+ characters, or until a terminating null is reached. If <I>n</I> is -1, then
the entire string will be added.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ All functions return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
X/Open does not define any error conditions. This implementation re-
turns an error
- <STRONG>o</STRONG> if the window pointer is null or
+ <B>o</B> if the window pointer is null or
- <STRONG>o</STRONG> if the string pointer is null or
+ <B>o</B> if the string pointer is null or
- <STRONG>o</STRONG> if the corresponding calls to <STRONG>wadd_wch</STRONG> return an error.
+ <B>o</B> if the corresponding calls to <B>wadd_wch</B> return an error.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All of these functions except <STRONG>waddnwstr</STRONG> may be macros.
+ All of these functions except <B>waddnwstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
- <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_attr 3x</TITLE>
+<TITLE>curs_attr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x</H1>
+<H1 class="no-header">curs_attr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+<B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B> <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>attr_get</STRONG>, <STRONG>wattr_get</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_set</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>attr_on</STRONG>,
- <STRONG>wattr_on</STRONG>, <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>chgat</STRONG>,
- <STRONG>wchgat</STRONG>, <STRONG>mvchgat</STRONG>, <STRONG>mvwchgat</STRONG>, <STRONG>color_set</STRONG>, <STRONG>wcolor_set</STRONG>, <STRONG>standend</STRONG>, <STRONG>wstandend</STRONG>,
- <STRONG>standout</STRONG>, <STRONG>wstandout</STRONG> - <STRONG>curses</STRONG> character and window attribute control
+ <B>attr_get</B>, <B>wattr_get</B>, <B>attr_set</B>, <B>wattr_set</B>, <B>attr_off</B>, <B>wattr_off</B>, <B>attr_on</B>,
+ <B>wattr_on</B>, <B>attroff</B>, <B>wattroff</B>, <B>attron</B>, <B>wattron</B>, <B>attrset</B>, <B>wattrset</B>, <B>chgat</B>,
+ <B>wchgat</B>, <B>mvchgat</B>, <B>mvwchgat</B>, <B>color_set</B>, <B>wcolor_set</B>, <B>standend</B>, <B>wstandend</B>,
+ <B>standout</B>, <B>wstandout</B> - <B>curses</B> character and window attribute control
routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
-
- <STRONG>int</STRONG> <STRONG>attr_get(attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_get(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_set(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>attr_off(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_off(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattr_on(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>attroff(int</STRONG> <EM>attrs);</EM>
- <STRONG>int</STRONG> <STRONG>wattroff(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>attron(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattron(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>attrset(int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wattrset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>chgat(int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvchgat(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwchgat(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>int</EM> <EM>y,</EM> <EM>int</EM> <EM>x</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>n,</EM> <STRONG>attr_t</STRONG> <EM>attr</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>color_set(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wcolor_set(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts);</EM>
-
- <STRONG>int</STRONG> <STRONG>standend(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandend(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>standout(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wstandout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+
+ <B>int</B> <B>attr_get(attr_t</B> <B>*</B><I>attrs</I><B>,</B> <B>short</B> <B>*</B><I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>wattr_get(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <B>*</B><I>attrs</I><B>,</B> <B>short</B> <B>*</B><I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>attr_set(attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>wattr_set(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+
+ <B>int</B> <B>attr_off(attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>wattr_off(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>attr_on(attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>wattr_on(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+
+ <B>int</B> <B>attroff(int</B> <I>attrs);</I>
+ <B>int</B> <B>wattroff(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>attron(int</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>wattron(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>attrset(int</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>wattrset(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>attrs</I><B>);</B>
+
+ <B>int</B> <B>chgat(int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>wchgat(WINDOW</B> <B>*</B><I>win</I><B>,</B>
+ <B>int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>mvchgat(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B>
+ <B>int</B> <I>n</I><B>,</B> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>mvwchgat(WINDOW</B> <B>*</B><I>win,</I> <I>int</I> <I>y,</I> <I>int</I> <I>x</I><B>,</B>
+ <B>int</B> <I>n,</I> <B>attr_t</B> <I>attr</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
+
+ <B>int</B> <B>color_set(short</B> <I>pair</I><B>,</B> <B>void*</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>wcolor_set(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void*</B> <I>opts);</I>
+
+ <B>int</B> <B>standend(void);</B>
+ <B>int</B> <B>wstandend(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>standout(void);</B>
+ <B>int</B> <B>wstandout(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These routines manipulate the current attributes of the named window,
which then apply to all characters that are written into the window
- with <STRONG>waddch</STRONG>, <STRONG>waddstr</STRONG> and <STRONG>wprintw</STRONG>. Attributes are a property of the
+ with <B>waddch</B>, <B>waddstr</B> and <B>wprintw</B>. Attributes are a property of the
character, and move with the character through any scrolling and in-
sert/delete line/character operations. To the extent possible, they
are displayed as appropriate modifications to the graphic rendition of
characters put on the screen.
These routines do not affect the attributes used when erasing portions
- of the window. See <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> for functions which modify the at-
+ of the window. See <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B> for functions which modify the at-
tributes used for erasing and clearing.
- Routines which do not have a <STRONG>WINDOW*</STRONG> parameter apply to <STRONG>stdscr</STRONG>. For
- example, <STRONG>attr_set</STRONG> is the <STRONG>stdscr</STRONG> variant of <STRONG>wattr_set</STRONG>.
+ Routines which do not have a <B>WINDOW*</B> parameter apply to <B>stdscr</B>. For
+ example, <B>attr_set</B> is the <B>stdscr</B> variant of <B>wattr_set</B>.
</PRE><H3><a name="h3-Window-attributes">Window attributes</a></H3><PRE>
There are two sets of functions:
- <STRONG>o</STRONG> functions for manipulating the window attributes and color: <STRONG>wat-</STRONG>
- <STRONG>tr_set</STRONG> and <STRONG>wattr_get</STRONG>.
+ <B>o</B> functions for manipulating the window attributes and color: <B>wat-</B>
+ <B>tr_set</B> and <B>wattr_get</B>.
- <STRONG>o</STRONG> functions for manipulating only the window attributes (not color):
- <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG>.
+ <B>o</B> functions for manipulating only the window attributes (not color):
+ <B>wattr_on</B> and <B>wattr_off</B>.
- The <STRONG>wattr_set</STRONG> function sets the current attributes of the given window
- to <EM>attrs</EM>, with color specified by <EM>pair</EM>.
+ The <B>wattr_set</B> function sets the current attributes of the given window
+ to <I>attrs</I>, with color specified by <I>pair</I>.
- Use <STRONG>wattr_get</STRONG> to retrieve attributes for the given window.
+ Use <B>wattr_get</B> to retrieve attributes for the given window.
- Use <STRONG>attr_on</STRONG> and <STRONG>wattr_on</STRONG> to turn on window attributes, i.e., values
- OR'd together in <EM>attr</EM>, without affecting other attributes. Use <STRONG>at-</STRONG>
- <STRONG>tr_off</STRONG> and <STRONG>wattr_off</STRONG> to turn off window attributes, again values OR'd
- together in <EM>attr</EM>, without affecting other attributes.
+ Use <B>attr_on</B> and <B>wattr_on</B> to turn on window attributes, i.e., values
+ OR'd together in <I>attr</I>, without affecting other attributes. Use <B>at-</B>
+ <B>tr_off</B> and <B>wattr_off</B> to turn off window attributes, again values OR'd
+ together in <I>attr</I>, without affecting other attributes.
</PRE><H3><a name="h3-Legacy-window-attributes">Legacy window attributes</a></H3><PRE>
- The X/Open window attribute routines which <EM>set</EM> or <EM>get</EM>, turn <EM>on</EM> or <EM>off</EM>
+ The X/Open window attribute routines which <I>set</I> or <I>get</I>, turn <I>on</I> or <I>off</I>
are extensions of older routines which assume that color pairs are OR'd
into the attribute parameter. These newer routines use similar names,
- because X/Open simply added an underscore (<STRONG>_</STRONG>) for the newer names.
+ because X/Open simply added an underscore (<B>_</B>) for the newer names.
- The <STRONG>int</STRONG> datatype used in the legacy routines is treated as if it is the
- same size as <STRONG>chtype</STRONG> (used by <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>). It holds the common video at-
+ The <B>int</B> datatype used in the legacy routines is treated as if it is the
+ same size as <B>chtype</B> (used by <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>). It holds the common video at-
tributes (such as bold, reverse), as well as a few bits for color.
- Those bits correspond to the <STRONG>A_COLOR</STRONG> symbol. The <STRONG>COLOR_PAIR</STRONG> macro pro-
+ Those bits correspond to the <B>A_COLOR</B> symbol. The <B>COLOR_PAIR</B> macro pro-
vides a value which can be OR'd into the attribute parameter. For ex-
- ample, as long as that value fits into the <STRONG>A_COLOR</STRONG> mask, then these
+ ample, as long as that value fits into the <B>A_COLOR</B> mask, then these
calls produce similar results:
- attrset(A_BOLD | COLOR_PAIR(<EM>pair</EM>));
- attr_set(A_BOLD, <EM>pair</EM>, NULL);
+ attrset(A_BOLD | COLOR_PAIR(<I>pair</I>));
+ attr_set(A_BOLD, <I>pair</I>, NULL);
- However, if the value does not fit, then the <STRONG>COLOR_PAIR</STRONG> macro uses only
- the bits that fit. For example, because in ncurses <STRONG>A_COLOR</STRONG> has eight
- (8) bits, then <STRONG>COLOR_PAIR(</STRONG><EM>259</EM><STRONG>)</STRONG> is 4 (i.e., 259 is 4 more than the limit
+ However, if the value does not fit, then the <B>COLOR_PAIR</B> macro uses only
+ the bits that fit. For example, because in ncurses <B>A_COLOR</B> has eight
+ (8) bits, then <B>COLOR_PAIR(</B><I>259</I><B>)</B> is 4 (i.e., 259 is 4 more than the limit
255).
- The <STRONG>PAIR_NUMBER</STRONG> macro extracts a pair number from an <STRONG>int</STRONG> (or <STRONG>chtype</STRONG>).
- For example, the <EM>input</EM> and <EM>output</EM> values in these statements would be
+ The <B>PAIR_NUMBER</B> macro extracts a pair number from an <B>int</B> (or <B>chtype</B>).
+ For example, the <I>input</I> and <I>output</I> values in these statements would be
the same:
- int value = A_BOLD | COLOR_PAIR(<EM>input</EM>);
- int <EM>output</EM> = PAIR_NUMBER(value);
+ int value = A_BOLD | COLOR_PAIR(<I>input</I>);
+ int <I>output</I> = PAIR_NUMBER(value);
- The <STRONG>attrset</STRONG> routine is a legacy feature predating SVr4 curses but kept
+ The <B>attrset</B> routine is a legacy feature predating SVr4 curses but kept
in X/Open Curses for the same reason that SVr4 curses kept it: compati-
bility.
- The remaining <STRONG>attr</STRONG>* functions operate exactly like the corresponding
- <STRONG>attr_</STRONG>* functions, except that they take arguments of type <STRONG>int</STRONG> rather
- than <STRONG>attr_t</STRONG>.
+ The remaining <B>attr</B>* functions operate exactly like the corresponding
+ <B>attr_</B>* functions, except that they take arguments of type <B>int</B> rather
+ than <B>attr_t</B>.
- There is no corresponding <STRONG>attrget</STRONG> function as such in X/Open Curses,
- although ncurses provides <STRONG>getattrs</STRONG> (see <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>).
+ There is no corresponding <B>attrget</B> function as such in X/Open Curses,
+ although ncurses provides <B>getattrs</B> (see <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>).
</PRE><H3><a name="h3-Change-character-rendition">Change character rendition</a></H3><PRE>
- The routine <STRONG>chgat</STRONG> changes the attributes of a given number of charac-
- ters starting at the current cursor location of <STRONG>stdscr</STRONG>. It does not
+ The routine <B>chgat</B> changes the attributes of a given number of charac-
+ ters starting at the current cursor location of <B>stdscr</B>. It does not
update the cursor and does not perform wrapping. A character count of
-1 or greater than the remaining window width means to change at-
- tributes all the way to the end of the current line. The <STRONG>wchgat</STRONG> func-
- tion generalizes this to any window; the <STRONG>mvwchgat</STRONG> function does a cur-
+ tributes all the way to the end of the current line. The <B>wchgat</B> func-
+ tion generalizes this to any window; the <B>mvwchgat</B> function does a cur-
sor move before acting.
- In these functions, the color <EM>pair</EM> argument is a color-pair index (as
- in the first argument of <STRONG>init_pair</STRONG>, see <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>).
+ In these functions, the color <I>pair</I> argument is a color-pair index (as
+ in the first argument of <B>init_pair</B>, see <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>).
</PRE><H3><a name="h3-Change-window-color">Change window color</a></H3><PRE>
- The routine <STRONG>color_set</STRONG> sets the current color of the given window to the
- foreground/background combination described by the color <EM>pair</EM> parame-
+ The routine <B>color_set</B> sets the current color of the given window to the
+ foreground/background combination described by the color <I>pair</I> parame-
ter.
</PRE><H3><a name="h3-Standout">Standout</a></H3><PRE>
- The routine <STRONG>standout</STRONG> is the same as <STRONG>attron(A_STANDOUT)</STRONG>. The routine
- <STRONG>standend</STRONG> is the same as <STRONG>attrset(A_NORMAL)</STRONG> or <STRONG>attrset(0)</STRONG>, that is, it
+ The routine <B>standout</B> is the same as <B>attron(A_STANDOUT)</B>. The routine
+ <B>standend</B> is the same as <B>attrset(A_NORMAL)</B> or <B>attrset(0)</B>, that is, it
turns off all attributes.
X/Open does not mark these "restricted", because
- <STRONG>o</STRONG> they have well established legacy use, and
+ <B>o</B> they have well established legacy use, and
- <STRONG>o</STRONG> there is no ambiguity about the way the attributes might be com-
+ <B>o</B> there is no ambiguity about the way the attributes might be com-
bined with a color pair.
</PRE><H2><a name="h2-VIDEO-ATTRIBUTES">VIDEO ATTRIBUTES</a></H2><PRE>
- The following video attributes, defined in <STRONG><curses.h></STRONG>, can be passed to
- the routines <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, and <STRONG>attrset</STRONG>, or OR'd with the characters
- passed to <STRONG>addch</STRONG> (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>).
+ The following video attributes, defined in <B><curses.h></B>, can be passed to
+ the routines <B>attron</B>, <B>attroff</B>, and <B>attrset</B>, or OR'd with the characters
+ passed to <B>addch</B> (see <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>).
- <EM>Name</EM> <EM>Description</EM>
+ <I>Name</I> <I>Description</I>
-----------------------------------------------------------------
- <STRONG>A_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>A_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>A_UNDERLINE</STRONG> Underlining
- <STRONG>A_REVERSE</STRONG> Reverse video
- <STRONG>A_BLINK</STRONG> Blinking
- <STRONG>A_DIM</STRONG> Half bright
- <STRONG>A_BOLD</STRONG> Extra bright or bold
- <STRONG>A_PROTECT</STRONG> Protected mode
- <STRONG>A_INVIS</STRONG> Invisible or blank mode
- <STRONG>A_ALTCHARSET</STRONG> Alternate character set
- <STRONG>A_ITALIC</STRONG> Italics (non-X/Open extension)
- <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract a character
- <STRONG>A_COLOR</STRONG> Bit-mask to extract a color (legacy routines)
-
- These video attributes are supported by <STRONG>attr_on</STRONG> and related functions
- (which also support the attributes recognized by <STRONG>attron</STRONG>, etc.):
-
- <EM>Name</EM> <EM>Description</EM>
+ <B>A_NORMAL</B> Normal display (no highlight)
+ <B>A_STANDOUT</B> Best highlighting mode of the terminal.
+ <B>A_UNDERLINE</B> Underlining
+ <B>A_REVERSE</B> Reverse video
+ <B>A_BLINK</B> Blinking
+ <B>A_DIM</B> Half bright
+ <B>A_BOLD</B> Extra bright or bold
+ <B>A_PROTECT</B> Protected mode
+ <B>A_INVIS</B> Invisible or blank mode
+ <B>A_ALTCHARSET</B> Alternate character set
+ <B>A_ITALIC</B> Italics (non-X/Open extension)
+ <B>A_CHARTEXT</B> Bit-mask to extract a character
+ <B>A_COLOR</B> Bit-mask to extract a color (legacy routines)
+
+ These video attributes are supported by <B>attr_on</B> and related functions
+ (which also support the attributes recognized by <B>attron</B>, etc.):
+
+ <I>Name</I> <I>Description</I>
-----------------------------------------
- <STRONG>WA_HORIZONTAL</STRONG> Horizontal highlight
- <STRONG>WA_LEFT</STRONG> Left highlight
- <STRONG>WA_LOW</STRONG> Low highlight
- <STRONG>WA_RIGHT</STRONG> Right highlight
- <STRONG>WA_TOP</STRONG> Top highlight
- <STRONG>WA_VERTICAL</STRONG> Vertical highlight
+ <B>WA_HORIZONTAL</B> Horizontal highlight
+ <B>WA_LEFT</B> Left highlight
+ <B>WA_LOW</B> Low highlight
+ <B>WA_RIGHT</B> Right highlight
+ <B>WA_TOP</B> Top highlight
+ <B>WA_VERTICAL</B> Vertical highlight
The return values of many of these routines are not meaningful (they
are implemented as macro-expanded assignments and simply return their
argument). The SVr4 manual page claims (falsely) that these routines
- always return <STRONG>1</STRONG>.
+ always return <B>1</B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
These functions may be macros:
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
- and <STRONG>standout</STRONG>.
+ <B>attroff</B>, <B>wattroff</B>, <B>attron</B>, <B>wattron</B>, <B>attrset</B>, <B>wattrset</B>, <B>standend</B>
+ and <B>standout</B>.
Color pair values can only be OR'd with attributes if the pair number
- is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
+ is less than 256. The alternate functions such as <B>color_set</B> can pass a
color pair value directly. However, ncurses ABI 4 and 5 simply OR this
value within the alternate functions. You must use ncurses ABI 6 to
support more than 256 color pairs.
X/Open Curses is largely based on SVr4 curses, adding support for
"wide-characters" (not specific to Unicode). Some of the X/Open dif-
ferences from SVr4 curses address the way video attributes can be ap-
- plied to wide-characters. But aside from that, <STRONG>attrset</STRONG> and <STRONG>attr_set</STRONG>
+ plied to wide-characters. But aside from that, <B>attrset</B> and <B>attr_set</B>
are similar. SVr4 curses provided the basic features for manipulating
video attributes. However, earlier versions of curses provided a part
of these features.
As seen in 2.8BSD, curses assumed 7-bit characters, using the eighth
- bit of a byte to represent the <EM>standout</EM> feature (often implemented as
+ bit of a byte to represent the <I>standout</I> feature (often implemented as
bold and/or reverse video). The BSD curses library provided functions
- <STRONG>standout</STRONG> and <STRONG>standend</STRONG> which were carried along into X/Open Curses due
+ <B>standout</B> and <B>standend</B> which were carried along into X/Open Curses due
to their pervasive use in legacy applications.
Some terminals in the 1980s could support a variety of video at-
tributes, although the BSD curses library could do nothing with those.
- System V (1983) provided an improved curses library. It defined the <STRONG>A_</STRONG>
+ System V (1983) provided an improved curses library. It defined the <B>A_</B>
symbols for use by applications to manipulate the other attributes.
There are few useful references for the chronology.
- Goodheart's book <EM>UNIX</EM> <EM>Curses</EM> <EM>Explained</EM> (1991) describes SVr3 (1987),
+ Goodheart's book <I>UNIX</I> <I>Curses</I> <I>Explained</I> (1991) describes SVr3 (1987),
commenting on several functions:
- <STRONG>o</STRONG> the <STRONG>attron</STRONG>, <STRONG>attroff</STRONG>, <STRONG>attrset</STRONG> functions (and most of the functions
+ <B>o</B> the <B>attron</B>, <B>attroff</B>, <B>attrset</B> functions (and most of the functions
found in SVr4 but not in BSD curses) were introduced by System V,
- <STRONG>o</STRONG> the alternate character set feature with <STRONG>A_ALTCHARSET</STRONG> was added in
- SVr2 and improved in SVr3 (by adding <STRONG>acs_map[]</STRONG>),
+ <B>o</B> the alternate character set feature with <B>A_ALTCHARSET</B> was added in
+ SVr2 and improved in SVr3 (by adding <B>acs_map[]</B>),
- <STRONG>o</STRONG> <STRONG>start_color</STRONG> and related color-functions were introduced by System
+ <B>o</B> <B>start_color</B> and related color-functions were introduced by System
V.3.2,
- <STRONG>o</STRONG> pads, soft-keys were added in SVr3, and
+ <B>o</B> pads, soft-keys were added in SVr3, and
- Goodheart did not mention the background character or the <STRONG>cchar_t</STRONG> type.
- Those are respectively SVr4 and X/Open features. He did mention the <STRONG>A_</STRONG>
+ Goodheart did not mention the background character or the <B>cchar_t</B> type.
+ Those are respectively SVr4 and X/Open features. He did mention the <B>A_</B>
constants, but did not indicate their values. Those were not the same
in different systems, even for those marked as System V.
Different Unix systems used different sizes for the bit-fields in
- <STRONG>chtype</STRONG> for <EM>characters</EM> and <EM>colors</EM>, and took into account the different
+ <B>chtype</B> for <I>characters</I> and <I>colors</I>, and took into account the different
integer sizes (32-bit versus 64-bit).
- This table showing the number of bits for <STRONG>A_COLOR</STRONG> and <STRONG>A_CHARTEXT</STRONG> was
+ This table showing the number of bits for <B>A_COLOR</B> and <B>A_CHARTEXT</B> was
gleaned from the curses header files for various operating systems and
architectures. The inferred architecture and notes reflect the format
and size of the defined constants as well as clues such as the alter-
nate character set implementation. A 32-bit library can be used on a
64-bit system, but not necessarily the reverse.
- <EM>Year</EM> <EM>System</EM> <EM>Arch</EM> <EM>Color</EM> <EM>Char</EM> <EM>Notes</EM>
+ <I>Year</I> <I>System</I> <I>Arch</I> <I>Color</I> <I>Char</I> <I>Notes</I>
----------------------------------------------------------------
1992 Solaris 5.2 32 6 17 SVr4 curses
1992 HPUX 9 32 no 8 SVr2 curses
1996 OSF/1 r4 32 6 16 X/Open curses
1997 HP-UX 11.00 32 6 8 X/Open curses
- 2000 U/Win 32/64 7/31 16 uses <STRONG>chtype</STRONG>
+ 2000 U/Win 32/64 7/31 16 uses <B>chtype</B>
Notes:
Regarding HP-UX,
- <STRONG>o</STRONG> HP-UX 10.20 (1996) added support for 64-bit PA-RISC processors
+ <B>o</B> HP-UX 10.20 (1996) added support for 64-bit PA-RISC processors
in 1996.
- <STRONG>o</STRONG> HP-UX 10.30 (1997) marked "curses_colr" obsolete. That version
+ <B>o</B> HP-UX 10.30 (1997) marked "curses_colr" obsolete. That version
of curses was dropped with HP-UX 11.30 in 2006.
Regarding OSF/1 (and Tru64),
- <STRONG>o</STRONG> These used 64-bit hardware. Like ncurses, the OSF/1 curses in-
+ <B>o</B> These used 64-bit hardware. Like ncurses, the OSF/1 curses in-
terface is not customized for 32-bit and 64-bit versions.
- <STRONG>o</STRONG> Unlike other systems which evolved from AT&T code, OSF/1 provid-
+ <B>o</B> Unlike other systems which evolved from AT&T code, OSF/1 provid-
ed a new implementation for X/Open curses.
Regarding Solaris,
- <STRONG>o</STRONG> The initial release of Solaris was in 1992.
+ <B>o</B> The initial release of Solaris was in 1992.
- <STRONG>o</STRONG> The <EM>xpg4</EM> (X/Open) curses was developed by MKS from 1990 to 1995.
+ <B>o</B> The <I>xpg4</I> (X/Open) curses was developed by MKS from 1990 to 1995.
Sun's copyright began in 1996.
- <STRONG>o</STRONG> Sun updated the X/Open curses interface after 64-bit support was
+ <B>o</B> Sun updated the X/Open curses interface after 64-bit support was
introduced in 1997, but did not modify the SVr4 curses inter-
face.
Regarding U/Win,
- <STRONG>o</STRONG> Development of the curses library began in 1991, stopped in
+ <B>o</B> Development of the curses library began in 1991, stopped in
2000.
- <STRONG>o</STRONG> Color support was added in 1998.
+ <B>o</B> Color support was added in 1998.
- <STRONG>o</STRONG> The library uses only <STRONG>chtype</STRONG> (no <STRONG>cchar_t</STRONG>).
+ <B>o</B> The library uses only <B>chtype</B> (no <B>cchar_t</B>).
Once X/Open curses was adopted in the mid-1990s, the constraint of a
- 32-bit interface with many colors and wide-characters for <STRONG>chtype</STRONG> became
- a moot point. The <STRONG>cchar_t</STRONG> structure (whose size and members are not
+ 32-bit interface with many colors and wide-characters for <B>chtype</B> became
+ a moot point. The <B>cchar_t</B> structure (whose size and members are not
specified in X/Open Curses) could be extended as needed.
Other interfaces are rarely used now:
- <STRONG>o</STRONG> BSD curses was improved slightly in 1993/1994 using Keith Bostic's
- modification to make the library 8-bit clean for <STRONG>nvi</STRONG>. He moved
- <EM>standout</EM> attribute to a structure member.
+ <B>o</B> BSD curses was improved slightly in 1993/1994 using Keith Bostic's
+ modification to make the library 8-bit clean for <B>nvi</B>. He moved
+ <I>standout</I> attribute to a structure member.
The resulting 4.4BSD curses was replaced by ncurses over the next
ten years.
- <STRONG>o</STRONG> U/Win is rarely used now.
+ <B>o</B> U/Win is rarely used now.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
- have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>) capa-
+ This implementation provides the <B>A_ITALIC</B> attribute for terminals which
+ have the <B>enter_italics_mode</B> (<B>sitm</B>) and <B>exit_italics_mode</B> (<B>ritm</B>) capa-
bilities. Italics are not mentioned in X/Open Curses. Unlike the oth-
- er video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG> capa-
- bilities. This implementation makes the assumption that <STRONG>exit_attri-</STRONG>
- <STRONG>bute_mode</STRONG> may also reset italics.
+ er video attributes, <B>A_ITALIC</B> is unrelated to the <B>set_attributes</B> capa-
+ bilities. This implementation makes the assumption that <B>exit_attri-</B>
+ <B>bute_mode</B> may also reset italics.
- Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ Each of the functions added by XSI Curses has a parameter <I>opts</I>, which
X/Open Curses still (after more than twenty years) documents as re-
- served for future use, saying that it should be <STRONG>NULL</STRONG>. This implementa-
+ served for future use, saying that it should be <B>NULL</B>. This implementa-
tion uses that parameter in ABI 6 for the functions which have a color-
- pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
+ pair parameter to support <I>extended</I> <I>color</I> <I>pairs</I>:
- <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
- pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
+ <B>o</B> For functions which modify the color, e.g., <B>wattr_set</B>, if <I>opts</I> is
+ set it is treated as a pointer to <B>int</B>, and used to set the color
+ pair instead of the <B>short</B> <I>pair</I> parameter.
- <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
- color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the stan-
- dard pointer to <STRONG>short</STRONG> parameter.
+ <B>o</B> For functions which retrieve the color, e.g., <B>wattr_get</B>, if <I>opts</I> is
+ set it is treated as a pointer to <B>int</B>, and used to retrieve the
+ color pair as an <B>int</B> value, in addition retrieving it via the stan-
+ dard pointer to <B>short</B> parameter.
- The remaining functions which have <EM>opts</EM>, but do not manipulate color,
- e.g., <STRONG>wattr_on</STRONG> and <STRONG>wattr_off</STRONG> are not used by this implementation except
- to check that they are <STRONG>NULL</STRONG>.
+ The remaining functions which have <I>opts</I>, but do not manipulate color,
+ e.g., <B>wattr_on</B> and <B>wattr_off</B> are not used by this implementation except
+ to check that they are <B>NULL</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are supported in the XSI Curses standard, Issue 4. The
- standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
- not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
+ standard defined the dedicated type for highlights, <B>attr_t</B>, which was
+ not defined in SVr4 curses. The functions taking <B>attr_t</B> arguments were
not supported under SVr4.
Very old versions of this library did not force an update of the screen
- when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ when changing the attributes. Use <B>touchwin</B> to force the screen to
match the updated attributes.
The XSI Curses standard states that whether the traditional functions
- <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
- <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ <B>attron</B>/<B>attroff</B>/<B>attrset</B> can manipulate attributes other than <B>A_BLINK</B>,
+ <B>A_BOLD</B>, <B>A_DIM</B>, <B>A_REVERSE</B>, <B>A_STANDOUT</B>, or <B>A_UNDERLINE</B> is "unspecified".
Under this implementation as well as SVr4 curses, these functions cor-
- rectly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
- <STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
+ rectly manipulate all other highlights (specifically, <B>A_ALTCHARSET</B>,
+ <B>A_PROTECT</B>, and <B>A_INVIS</B>).
XSI Curses added these entry points:
- <STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>, <STRONG>wat-</STRONG>
- <STRONG>tr_get</STRONG>, <STRONG>wattr_set</STRONG>
+ <B>attr_get</B>, <B>attr_on</B>, <B>attr_off</B>, <B>attr_set</B>, <B>wattr_on</B>, <B>wattr_off</B>, <B>wat-</B>
+ <B>tr_get</B>, <B>wattr_set</B>
The new functions are intended to work with a new series of highlight
- macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
+ macros prefixed with <B>WA_</B>. The older macros have direct counterparts in
the newer set of names:
- <EM>Name</EM> <EM>Description</EM>
+ <I>Name</I> <I>Description</I>
------------------------------------------------------------
- <STRONG>WA_NORMAL</STRONG> Normal display (no highlight)
- <STRONG>WA_STANDOUT</STRONG> Best highlighting mode of the terminal.
- <STRONG>WA_UNDERLINE</STRONG> Underlining
- <STRONG>WA_REVERSE</STRONG> Reverse video
- <STRONG>WA_BLINK</STRONG> Blinking
- <STRONG>WA_DIM</STRONG> Half bright
- <STRONG>WA_BOLD</STRONG> Extra bright or bold
- <STRONG>WA_ALTCHARSET</STRONG> Alternate character set
+ <B>WA_NORMAL</B> Normal display (no highlight)
+ <B>WA_STANDOUT</B> Best highlighting mode of the terminal.
+ <B>WA_UNDERLINE</B> Underlining
+ <B>WA_REVERSE</B> Reverse video
+ <B>WA_BLINK</B> Blinking
+ <B>WA_DIM</B> Half bright
+ <B>WA_BOLD</B> Extra bright or bold
+ <B>WA_ALTCHARSET</B> Alternate character set
XSI curses does not assign values to these symbols, nor does it state
whether or not they are related to the similarly-named A_NORMAL, etc.:
- <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding
- <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
+ <B>o</B> The XSI curses standard specifies that each pair of corresponding
+ <B>A_</B> and <B>WA_</B>-using functions operates on the same current-highlight
information.
- <STRONG>o</STRONG> However, in some implementations, those symbols have unrelated val-
+ <B>o</B> However, in some implementations, those symbols have unrelated val-
ues.
- For example, the Solaris <EM>xpg4</EM> (X/Open) curses declares <STRONG>attr_t</STRONG> to be
- an unsigned short integer (16-bits), while <STRONG>chtype</STRONG> is a unsigned in-
- teger (32-bits). The <STRONG>WA_</STRONG> symbols in this case are different from
- the <STRONG>A_</STRONG> symbols because they are used for a smaller datatype which
- does not represent <STRONG>A_CHARTEXT</STRONG> or <STRONG>A_COLOR</STRONG>.
+ For example, the Solaris <I>xpg4</I> (X/Open) curses declares <B>attr_t</B> to be
+ an unsigned short integer (16-bits), while <B>chtype</B> is a unsigned in-
+ teger (32-bits). The <B>WA_</B> symbols in this case are different from
+ the <B>A_</B> symbols because they are used for a smaller datatype which
+ does not represent <B>A_CHARTEXT</B> or <B>A_COLOR</B>.
In this implementation (as in many others), the values happen to be
- the same because it simplifies copying information between <STRONG>chtype</STRONG>
- and <STRONG>cchar_t</STRONG> variables.
+ the same because it simplifies copying information between <B>chtype</B>
+ and <B>cchar_t</B> variables.
- The XSI standard extended conformance level adds new highlights <STRONG>A_HORI-</STRONG>
- <STRONG>ZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and corresponding
- <STRONG>WA_</STRONG> macros for each). As of August 2013, no known terminal provides
- these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
+ The XSI standard extended conformance level adds new highlights <B>A_HORI-</B>
+ <B>ZONTAL</B>, <B>A_LEFT</B>, <B>A_LOW</B>, <B>A_RIGHT</B>, <B>A_TOP</B>, <B>A_VERTICAL</B> (and corresponding
+ <B>WA_</B> macros for each). As of August 2013, no known terminal provides
+ these highlights (i.e., via the <B>sgr1</B> capability).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success, or <STRONG>ERR</STRONG> on failure.
+ All routines return the integer <B>OK</B> on success, or <B>ERR</B> on failure.
X/Open does not define any error conditions.
This implementation
- <STRONG>o</STRONG> returns an error if the window pointer is null.
+ <B>o</B> returns an error if the window pointer is null.
- <STRONG>o</STRONG> returns an error if the color pair parameter for <STRONG>wcolor_set</STRONG> is out-
+ <B>o</B> returns an error if the color pair parameter for <B>wcolor_set</B> is out-
side the range 0..COLOR_PAIRS-1.
- <STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
- used for retrieving attribute or color-pair values is <STRONG>NULL</STRONG>.
+ <B>o</B> does not return an error if either of the parameters of <B>wattr_get</B>
+ used for retrieving attribute or color-pair values is <B>NULL</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>,
- <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>, <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>,
+ <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_beep 3x</TITLE>
+<TITLE>curs_beep 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_beep 3x</H1>
+<H1 class="no-header">curs_beep 3X</H1>
<PRE>
-<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+<B><A HREF="curs_beep.3X.html">curs_beep(3X)</A></B> <B><A HREF="curs_beep.3X.html">curs_beep(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>beep</STRONG>, <STRONG>flash</STRONG> - <STRONG>curses</STRONG> bell and screen flash routines
+ <B>beep</B>, <B>flash</B> - <B>curses</B> bell and screen flash routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>beep(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>flash(void);</STRONG>
+ <B>int</B> <B>beep(void);</B>
+ <B>int</B> <B>flash(void);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>beep</STRONG> and <STRONG>flash</STRONG> routines are used to alert the terminal user. The
- routine <STRONG>beep</STRONG> sounds an audible alarm on the terminal, if possible;
- otherwise it flashes the screen (visible bell). The routine <STRONG>flash</STRONG>
+ The <B>beep</B> and <B>flash</B> routines are used to alert the terminal user. The
+ routine <B>beep</B> sounds an audible alarm on the terminal, if possible;
+ otherwise it flashes the screen (visible bell). The routine <B>flash</B>
flashes the screen, and if that is not possible, sounds the alert. If
neither alert is possible, nothing happens. Nearly all terminals have
an audible alert (bell or beep), but only some can flash the screen.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return <STRONG>OK</STRONG> if they succeed in beeping or flashing, <STRONG>ERR</STRONG>
+ These routines return <B>OK</B> if they succeed in beeping or flashing, <B>ERR</B>
otherwise.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- SVr4's beep and flash routines always returned <STRONG>OK</STRONG>, so it was not
+ SVr4's beep and flash routines always returned <B>OK</B>, so it was not
possible to tell when the beep or flash failed.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4.
- Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
+ Like SVr4, it specifies that they always return <B>OK</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ <B><A HREF="curs_beep.3X.html">curs_beep(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.31 2020/10/17 23:12:52 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.32 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgd 3x</TITLE>
+<TITLE>curs_bkgd 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgd 3x</H1>
+<H1 class="no-header">curs_bkgd 3X</H1>
<PRE>
-<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+<B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B> <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>bkgdset</STRONG>, <STRONG>wbkgdset</STRONG>, <STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, <STRONG>getbkgd</STRONG> - <STRONG>curses</STRONG> window background
+ <B>bkgdset</B>, <B>wbkgdset</B>, <B>bkgd</B>, <B>wbkgd</B>, <B>getbkgd</B> - <B>curses</B> window background
manipulation routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>void</STRONG> <STRONG>bkgdset(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wbkgdset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win,</EM> <EM>chtype</EM> <EM>ch</EM><STRONG>);</STRONG>
+ <B>void</B> <B>bkgdset(chtype</B> <I>ch</I><B>);</B>
+ <B>void</B> <B>wbkgdset(WINDOW</B> <B>*</B><I>win,</I> <I>chtype</I> <I>ch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>bkgd(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>bkgd(chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>wbkgd(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
- <STRONG>chtype</STRONG> <STRONG>getbkgd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>chtype</B> <B>getbkgd(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-bkgdset">bkgdset</a></H3><PRE>
- The <STRONG>bkgdset</STRONG> and <STRONG>wbkgdset</STRONG> routines manipulate the background of the
- named window. The window background is a <STRONG>chtype</STRONG> consisting of any
+ The <B>bkgdset</B> and <B>wbkgdset</B> routines manipulate the background of the
+ named window. The window background is a <B>chtype</B> consisting of any
combination of attributes (i.e., rendition) and a character. The
attribute part of the background is combined (OR'ed) with all non-blank
- characters that are written into the window with <STRONG>waddch</STRONG>. Both the
+ characters that are written into the window with <B>waddch</B>. Both the
character and attribute parts of the background are combined with the
blank characters. The background becomes a property of the character
and moves with the character through any scrolling and insert/delete
</PRE><H3><a name="h3-bkgd">bkgd</a></H3><PRE>
- The <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> functions set the background property of the current
+ The <B>bkgd</B> and <B>wbkgd</B> functions set the background property of the current
or specified window and then apply this setting to every character
position in that window. According to X/Open Curses, it should do
this:
- <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ <B>o</B> The rendition of every character on the screen is changed to the
new background rendition.
- <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ <B>o</B> Wherever the former background character appears, it is changed to
the new background character.
Neither X/Open Curses nor the SVr4 manual pages give details about the
- way the rendition of characters on the screen is updated when <STRONG>bkgd</STRONG> or
- <STRONG>wbkgd</STRONG> is used to change the background character.
+ way the rendition of characters on the screen is updated when <B>bkgd</B> or
+ <B>wbkgd</B> is used to change the background character.
This implementation, like SVr4 curses, does not store the background
and window attribute contributions to each cell separately. It updates
colors contained in the background. For each cell in the window,
whether or not it is blank:
- <STRONG>o</STRONG> The library first compares the <EM>character</EM>, and if it matches the
+ <B>o</B> The library first compares the <I>character</I>, and if it matches the
current character part of the background, it replaces that with the
new background character.
- <STRONG>o</STRONG> The library then checks if the cell uses color, i.e., its color
+ <B>o</B> The library then checks if the cell uses color, i.e., its color
pair value is nonzero. If not, it simply replaces the attributes
and color pair in the cell with those from the new background
character.
- <STRONG>o</STRONG> If the cell uses color, and that matches the color in the current
+ <B>o</B> If the cell uses color, and that matches the color in the current
background, the library removes attributes which may have come from
the current background and adds attributes from the new background.
It finishes by setting the cell to use the color from the new
background.
- <STRONG>o</STRONG> If the cell uses color, and that does not match the color in the
+ <B>o</B> If the cell uses color, and that does not match the color in the
current background, the library updates only the non-color
attributes, first removing those which may have come from the
current background, and then adding attributes from the new
If the background's character value is zero, a space is assumed.
If the terminal does not support color, or if color has not been
- started with <STRONG>start_color</STRONG>, the new background character's color
+ started with <B>start_color</B>, the new background character's color
attribute will be ignored.
</PRE><H3><a name="h3-getbkgd">getbkgd</a></H3><PRE>
- The <STRONG>getbkgd</STRONG> function returns the given window's current background
+ The <B>getbkgd</B> function returns the given window's current background
character/attribute pair.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. It
- specifies that <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return <STRONG>ERR</STRONG> on failure, but gives no
+ specifies that <B>bkgd</B> and <B>wbkgd</B> return <B>ERR</B> on failure, but gives no
failure conditions.
- The routines <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> return the integer <STRONG>OK</STRONG>, unless the library
+ The routines <B>bkgd</B> and <B>wbkgd</B> return the integer <B>OK</B>, unless the library
has not been initialized.
- In contrast, the SVr4.0 manual says <STRONG>bkgd</STRONG> and <STRONG>wbkgd</STRONG> may return <STRONG>OK</STRONG> "or a
- non-negative integer if <STRONG>immedok</STRONG> is set", which refers to the return
- value from <STRONG>wrefresh</STRONG> (used to implement the immediate repainting). The
- SVr4 curses <STRONG>wrefresh</STRONG> returns the number of characters written to the
+ In contrast, the SVr4.0 manual says <B>bkgd</B> and <B>wbkgd</B> may return <B>OK</B> "or a
+ non-negative integer if <B>immedok</B> is set", which refers to the return
+ value from <B>wrefresh</B> (used to implement the immediate repainting). The
+ SVr4 curses <B>wrefresh</B> returns the number of characters written to the
screen during the refresh. This implementation does not do that.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>bkgdset</STRONG> and <STRONG>bkgd</STRONG> may be macros.
+ Note that <B>bkgdset</B> and <B>bkgd</B> may be macros.
X/Open Curses mentions that the character part of the background must
be a single-byte value. This implementation, like SVr4, checks to
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
- <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2002-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x</TITLE>
+<TITLE>curs_bkgrnd 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgrnd 3x</H1>
+<H1 class="no-header">curs_bkgrnd 3X</H1>
<PRE>
-<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+<B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B> <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>bkgrnd</STRONG>, <STRONG>wbkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, <STRONG>wbkgrndset</STRONG>, <STRONG>getbkgrnd</STRONG>, <STRONG>wgetbkgrnd</STRONG> - <STRONG>curses</STRONG>
+ <B>bkgrnd</B>, <B>wbkgrnd</B>, <B>bkgrndset</B>, <B>wbkgrndset</B>, <B>getbkgrnd</B>, <B>wgetbkgrnd</B> - <B>curses</B>
window complex background manipulation routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>bkgrnd(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wbkgrnd(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>bkgrnd(</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>wbkgrnd(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
- <STRONG>void</STRONG> <STRONG>bkgrndset(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wbkgrndset(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>void</B> <B>bkgrndset(const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+ <B>void</B> <B>wbkgrndset(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>getbkgrnd(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetbkgrnd(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getbkgrnd(cchar_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>wgetbkgrnd(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-bkgrndset">bkgrndset</a></H3><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines manipulate the background of the
- named window. The window background is a <STRONG>cchar_t</STRONG> consisting of any
+ The <B>bkgrndset</B> and <B>wbkgrndset</B> routines manipulate the background of the
+ named window. The window background is a <B>cchar_t</B> consisting of any
combination of attributes (i.e., rendition) and a complex character.
The attribute part of the background is combined (OR'ed) with all non-
- blank characters that are written into the window with <STRONG>waddch</STRONG>. Both
+ blank characters that are written into the window with <B>waddch</B>. Both
the character and attribute parts of the background are combined with
the blank characters. The background becomes a property of the
character and moves with the character through any scrolling and
</PRE><H3><a name="h3-bkgrnd">bkgrnd</a></H3><PRE>
- The <STRONG>bkgrnd</STRONG> and <STRONG>wbkgrnd</STRONG> functions set the background property of the
+ The <B>bkgrnd</B> and <B>wbkgrnd</B> functions set the background property of the
current or specified window and then apply this setting to every
character position in that window:
- <STRONG>o</STRONG> The rendition of every character on the screen is changed to the
+ <B>o</B> The rendition of every character on the screen is changed to the
new background rendition.
- <STRONG>o</STRONG> Wherever the former background character appears, it is changed to
+ <B>o</B> Wherever the former background character appears, it is changed to
the new background character.
</PRE><H3><a name="h3-getbkgrnd">getbkgrnd</a></H3><PRE>
- The <STRONG>getbkgrnd</STRONG> function returns the given window's current background
- character/attribute pair via the <STRONG>wch</STRONG> pointer. If the given window
+ The <B>getbkgrnd</B> function returns the given window's current background
+ character/attribute pair via the <B>wch</B> pointer. If the given window
pointer is null, the character is not updated (but no error returned).
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>bkgrnd</STRONG>, <STRONG>bkgrndset</STRONG>, and <STRONG>getbkgrnd</STRONG> may be macros.
+ Note that <B>bkgrnd</B>, <B>bkgrndset</B>, and <B>getbkgrnd</B> may be macros.
X/Open Curses does not provide details on how the rendition is changed.
This implementation follows the approach used in SVr4 curses, which is
- explained in the manual page for <STRONG>wbkgd</STRONG>.
+ explained in the manual page for <B>wbkgd</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <STRONG>bkgrndset</STRONG> and <STRONG>wbkgrndset</STRONG> routines do not return a value.
+ The <B>bkgrndset</B> and <B>wbkgrndset</B> routines do not return a value.
- Upon successful completion, the other functions return <STRONG>OK</STRONG>. Otherwise,
- they return <STRONG>ERR</STRONG>:
+ Upon successful completion, the other functions return <B>OK</B>. Otherwise,
+ they return <B>ERR</B>:
- <STRONG>o</STRONG> A null window pointer is treated as an error.
+ <B>o</B> A null window pointer is treated as an error.
- <STRONG>o</STRONG> A null character pointer is treated as an error.
+ <B>o</B> A null character pointer is treated as an error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
- <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border 3x</TITLE>
+<TITLE>curs_border 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border 3x</H1>
+<H1 class="no-header">curs_border 3X</H1>
<PRE>
-<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+<B><A HREF="curs_border.3X.html">curs_border(3X)</A></B> <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>border</STRONG>, <STRONG>wborder</STRONG>, <STRONG>box</STRONG>, <STRONG>hline</STRONG>, <STRONG>whline</STRONG>, <STRONG>vline</STRONG>, <STRONG>wvline</STRONG>, <STRONG>mvhline</STRONG>, <STRONG>mvwhline</STRONG>,
- <STRONG>mvvline</STRONG>, <STRONG>mvwvline</STRONG> - create <STRONG>curses</STRONG> borders, horizontal and vertical
+ <B>border</B>, <B>wborder</B>, <B>box</B>, <B>hline</B>, <B>whline</B>, <B>vline</B>, <B>wvline</B>, <B>mvhline</B>, <B>mvwhline</B>,
+ <B>mvvline</B>, <B>mvwvline</B> - create <B>curses</B> borders, horizontal and vertical
lines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>border(chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG>
- <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wborder(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ls</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>rs</EM><STRONG>,</STRONG>
- <STRONG>chtype</STRONG> <EM>ts</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>bs</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>tr</EM><STRONG>,</STRONG>
- <STRONG>chtype</STRONG> <EM>bl</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>br</EM><STRONG>);</STRONG>
+ <B>int</B> <B>border(chtype</B> <I>ls</I><B>,</B> <B>chtype</B> <I>rs</I><B>,</B> <B>chtype</B> <I>ts</I><B>,</B> <B>chtype</B> <I>bs</I><B>,</B>
+ <B>chtype</B> <I>tl</I><B>,</B> <B>chtype</B> <I>tr</I><B>,</B> <B>chtype</B> <I>bl</I><B>,</B> <B>chtype</B> <I>br</I><B>);</B>
+ <B>int</B> <B>wborder(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ls</I><B>,</B> <B>chtype</B> <I>rs</I><B>,</B>
+ <B>chtype</B> <I>ts</I><B>,</B> <B>chtype</B> <I>bs</I><B>,</B> <B>chtype</B> <I>tl</I><B>,</B> <B>chtype</B> <I>tr</I><B>,</B>
+ <B>chtype</B> <I>bl</I><B>,</B> <B>chtype</B> <I>br</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>box(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>verch</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>horch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>box(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>verch</I><B>,</B> <B>chtype</B> <I>horch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>hline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>whline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vline(chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>hline(chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>whline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>vline(chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wvline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvhline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwhline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvvline(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwvline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvhline(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwhline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvvline(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwvline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>border</STRONG>, <STRONG>wborder</STRONG> and <STRONG>box</STRONG> routines draw a box around the edges of a
+ The <B>border</B>, <B>wborder</B> and <B>box</B> routines draw a box around the edges of a
window. Other than the window, each argument is a character with at-
tributes:
- <EM>ls</EM> - left side,
- <EM>rs</EM> - right side,
- <EM>ts</EM> - top side,
- <EM>bs</EM> - bottom side,
- <EM>tl</EM> - top left-hand corner,
- <EM>tr</EM> - top right-hand corner,
- <EM>bl</EM> - bottom left-hand corner, and
- <EM>br</EM> - bottom right-hand corner.
+ <I>ls</I> - left side,
+ <I>rs</I> - right side,
+ <I>ts</I> - top side,
+ <I>bs</I> - bottom side,
+ <I>tl</I> - top left-hand corner,
+ <I>tr</I> - top right-hand corner,
+ <I>bl</I> - bottom left-hand corner, and
+ <I>br</I> - bottom right-hand corner.
If any of these arguments is zero, then the corresponding default val-
- ues (defined in <STRONG>curses.h</STRONG>) are used instead:
-
- <STRONG>ACS_VLINE</STRONG>,
- <STRONG>ACS_VLINE</STRONG>,
- <STRONG>ACS_HLINE</STRONG>,
- <STRONG>ACS_HLINE</STRONG>,
- <STRONG>ACS_ULCORNER</STRONG>,
- <STRONG>ACS_URCORNER</STRONG>,
- <STRONG>ACS_LLCORNER</STRONG>,
- <STRONG>ACS_LRCORNER</STRONG>.
-
- <STRONG>box(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>)</STRONG> is a shorthand for the following call: <STRONG>wbor-</STRONG>
- <STRONG>der(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0,</STRONG> <STRONG>0)</STRONG>.
-
- The <STRONG>hline</STRONG> and <STRONG>whline</STRONG> functions draw a horizontal (left to right) line
- using <EM>ch</EM> starting at the current cursor position in the window. The
- current cursor position is not changed. The line is at most <EM>n</EM> charac-
+ ues (defined in <B>curses.h</B>) are used instead:
+
+ <B>ACS_VLINE</B>,
+ <B>ACS_VLINE</B>,
+ <B>ACS_HLINE</B>,
+ <B>ACS_HLINE</B>,
+ <B>ACS_ULCORNER</B>,
+ <B>ACS_URCORNER</B>,
+ <B>ACS_LLCORNER</B>,
+ <B>ACS_LRCORNER</B>.
+
+ <B>box(</B><I>win</I><B>,</B> <I>verch</I><B>,</B> <I>horch</I><B>)</B> is a shorthand for the following call: <B>wbor-</B>
+ <B>der(</B><I>win</I><B>,</B> <I>verch</I><B>,</B> <I>verch</I><B>,</B> <I>horch</I><B>,</B> <I>horch</I><B>,</B> <B>0,</B> <B>0,</B> <B>0,</B> <B>0)</B>.
+
+ The <B>hline</B> and <B>whline</B> functions draw a horizontal (left to right) line
+ using <I>ch</I> starting at the current cursor position in the window. The
+ current cursor position is not changed. The line is at most <I>n</I> charac-
ters long, or as many as fit into the window.
- The <STRONG>vline</STRONG> and <STRONG>wvline</STRONG> functions draw a vertical (top to bottom) line us-
- ing <EM>ch</EM> starting at the current cursor position in the window. The cur-
- rent cursor position is not changed. The line is at most <EM>n</EM> characters
+ The <B>vline</B> and <B>wvline</B> functions draw a vertical (top to bottom) line us-
+ ing <I>ch</I> starting at the current cursor position in the window. The cur-
+ rent cursor position is not changed. The line is at most <I>n</I> characters
long, or as many as fit into the window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>OK</STRONG>. The SVr4.0 manual says "or a non-
- negative integer if <STRONG>immedok</STRONG> is set", but this appears to be an error.
+ All routines return the integer <B>OK</B>. The SVr4.0 manual says "or a non-
+ negative integer if <B>immedok</B> is set", but this appears to be an error.
X/Open does not define any error conditions. This implementation re-
turns an error if the window pointer is null.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The borders generated by these functions are <EM>inside</EM> borders (this is
+ The borders generated by these functions are <I>inside</I> borders (this is
also true of SVr4 curses, though the fact is not documented).
- Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
+ Note that <B>border</B> and <B>box</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ standard specifies that they return <B>ERR</B> on failure, but specifies no
error conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>.
- <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2002-2011,2012 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border_set 3x</TITLE>
+<TITLE>curs_border_set 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border_set 3x</H1>
+<H1 class="no-header">curs_border_set 3X</H1>
<PRE>
-<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+<B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B> <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>border_set</STRONG>, <STRONG>wborder_set</STRONG>, <STRONG>box_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>whline_set</STRONG>, <STRONG>mvhline_set</STRONG>,
- <STRONG>mvwhline_set</STRONG>, <STRONG>vline_set</STRONG>, <STRONG>wvline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG> - create
- <STRONG>curses</STRONG> borders or lines using complex characters and renditions
+ <B>border_set</B>, <B>wborder_set</B>, <B>box_set</B>, <B>hline_set</B>, <B>whline_set</B>, <B>mvhline_set</B>,
+ <B>mvwhline_set</B>, <B>vline_set</B>, <B>wvline_set</B>, <B>mvvline_set</B>, <B>mvwvline_set</B> - create
+ <B>curses</B> borders or lines using complex characters and renditions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
-
- <STRONG>int</STRONG> <STRONG>border_set(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM> <STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wborder_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ls</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>rs</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ts</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bs</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>tr</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>bl</EM>, <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>br</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>box_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*win</STRONG>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>verch</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>horch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>hline_set(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>whline_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvhline_set(</STRONG>
- <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwhline_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
- <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vline_set(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wvline_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvvline_set(</STRONG>
- <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwvline_set(</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM>,
- <STRONG>int</STRONG> <EM>y</EM>, <STRONG>int</STRONG> <EM>x</EM>,
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM>, <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+
+ <B>int</B> <B>border_set(</B>
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>ls</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>rs</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>ts</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>bs</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>tl</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>tr</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>bl</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>br</I> <B>);</B>
+ <B>int</B> <B>wborder_set(</B>
+ <B>WINDOW</B> <B>*win</B>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>ls</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>rs</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>ts</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>bs</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>tl</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>tr</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>bl</I>, <B>const</B> <B>cchar_t</B> <B>*</B><I>br</I><B>);</B>
+ <B>int</B> <B>box_set(</B>
+ <B>WINDOW</B> <B>*win</B>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>verch</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>horch</I><B>);</B>
+ <B>int</B> <B>hline_set(</B>
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>whline_set(</B>
+ <B>WINDOW</B> <B>*</B><I>win</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvhline_set(</B>
+ <B>int</B> <I>y</I>, <B>int</B> <I>x</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwhline_set(</B>
+ <B>WINDOW</B> <B>*</B><I>win</I>,
+ <B>int</B> <I>y</I>, <B>int</B> <I>x</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>vline_set(</B>
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wvline_set(</B>
+ <B>WINDOW</B> <B>*</B><I>win</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvvline_set(</B>
+ <B>int</B> <I>y</I>, <B>int</B> <I>x</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwvline_set(</B>
+ <B>WINDOW</B> <B>*</B><I>win</I>,
+ <B>int</B> <I>y</I>, <B>int</B> <I>x</I>,
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I>, <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>border_set</STRONG> and <STRONG>wborder_set</STRONG> functions draw a border around the edges
+ The <B>border_set</B> and <B>wborder_set</B> functions draw a border around the edges
of the current or specified window. These functions do not change the
cursor position, and do not wrap.
Other than the window, each argument is a complex character with at-
tributes:
- <EM>ls</EM> - left side,
- <EM>rs</EM> - right side,
- <EM>ts</EM> - top side,
- <EM>bs</EM> - bottom side,
- <EM>tl</EM> - top left-hand corner,
- <EM>tr</EM> - top right-hand corner,
- <EM>bl</EM> - bottom left-hand corner, and
- <EM>br</EM> - bottom right-hand corner.
+ <I>ls</I> - left side,
+ <I>rs</I> - right side,
+ <I>ts</I> - top side,
+ <I>bs</I> - bottom side,
+ <I>tl</I> - top left-hand corner,
+ <I>tr</I> - top right-hand corner,
+ <I>bl</I> - bottom left-hand corner, and
+ <I>br</I> - bottom right-hand corner.
If any of these arguments is zero, then the corresponding default val-
- ues (defined in <STRONG>curses.h</STRONG>) are used instead:
- <STRONG>WACS_VLINE</STRONG>,
- <STRONG>WACS_VLINE</STRONG>,
- <STRONG>WACS_HLINE</STRONG>,
- <STRONG>WACS_HLINE</STRONG>,
- <STRONG>WACS_ULCORNER</STRONG>,
- <STRONG>WACS_URCORNER</STRONG>,
- <STRONG>WACS_LLCORNER</STRONG>, and
- <STRONG>WACS_LRCORNER</STRONG>.
-
- <STRONG>box_set(</STRONG><EM>win</EM>, <EM>verch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>);</STRONG> is a shorthand for the following call:
-
- <STRONG>wborder_set(</STRONG><EM>win</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG> <EM>verch</EM><STRONG>,</STRONG>
- <EM>horch</EM><STRONG>,</STRONG> <EM>horch</EM><STRONG>,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL,</STRONG> <STRONG>NULL);</STRONG>
-
- The <STRONG>*line_set</STRONG> functions use <EM>wch</EM> to draw a line starting at the current
- cursor position in the window. The line is at most <EM>n</EM> characters long
+ ues (defined in <B>curses.h</B>) are used instead:
+ <B>WACS_VLINE</B>,
+ <B>WACS_VLINE</B>,
+ <B>WACS_HLINE</B>,
+ <B>WACS_HLINE</B>,
+ <B>WACS_ULCORNER</B>,
+ <B>WACS_URCORNER</B>,
+ <B>WACS_LLCORNER</B>, and
+ <B>WACS_LRCORNER</B>.
+
+ <B>box_set(</B><I>win</I>, <I>verch</I><B>,</B> <I>horch</I><B>);</B> is a shorthand for the following call:
+
+ <B>wborder_set(</B><I>win</I><B>,</B> <I>verch</I><B>,</B> <I>verch</I><B>,</B>
+ <I>horch</I><B>,</B> <I>horch</I><B>,</B> <B>NULL,</B> <B>NULL,</B> <B>NULL,</B> <B>NULL);</B>
+
+ The <B>*line_set</B> functions use <I>wch</I> to draw a line starting at the current
+ cursor position in the window. The line is at most <I>n</I> characters long
or as many as fit into the window. The current cursor position is not
changed.
- The <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvwhline_set</STRONG>, and <STRONG>whline_set</STRONG> functions draw
+ The <B>hline_set</B>, <B>mvhline_set</B>, <B>mvwhline_set</B>, and <B>whline_set</B> functions draw
a line proceeding toward the last column of the same line.
- The <STRONG>vline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>wvline_set</STRONG> functions draw
+ The <B>vline_set</B>, <B>mvvline_set</B>, <B>mvwvline_set</B>, and <B>wvline_set</B> functions draw
a line proceeding toward the last line of the window.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>, <STRONG>mvwh-</STRONG>
- <STRONG>line_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
+ Note that <B>border_set</B>, <B>hline_set</B>, <B>mvhline_set</B>, <B>mvvline_set</B>, <B>mvwh-</B>
+ <B>line_set</B>, <B>mvwvline_set</B>, and <B>vline_set</B> may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
- return <STRONG>ERR</STRONG>.
+ Upon successful completion, these functions return <B>OK</B>. Otherwise, they
+ return <B>ERR</B>.
Functions using a window parameter return an error if it is null.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>, <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>, <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
- <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2016 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_clear 3x</TITLE>
+<TITLE>curs_clear 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_clear 3x</H1>
+<H1 class="no-header">curs_clear 3X</H1>
<PRE>
-<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+<B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B> <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, <STRONG>wclrtobot</STRONG>, <STRONG>clrtoeol</STRONG>, <STRONG>wclrtoeol</STRONG>
- - clear all or part of a <STRONG>curses</STRONG> window
+ <B>erase</B>, <B>werase</B>, <B>clear</B>, <B>wclear</B>, <B>clrtobot</B>, <B>wclrtobot</B>, <B>clrtoeol</B>, <B>wclrtoeol</B>
+ - clear all or part of a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>erase(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>werase(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>erase(void);</B>
+ <B>int</B> <B>werase(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>clear(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclear(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>clear(void);</B>
+ <B>int</B> <B>wclear(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>clrtobot(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclrtobot(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>clrtobot(void);</B>
+ <B>int</B> <B>wclrtobot(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>clrtoeol(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wclrtoeol(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>clrtoeol(void);</B>
+ <B>int</B> <B>wclrtoeol(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>erase</STRONG> and <STRONG>werase</STRONG> routines copy blanks to every position in the win-
+ The <B>erase</B> and <B>werase</B> routines copy blanks to every position in the win-
dow, clearing the screen.
- The <STRONG>clear</STRONG> and <STRONG>wclear</STRONG> routines are like <STRONG>erase</STRONG> and <STRONG>werase</STRONG>, but they also
- call <STRONG>clearok</STRONG>, so that the screen is cleared completely on the next call
- to <STRONG>wrefresh</STRONG> for that window and repainted from scratch.
+ The <B>clear</B> and <B>wclear</B> routines are like <B>erase</B> and <B>werase</B>, but they also
+ call <B>clearok</B>, so that the screen is cleared completely on the next call
+ to <B>wrefresh</B> for that window and repainted from scratch.
- The <STRONG>clrtobot</STRONG> and <STRONG>wclrtobot</STRONG> routines erase from the cursor to the end of
+ The <B>clrtobot</B> and <B>wclrtobot</B> routines erase from the cursor to the end of
screen. That is, they erase all lines below the cursor in the window.
Also, the current line to the right of the cursor, inclusive, is
erased.
- The <STRONG>clrtoeol</STRONG> and <STRONG>wclrtoeol</STRONG> routines erase the current line to the right
+ The <B>clrtoeol</B> and <B>wclrtoeol</B> routines erase the current line to the right
of the cursor, inclusive, to the end of the current line.
Blanks created by erasure have the current background rendition (as set
- by <STRONG>wbkgdset</STRONG>) merged into them.
+ by <B>wbkgdset</B>) merged into them.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+ All routines return the integer <B>OK</B> on success and <B>ERR</B> on failure.
X/Open defines no error conditions. In this implementation,
- <STRONG>o</STRONG> functions using a window pointer parameter return an error if it is
+ <B>o</B> functions using a window pointer parameter return an error if it is
null
- <STRONG>o</STRONG> <STRONG>wclrtoeol</STRONG> returns an error if the cursor position is about to wrap.
+ <B>o</B> <B>wclrtoeol</B> returns an error if the cursor position is about to wrap.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>erase</STRONG>, <STRONG>werase</STRONG>, <STRONG>clear</STRONG>, <STRONG>wclear</STRONG>, <STRONG>clrtobot</STRONG>, and <STRONG>clrtoeol</STRONG> may be
+ Note that <B>erase</B>, <B>werase</B>, <B>clear</B>, <B>wclear</B>, <B>clrtobot</B>, and <B>clrtoeol</B> may be
macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ standard specifies that they return <B>ERR</B> on failure, but specifies no
error conditions.
The SVr4.0 manual says that these functions could return "a non-nega-
- tive integer if <STRONG>immedok</STRONG> is set", referring to the return-value of <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG>. In that implementation, <STRONG>wrefresh</STRONG> would return a count of the
+ tive integer if <B>immedok</B> is set", referring to the return-value of <B>wre-</B>
+ <B>fresh</B>. In that implementation, <B>wrefresh</B> would return a count of the
number of characters written to the terminal.
Some historic curses implementations had, as an undocumented feature,
- the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
- <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ the ability to do the equivalent of <B>clearok(...,</B> <B>1)</B> by saying <B>touch-</B>
+ <B>win(stdscr)</B> or <B>clear(stdscr)</B>. This will not work under ncurses.
This implementation, and others such as Solaris, sets the current posi-
- tion to 0,0 after erasing via <STRONG>werase</STRONG> and <STRONG>wclear</STRONG>. That fact is not doc-
+ tion to 0,0 after erasing via <B>werase</B> and <B>wclear</B>. That fact is not doc-
umented in other implementations, and may not be true of implementa-
tions which were not derived from SVr4 source.
Not obvious from the description, most implementations clear the screen
- after <STRONG>wclear</STRONG> even for a subwindow or derived window. If you do not
- want to clear the screen during the next <STRONG>wrefresh</STRONG>, use <STRONG>werase</STRONG> instead.
+ after <B>wclear</B> even for a subwindow or derived window. If you do not
+ want to clear the screen during the next <B>wrefresh</B>, use <B>werase</B> instead.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
- <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp @
+ * @Id: curs_color.3x,v 1.64 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_color 3x</TITLE>
+<TITLE>curs_color 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_color 3x</H1>
+<H1 class="no-header">curs_color 3X</H1>
<PRE>
-<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+<B><A HREF="curs_color.3X.html">curs_color(3X)</A></B> <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>start_color</STRONG>, <STRONG>has_colors</STRONG>, <STRONG>can_change_color</STRONG>, <STRONG>init_pair</STRONG>, <STRONG>init_color</STRONG>,
- <STRONG>init_extended_pair</STRONG>, <STRONG>init_extended_color</STRONG>, <STRONG>color_content</STRONG>, <STRONG>pair_content</STRONG>,
- <STRONG>extended_color_content</STRONG>, <STRONG>extended_pair_content</STRONG>, <STRONG>reset_color_pairs</STRONG>,
- <STRONG>COLOR_PAIR</STRONG>, <STRONG>PAIR_NUMBER</STRONG> - <STRONG>curses</STRONG> color manipulation routines
+ <B>start_color</B>, <B>has_colors</B>, <B>can_change_color</B>, <B>init_pair</B>, <B>init_color</B>,
+ <B>init_extended_pair</B>, <B>init_extended_color</B>, <B>color_content</B>, <B>pair_content</B>,
+ <B>extended_color_content</B>, <B>extended_pair_content</B>, <B>reset_color_pairs</B>,
+ <B>COLOR_PAIR</B>, <B>PAIR_NUMBER</B> - <B>curses</B> color manipulation routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>start_color(void);</STRONG>
+ <B>int</B> <B>start_color(void);</B>
- <STRONG>bool</STRONG> <STRONG>has_colors(void);</STRONG>
- <STRONG>bool</STRONG> <STRONG>can_change_color(void);</STRONG>
+ <B>bool</B> <B>has_colors(void);</B>
+ <B>bool</B> <B>can_change_color(void);</B>
- <STRONG>int</STRONG> <STRONG>init_pair(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_color(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <B>int</B> <B>init_pair(short</B> <I>pair</I><B>,</B> <B>short</B> <I>f</I><B>,</B> <B>short</B> <I>b</I><B>);</B>
+ <B>int</B> <B>init_color(short</B> <I>color</I><B>,</B> <B>short</B> <I>r</I><B>,</B> <B>short</B> <I>g</I><B>,</B> <B>short</B> <I>b</I><B>);</B>
/* extensions */
- <STRONG>int</STRONG> <STRONG>init_extended_pair(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_extended_color(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
+ <B>int</B> <B>init_extended_pair(int</B> <I>pair</I><B>,</B> <B>int</B> <I>f</I><B>,</B> <B>int</B> <I>b</I><B>);</B>
+ <B>int</B> <B>init_extended_color(int</B> <I>color</I><B>,</B> <B>int</B> <I>r</I><B>,</B> <B>int</B> <I>g</I><B>,</B> <B>int</B> <I>b</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>color_content(short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>pair_content(short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+ <B>int</B> <B>color_content(short</B> <I>color</I><B>,</B> <B>short</B> <B>*</B><I>r</I><B>,</B> <B>short</B> <B>*</B><I>g</I><B>,</B> <B>short</B> <B>*</B><I>b</I><B>);</B>
+ <B>int</B> <B>pair_content(short</B> <I>pair</I><B>,</B> <B>short</B> <B>*</B><I>f</I><B>,</B> <B>short</B> <B>*</B><I>b</I><B>);</B>
/* extensions */
- <STRONG>int</STRONG> <STRONG>extended_color_content(int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>extended_pair_content(int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>f</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>b</EM><STRONG>);</STRONG>
+ <B>int</B> <B>extended_color_content(int</B> <I>color</I><B>,</B> <B>int</B> <B>*</B><I>r</I><B>,</B> <B>int</B> <B>*</B><I>g</I><B>,</B> <B>int</B> <B>*</B><I>b</I><B>);</B>
+ <B>int</B> <B>extended_pair_content(int</B> <I>pair</I><B>,</B> <B>int</B> <B>*</B><I>f</I><B>,</B> <B>int</B> <B>*</B><I>b</I><B>);</B>
/* extensions */
- <STRONG>void</STRONG> <STRONG>reset_color_pairs(void);</STRONG>
+ <B>void</B> <B>reset_color_pairs(void);</B>
- <STRONG>int</STRONG> <STRONG>COLOR_PAIR(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM><STRONG>);</STRONG>
+ <B>int</B> <B>COLOR_PAIR(int</B> <I>n</I><B>);</B>
+ <B>PAIR_NUMBER(</B><I>attrs</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Overview">Overview</a></H3><PRE>
- <STRONG>curses</STRONG> supports color attributes on terminals with that capability. To
- use these routines <STRONG>start_color</STRONG> must be called, usually right after
- <STRONG>initscr</STRONG>. Colors are always used in pairs (referred to as color-pairs).
+ <B>curses</B> supports color attributes on terminals with that capability. To
+ use these routines <B>start_color</B> must be called, usually right after
+ <B>initscr</B>. Colors are always used in pairs (referred to as color-pairs).
A color-pair consists of a foreground color (for characters) and a
background color (for the blank field on which the characters are dis-
played). A programmer initializes a color-pair with the routine
- <STRONG>init_pair</STRONG>. After it has been initialized, <STRONG>COLOR_PAIR</STRONG>(<EM>n</EM>) can be used to
+ <B>init_pair</B>. After it has been initialized, <B>COLOR_PAIR</B>(<I>n</I>) can be used to
convert the pair to a video attribute.
If a terminal is capable of redefining colors, the programmer can use
- the routine <STRONG>init_color</STRONG> to change the definition of a color. The rou-
- tines <STRONG>has_colors</STRONG> and <STRONG>can_change_color</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, depending
+ the routine <B>init_color</B> to change the definition of a color. The rou-
+ tines <B>has_colors</B> and <B>can_change_color</B> return <B>TRUE</B> or <B>FALSE</B>, depending
on whether the terminal has color capabilities and whether the program-
- mer can change the colors. The routine <STRONG>color_content</STRONG> allows a program-
+ mer can change the colors. The routine <B>color_content</B> allows a program-
mer to extract the amounts of red, green, and blue components in an
- initialized color. The routine <STRONG>pair_content</STRONG> allows a programmer to
+ initialized color. The routine <B>pair_content</B> allows a programmer to
find out how a given color-pair is currently defined.
</PRE><H3><a name="h3-Color-Rendering">Color Rendering</a></H3><PRE>
- The <STRONG>curses</STRONG> library combines these inputs to produce the actual fore-
+ The <B>curses</B> library combines these inputs to produce the actual fore-
ground and background colors shown on the screen:
- <STRONG>o</STRONG> per-character video attributes (e.g., via <STRONG>waddch</STRONG>),
+ <B>o</B> per-character video attributes (e.g., via <B>waddch</B>),
- <STRONG>o</STRONG> the window attribute (e.g., by <STRONG>wattrset</STRONG>), and
+ <B>o</B> the window attribute (e.g., by <B>wattrset</B>), and
- <STRONG>o</STRONG> the background character (e.g., <STRONG>wbkgdset</STRONG>).
+ <B>o</B> the background character (e.g., <B>wbkgdset</B>).
Per-character and window attributes are usually set by a parameter con-
taining video attributes including a color pair value. Some functions
- such as <STRONG>wattr_set</STRONG> use a separate parameter which is the color pair num-
+ such as <B>wattr_set</B> use a separate parameter which is the color pair num-
ber.
The background character is a special case: it includes a character
- value, just as if it were passed to <STRONG>waddch</STRONG>.
+ value, just as if it were passed to <B>waddch</B>.
- The <STRONG>curses</STRONG> library does the actual work of combining these color pairs
- in an internal function called from <STRONG>waddch</STRONG>:
+ The <B>curses</B> library does the actual work of combining these color pairs
+ in an internal function called from <B>waddch</B>:
- <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>blank</EM>, and it uses the special
+ <B>o</B> If the parameter passed to <B>waddch</B> is <I>blank</I>, and it uses the special
color pair 0,
- <STRONG>o</STRONG> <STRONG>curses</STRONG> next checks the window attribute.
+ <B>o</B> <B>curses</B> next checks the window attribute.
- <STRONG>o</STRONG> If the window attribute does not use color pair 0, <STRONG>curses</STRONG> uses
+ <B>o</B> If the window attribute does not use color pair 0, <B>curses</B> uses
the color pair from the window attribute.
- <STRONG>o</STRONG> Otherwise, <STRONG>curses</STRONG> uses the background character.
+ <B>o</B> Otherwise, <B>curses</B> uses the background character.
- <STRONG>o</STRONG> If the parameter passed to <STRONG>waddch</STRONG> is <EM>not</EM> <EM>blank</EM>, or it does not use
- the special color pair 0, <STRONG>curses</STRONG> prefers the color pair from the
+ <B>o</B> If the parameter passed to <B>waddch</B> is <I>not</I> <I>blank</I>, or it does not use
+ the special color pair 0, <B>curses</B> prefers the color pair from the
parameter, if it is nonzero. Otherwise, it tries the window attri-
bute next, and finally the background character.
- Some <STRONG>curses</STRONG> functions such as <STRONG>wprintw</STRONG> call <STRONG>waddch</STRONG>. Those do not com-
+ Some <B>curses</B> functions such as <B>wprintw</B> call <B>waddch</B>. Those do not com-
bine its parameter with a color pair. Consequently those calls use on-
ly the window attribute or the background character.
</PRE><H2><a name="h2-CONSTANTS">CONSTANTS</a></H2><PRE>
- In <STRONG><curses.h></STRONG> the following macros are defined. These are the standard
- colors (ISO-6429). <STRONG>curses</STRONG> also assumes that <STRONG>COLOR_BLACK</STRONG> is the default
+ In <B><curses.h></B> the following macros are defined. These are the standard
+ colors (ISO-6429). <B>curses</B> also assumes that <B>COLOR_BLACK</B> is the default
background color for all terminals.
- <STRONG>COLOR_BLACK</STRONG>
- <STRONG>COLOR_RED</STRONG>
- <STRONG>COLOR_GREEN</STRONG>
- <STRONG>COLOR_YELLOW</STRONG>
- <STRONG>COLOR_BLUE</STRONG>
- <STRONG>COLOR_MAGENTA</STRONG>
- <STRONG>COLOR_CYAN</STRONG>
- <STRONG>COLOR_WHITE</STRONG>
+ <B>COLOR_BLACK</B>
+ <B>COLOR_RED</B>
+ <B>COLOR_GREEN</B>
+ <B>COLOR_YELLOW</B>
+ <B>COLOR_BLUE</B>
+ <B>COLOR_MAGENTA</B>
+ <B>COLOR_CYAN</B>
+ <B>COLOR_WHITE</B>
Some terminals support more than the eight (8) "ANSI" colors. There
are no standard names for those additional colors.
</PRE><H2><a name="h2-VARIABLES">VARIABLES</a></H2><PRE>
</PRE><H3><a name="h3-COLORS">COLORS</a></H3><PRE>
- is initialized by <STRONG>start_color</STRONG> to the maximum number of colors the ter-
+ is initialized by <B>start_color</B> to the maximum number of colors the ter-
minal can support.
</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
- is initialized by <STRONG>start_color</STRONG> to the maximum number of color pairs the
+ is initialized by <B>start_color</B> to the maximum number of color pairs the
terminal can support.
</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
</PRE><H3><a name="h3-start_color">start_color</a></H3><PRE>
- The <STRONG>start_color</STRONG> routine requires no arguments. It must be called if
+ The <B>start_color</B> routine requires no arguments. It must be called if
the programmer wants to use colors, and before any other color manipu-
lation routine is called. It is good practice to call this routine
- right after <STRONG>initscr</STRONG>. <STRONG>start_color</STRONG> does this:
+ right after <B>initscr</B>. <B>start_color</B> does this:
- <STRONG>o</STRONG> It initializes two global variables, <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG> (re-
+ <B>o</B> It initializes two global variables, <B>COLORS</B> and <B>COLOR_PAIRS</B> (re-
spectively defining the maximum number of colors and color-pairs
the terminal can support).
- <STRONG>o</STRONG> It initializes the special color pair <STRONG>0</STRONG> to the default foreground
+ <B>o</B> It initializes the special color pair <B>0</B> to the default foreground
and background colors. No other color pairs are initialized.
- <STRONG>o</STRONG> It restores the colors on the terminal to the values they had when
+ <B>o</B> It restores the colors on the terminal to the values they had when
the terminal was just turned on.
- <STRONG>o</STRONG> If the terminal supports the <STRONG>initc</STRONG> (<STRONG>initialize_color</STRONG>) capability,
- <STRONG>start_color</STRONG> initializes its internal table representing the red,
+ <B>o</B> If the terminal supports the <B>initc</B> (<B>initialize_color</B>) capability,
+ <B>start_color</B> initializes its internal table representing the red,
green, and blue components of the color palette.
The components depend on whether the terminal uses CGA (aka "ANSI")
- or HLS (i.e., the <STRONG>hls</STRONG> (<STRONG>hue_lightness_saturation</STRONG>) capability is
+ or HLS (i.e., the <B>hls</B> (<B>hue_lightness_saturation</B>) capability is
set). The table is initialized first for eight basic colors
(black, red, green, yellow, blue, magenta, cyan, and white), using
weights that depend upon the CGA/HLS choice. For "ANSI" colors the
- weights are <STRONG>680</STRONG> or <STRONG>0</STRONG> depending on whether the corresponding red,
- green, or blue component is used or not. That permits using <STRONG>1000</STRONG>
+ weights are <B>680</B> or <B>0</B> depending on whether the corresponding red,
+ green, or blue component is used or not. That permits using <B>1000</B>
to represent bold/bright colors. After the initial eight colors
(if the terminal supports more than eight colors) the components
- are initialized using the same pattern, but with weights of <STRONG>1000</STRONG>.
- SVr4 uses a similar scheme, but uses <STRONG>1000</STRONG> for the components of the
+ are initialized using the same pattern, but with weights of <B>1000</B>.
+ SVr4 uses a similar scheme, but uses <B>1000</B> for the components of the
initial eight colors.
- <STRONG>start_color</STRONG> does not attempt to set the terminal's color palette to
- match its built-in table. An application may use <STRONG>init_color</STRONG> to al-
+ <B>start_color</B> does not attempt to set the terminal's color palette to
+ match its built-in table. An application may use <B>init_color</B> to al-
ter the internal table along with the terminal's color.
These limits apply to color values and color pairs. Values outside
these limits are not legal, and may result in a runtime error:
- <STRONG>o</STRONG> <STRONG>COLORS</STRONG> corresponds to the terminal database's <STRONG>max_colors</STRONG> capabili-
- ty, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+ <B>o</B> <B>COLORS</B> corresponds to the terminal database's <B>max_colors</B> capabili-
+ ty, (see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>).
- <STRONG>o</STRONG> color values are expected to be in the range <STRONG>0</STRONG> to <STRONG>COLORS-1</STRONG>, inclu-
- sive (including <STRONG>0</STRONG> and <STRONG>COLORS-1</STRONG>).
+ <B>o</B> color values are expected to be in the range <B>0</B> to <B>COLORS-1</B>, inclu-
+ sive (including <B>0</B> and <B>COLORS-1</B>).
- <STRONG>o</STRONG> a special color value <STRONG>-1</STRONG> is used in certain extended functions to
- denote the <EM>default</EM> <EM>color</EM> (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>).
+ <B>o</B> a special color value <B>-1</B> is used in certain extended functions to
+ denote the <I>default</I> <I>color</I> (see <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>).
- <STRONG>o</STRONG> <STRONG>COLOR_PAIRS</STRONG> corresponds to the terminal database's <STRONG>max_pairs</STRONG> capa-
- bility, (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>).
+ <B>o</B> <B>COLOR_PAIRS</B> corresponds to the terminal database's <B>max_pairs</B> capa-
+ bility, (see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>).
- <STRONG>o</STRONG> legal color pair values are in the range <STRONG>1</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>, inclu-
+ <B>o</B> legal color pair values are in the range <B>1</B> to <B>COLOR_PAIRS-1</B>, inclu-
sive.
- <STRONG>o</STRONG> color pair <STRONG>0</STRONG> is special; it denotes "no color".
+ <B>o</B> color pair <B>0</B> is special; it denotes "no color".
- Color pair <STRONG>0</STRONG> is assumed to be white on black, but is actually what-
+ Color pair <B>0</B> is assumed to be white on black, but is actually what-
ever the terminal implements before color is initialized. It can-
not be modified by the application.
</PRE><H3><a name="h3-has_colors">has_colors</a></H3><PRE>
- The <STRONG>has_colors</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if the
- terminal can manipulate colors; otherwise, it returns <STRONG>FALSE</STRONG>. This rou-
+ The <B>has_colors</B> routine requires no arguments. It returns <B>TRUE</B> if the
+ terminal can manipulate colors; otherwise, it returns <B>FALSE</B>. This rou-
tine facilitates writing terminal-independent programs. For example, a
programmer can use it to decide whether to use color or some other
video attribute.
</PRE><H3><a name="h3-can_change_color">can_change_color</a></H3><PRE>
- The <STRONG>can_change_color</STRONG> routine requires no arguments. It returns <STRONG>TRUE</STRONG> if
+ The <B>can_change_color</B> routine requires no arguments. It returns <B>TRUE</B> if
the terminal supports colors and can change their definitions; other,
- it returns <STRONG>FALSE</STRONG>. This routine facilitates writing terminal-indepen-
+ it returns <B>FALSE</B>. This routine facilitates writing terminal-indepen-
dent programs.
</PRE><H3><a name="h3-init_pair">init_pair</a></H3><PRE>
- The <STRONG>init_pair</STRONG> routine changes the definition of a color-pair. It takes
+ The <B>init_pair</B> routine changes the definition of a color-pair. It takes
three arguments: the number of the color-pair to be changed, the fore-
ground color number, and the background color number. For portable ap-
plications:
- <STRONG>o</STRONG> The first argument must be a legal color pair value. If default
- colors are used (see <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>) the upper limit is ad-
+ <B>o</B> The first argument must be a legal color pair value. If default
+ colors are used (see <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>) the upper limit is ad-
justed to allow for extra pairs which use a default color in fore-
ground and/or background.
- <STRONG>o</STRONG> The second and third arguments must be legal color values.
+ <B>o</B> The second and third arguments must be legal color values.
If the color-pair was previously initialized, the screen is refreshed
and all occurrences of that color-pair are changed to the new defini-
tion.
- As an extension, ncurses allows you to set color pair <STRONG>0</STRONG> via the <STRONG>as-</STRONG>
- <STRONG><A HREF="assume_default_colors.3x.html">sume_default_colors(3x)</A></STRONG> routine, or to specify the use of default col-
- ors (color number <STRONG>-1</STRONG>) if you first invoke the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG>
+ As an extension, ncurses allows you to set color pair <B>0</B> via the <B>as-</B>
+ <B><A HREF="assume_default_colors.3X.html">sume_default_colors(3X)</A></B> routine, or to specify the use of default col-
+ ors (color number <B>-1</B>) if you first invoke the <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B>
routine.
</PRE><H3><a name="h3-init_extended_pair">init_extended_pair</a></H3><PRE>
- Because <STRONG>init_pair</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ Because <B>init_pair</B> uses signed <B>short</B>s for its parameters, that limits
color-pairs and color-values to 32767 on modern hardware. The exten-
- sion <STRONG>init_extended_pair</STRONG> uses <STRONG>int</STRONG>s for the color-pair and color-value,
+ sion <B>init_extended_pair</B> uses <B>int</B>s for the color-pair and color-value,
allowing a larger number of colors to be supported.
</PRE><H3><a name="h3-init_color">init_color</a></H3><PRE>
- The <STRONG>init_color</STRONG> routine changes the definition of a color. It takes
+ The <B>init_color</B> routine changes the definition of a color. It takes
four arguments: the number of the color to be changed followed by three
RGB values (for the amounts of red, green, and blue components).
- <STRONG>o</STRONG> The first argument must be a legal color value; default colors are
- not allowed here. (See the section <STRONG>Colors</STRONG> for the default color
+ <B>o</B> The first argument must be a legal color value; default colors are
+ not allowed here. (See the section <B>Colors</B> for the default color
index.)
- <STRONG>o</STRONG> Each of the last three arguments must be a value in the range <STRONG>0</STRONG>
- through <STRONG>1000</STRONG>.
+ <B>o</B> Each of the last three arguments must be a value in the range <B>0</B>
+ through <B>1000</B>.
- When <STRONG>init_color</STRONG> is used, all occurrences of that color on the screen
+ When <B>init_color</B> is used, all occurrences of that color on the screen
immediately change to the new definition.
</PRE><H3><a name="h3-init_extended_color">init_extended_color</a></H3><PRE>
- Because <STRONG>init_color</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ Because <B>init_color</B> uses signed <B>short</B>s for its parameters, that limits
color-values and their red, green, and blue components to 32767 on mod-
- ern hardware. The extension <STRONG>init_extended_color</STRONG> uses <STRONG>int</STRONG>s for the col-
+ ern hardware. The extension <B>init_extended_color</B> uses <B>int</B>s for the col-
or value and for setting the red, green, and blue components, allowing
a larger number of colors to be supported.
</PRE><H3><a name="h3-color_content">color_content</a></H3><PRE>
- The <STRONG>color_content</STRONG> routine gives programmers a way to find the intensity
+ The <B>color_content</B> routine gives programmers a way to find the intensity
of the red, green, and blue (RGB) components in a color. It requires
- four arguments: the color number, and three addresses of <STRONG>short</STRONG>s for
+ four arguments: the color number, and three addresses of <B>short</B>s for
storing the information about the amounts of red, green, and blue com-
ponents in the given color.
- <STRONG>o</STRONG> The first argument must be a legal color value, i.e., <STRONG>0</STRONG> through
- <STRONG>COLORS-1</STRONG>, inclusive.
+ <B>o</B> The first argument must be a legal color value, i.e., <B>0</B> through
+ <B>COLORS-1</B>, inclusive.
- <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the last
- three arguments are in the range <STRONG>0</STRONG> (no component) through <STRONG>1000</STRONG>
+ <B>o</B> The values that are stored at the addresses pointed to by the last
+ three arguments are in the range <B>0</B> (no component) through <B>1000</B>
(maximum amount of component), inclusive.
</PRE><H3><a name="h3-extended_color_content">extended_color_content</a></H3><PRE>
- Because <STRONG>color_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that lim-
+ Because <B>color_content</B> uses signed <B>short</B>s for its parameters, that lim-
its color-values and their red, green, and blue components to 32767 on
- modern hardware. The extension <STRONG>extended_color_content</STRONG> uses <STRONG>int</STRONG>s for
+ modern hardware. The extension <B>extended_color_content</B> uses <B>int</B>s for
the color value and for returning the red, green, and blue components,
allowing a larger number of colors to be supported.
</PRE><H3><a name="h3-pair_content">pair_content</a></H3><PRE>
- The <STRONG>pair_content</STRONG> routine allows programmers to find out what colors a
+ The <B>pair_content</B> routine allows programmers to find out what colors a
given color-pair consists of. It requires three arguments: the color-
- pair number, and two addresses of <STRONG>short</STRONG>s for storing the foreground and
+ pair number, and two addresses of <B>short</B>s for storing the foreground and
the background color numbers.
- <STRONG>o</STRONG> The first argument must be a legal color value, i.e., in the range
- <STRONG>1</STRONG> through <STRONG>COLOR_PAIRS-1</STRONG>, inclusive.
+ <B>o</B> The first argument must be a legal color value, i.e., in the range
+ <B>1</B> through <B>COLOR_PAIRS-1</B>, inclusive.
- <STRONG>o</STRONG> The values that are stored at the addresses pointed to by the sec-
- ond and third arguments are in the range <STRONG>0</STRONG> through <STRONG>COLORS</STRONG>, inclu-
+ <B>o</B> The values that are stored at the addresses pointed to by the sec-
+ ond and third arguments are in the range <B>0</B> through <B>COLORS</B>, inclu-
sive.
</PRE><H3><a name="h3-extended_pair_content">extended_pair_content</a></H3><PRE>
- Because <STRONG>pair_content</STRONG> uses signed <STRONG>short</STRONG>s for its parameters, that limits
+ Because <B>pair_content</B> uses signed <B>short</B>s for its parameters, that limits
color-pair and color-values to 32767 on modern hardware. The extension
- <STRONG>extended_pair_content</STRONG> uses <STRONG>int</STRONG>s for the color pair and for returning
+ <B>extended_pair_content</B> uses <B>int</B>s for the color pair and for returning
the foreground and background colors, allowing a larger number of col-
ors to be supported.
</PRE><H3><a name="h3-reset_color_pairs">reset_color_pairs</a></H3><PRE>
- The extension <STRONG>reset_color_pairs</STRONG> tells ncurses to discard all of the
- color-pair information which was set with <STRONG>init_pair</STRONG>. It also touches
+ The extension <B>reset_color_pairs</B> tells ncurses to discard all of the
+ color-pair information which was set with <B>init_pair</B>. It also touches
the current- and standard-screens, allowing an application to switch
color palettes rapidly.
</PRE><H3><a name="h3-PAIR_NUMBER">PAIR_NUMBER</a></H3><PRE>
- <STRONG>PAIR_NUMBER(</STRONG><EM>attrs</EM>) extracts the color value from its <EM>attrs</EM> parameter
+ <B>PAIR_NUMBER(</B><I>attrs</I>) extracts the color value from its <I>attrs</I> parameter
and returns it as a color pair number.
</PRE><H3><a name="h3-COLOR_PAIR">COLOR_PAIR</a></H3><PRE>
- Its inverse <STRONG>COLOR_PAIR(</STRONG><EM>n</EM><STRONG>)</STRONG> converts a color pair number to an attribute.
+ Its inverse <B>COLOR_PAIR(</B><I>n</I><B>)</B> converts a color pair number to an attribute.
Attributes can hold color pairs in the range 0 to 255. If you need a
- color pair larger than that, you must use functions such as <STRONG>attr_set</STRONG>
+ color pair larger than that, you must use functions such as <B>attr_set</B>
(which pass the color pair as a separate parameter) rather than the
- legacy functions such as <STRONG>attrset</STRONG>.
+ legacy functions such as <B>attrset</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The routines <STRONG>can_change_color</STRONG> and <STRONG>has_colors</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+ The routines <B>can_change_color</B> and <B>has_colors</B> return <B>TRUE</B> or <B>FALSE</B>.
- All other routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ All other routines return the integer <B>ERR</B> upon failure and an <B>OK</B> (SVr4
+ specifies only "an integer value other than <B>ERR</B>") upon successful com-
pletion.
X/Open defines no error conditions. SVr4 does document some error con-
ditions which apply in general:
- <STRONG>o</STRONG> This implementation will return <STRONG>ERR</STRONG> on attempts to use color values
- outside the range <STRONG>0</STRONG> to <STRONG>COLORS</STRONG>-1 (except for the default colors ex-
- tension), or use color pairs outside the range <STRONG>0</STRONG> to <STRONG>COLOR_PAIRS-1</STRONG>.
+ <B>o</B> This implementation will return <B>ERR</B> on attempts to use color values
+ outside the range <B>0</B> to <B>COLORS</B>-1 (except for the default colors ex-
+ tension), or use color pairs outside the range <B>0</B> to <B>COLOR_PAIRS-1</B>.
- Color values used in <STRONG>init_color</STRONG> must be in the range <STRONG>0</STRONG> to <STRONG>1000</STRONG>.
+ Color values used in <B>init_color</B> must be in the range <B>0</B> to <B>1000</B>.
An error is returned from all functions if the terminal has not
been initialized.
- An error is returned from secondary functions such as <STRONG>init_pair</STRONG> if
- <STRONG>start_color</STRONG> was not called.
+ An error is returned from secondary functions such as <B>init_pair</B> if
+ <B>start_color</B> was not called.
- <STRONG>o</STRONG> SVr4 does much the same, except that it returns <STRONG>ERR</STRONG> from <STRONG>pair_con-</STRONG>
- <STRONG>tent</STRONG> if the pair was not initialized using <STRONG>init_pairs</STRONG> and it re-
- turns <STRONG>ERR</STRONG> from <STRONG>color_content</STRONG> if the terminal does not support
+ <B>o</B> SVr4 does much the same, except that it returns <B>ERR</B> from <B>pair_con-</B>
+ <B>tent</B> if the pair was not initialized using <B>init_pairs</B> and it re-
+ turns <B>ERR</B> from <B>color_content</B> if the terminal does not support
changing colors.
- This implementation does not return <STRONG>ERR</STRONG> for either case.
+ This implementation does not return <B>ERR</B> for either case.
Specific functions make additional checks:
- <STRONG>init_color</STRONG>
+ <B>init_color</B>
returns an error if the terminal does not support this feature,
- e.g., if the <STRONG>initialize_color</STRONG> capability is absent from the
+ e.g., if the <B>initialize_color</B> capability is absent from the
terminal description.
- <STRONG>start_color</STRONG>
+ <B>start_color</B>
returns an error if the color table cannot be allocated.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- In the <STRONG>ncurses</STRONG> implementation, there is a separate color activation
- flag, color palette, color pairs table, and associated <STRONG>COLORS</STRONG> and <STRONG>COL-</STRONG>
- <STRONG>OR_PAIRS</STRONG> counts for each screen; the <STRONG>start_color</STRONG> function only affects
+ In the <B>ncurses</B> implementation, there is a separate color activation
+ flag, color palette, color pairs table, and associated <B>COLORS</B> and <B>COL-</B>
+ <B>OR_PAIRS</B> counts for each screen; the <B>start_color</B> function only affects
the current screen. The SVr4/XSI interface is not really designed with
this in mind, and historical implementations may use a single shared
color palette.
Setting an implicit background color via a color pair affects only
character cells that a character write operation explicitly touches.
To change the background color used when parts of a window are blanked
- by erasing or scrolling operations, see <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>.
+ by erasing or scrolling operations, see <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>.
Several caveats apply on older x86 machines (e.g., i386, i486) with
VGA-compatible graphics:
- <STRONG>o</STRONG> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
- combined with the <STRONG>A_BOLD</STRONG> attribute.
+ <B>o</B> COLOR_YELLOW is actually brown. To get yellow, use COLOR_YELLOW
+ combined with the <B>A_BOLD</B> attribute.
- <STRONG>o</STRONG> The A_BLINK attribute should in theory cause the background to go
+ <B>o</B> The A_BLINK attribute should in theory cause the background to go
bright. This often fails to work, and even some cards for which it
mostly works (such as the Paradise and compatibles) do the wrong
thing when you try to set a bright "yellow" background (you get a
blinking yellow foreground instead).
- <STRONG>o</STRONG> Color RGB values are not settable.
+ <B>o</B> Color RGB values are not settable.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
- and <STRONG>COLOR_PAIRS</STRONG>.
+ This implementation satisfies XSI Curses's minimum maximums for <B>COLORS</B>
+ and <B>COLOR_PAIRS</B>.
- The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and back-
- ground color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but only
+ The <B>init_pair</B> routine accepts negative values of foreground and back-
+ ground color to support the <B><A HREF="default_colors.3X.html">use_default_colors(3X)</A></B> extension, but only
if that routine has been first invoked.
- The assumption that <STRONG>COLOR_BLACK</STRONG> is the default background color for all
- terminals can be modified using the <STRONG><A HREF="default_colors.3x.html">assume_default_colors(3x)</A></STRONG> exten-
+ The assumption that <B>COLOR_BLACK</B> is the default background color for all
+ terminals can be modified using the <B><A HREF="default_colors.3X.html">assume_default_colors(3X)</A></B> exten-
sion.
This implementation checks the pointers, e.g., for the values returned
- by <STRONG>color_content</STRONG> and <STRONG>pair_content</STRONG>, and will treat those as optional pa-
+ by <B>color_content</B> and <B>pair_content</B>, and will treat those as optional pa-
rameters when null.
X/Open Curses does not specify a limit for the number of colors and
- color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
+ color pairs which a terminal can support. However, in its use of <B>short</B>
for the parameters, it carries over SVr4's implementation detail for
the compiled terminfo database, which uses signed 16-bit numbers. This
implementation provides extended versions of those functions which use
- <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ <B>short</B> parameters, allowing applications to use larger color- and pair-
numbers.
- The <STRONG>reset_color_pairs</STRONG> function is an extension of ncurses.
+ The <B>reset_color_pairs</B> function is an extension of ncurses.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>de-</STRONG>
- <STRONG><A HREF="default_colors.3x.html">fault_colors(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>de-</B>
+ <B><A HREF="default_colors.3X.html">fault_colors(3X)</A></B>
- <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_delch 3x</TITLE>
+<TITLE>curs_delch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_delch 3x</H1>
+<H1 class="no-header">curs_delch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+<B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B> <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete character under the cursor in
- a <STRONG>curses</STRONG> window
+ <B>delch</B>, <B>wdelch</B>, <B>mvdelch</B>, <B>mvwdelch</B> - delete character under the cursor in
+ a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>delch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvdelch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwdelch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>int</B> <B>delch(void);</B>
+ <B>int</B> <B>wdelch(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>mvdelch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>int</B> <B>mvwdelch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These routines delete the character under the cursor; all characters to
the right of the cursor on the same line are moved to the left one
position and the last character on the line is filled with a blank.
- The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
+ The cursor position does not change (after moving to <I>y</I>, <I>x</I>, if
specified). (This does not imply use of the hardware delete character
feature.)
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ All routines return the integer <B>ERR</B> upon failure and an <B>OK</B> (SVr4
+ specifies only "an integer value other than <B>ERR</B>") upon successful
completion.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
+ Note that <B>delch</B>, <B>mvdelch</B>, and <B>mvwdelch</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ standard specifies that they return <B>ERR</B> on failure, but specifies no
error conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_deleteln 3x</TITLE>
+<TITLE>curs_deleteln 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_deleteln 3x</H1>
+<H1 class="no-header">curs_deleteln 3X</H1>
<PRE>
-<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+<B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B> <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>deleteln</STRONG>, <STRONG>wdeleteln</STRONG>, <STRONG>insdelln</STRONG>, <STRONG>winsdelln</STRONG>, <STRONG>insertln</STRONG>, <STRONG>winsertln</STRONG> - delete
- and insert lines in a <STRONG>curses</STRONG> window
+ <B>deleteln</B>, <B>wdeleteln</B>, <B>insdelln</B>, <B>winsdelln</B>, <B>insertln</B>, <B>winsertln</B> - delete
+ and insert lines in a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>deleteln(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wdeleteln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>deleteln(void);</B>
+ <B>int</B> <B>wdeleteln(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>insdelln(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsdelln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>insdelln(int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>winsdelln(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>insertln(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsertln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>insertln(void);</B>
+ <B>int</B> <B>winsertln(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>deleteln</STRONG> and <STRONG>wdeleteln</STRONG> routines delete the line under the cursor in
+ The <B>deleteln</B> and <B>wdeleteln</B> routines delete the line under the cursor in
the window; all lines below the current line are moved up one line.
The bottom line of the window is cleared. The cursor position does not
change.
- The <STRONG>insdelln</STRONG> and <STRONG>winsdelln</STRONG> routines, for positive <EM>n</EM>, insert <EM>n</EM> lines
- into the specified window above the current line. The <EM>n</EM> bottom lines
- are lost. For negative <EM>n</EM>, delete <EM>n</EM> lines (starting with the one under
- the cursor), and move the remaining lines up. The bottom <EM>n</EM> lines are
+ The <B>insdelln</B> and <B>winsdelln</B> routines, for positive <I>n</I>, insert <I>n</I> lines
+ into the specified window above the current line. The <I>n</I> bottom lines
+ are lost. For negative <I>n</I>, delete <I>n</I> lines (starting with the one under
+ the cursor), and move the remaining lines up. The bottom <I>n</I> lines are
cleared. The current cursor position remains the same.
- The <STRONG>insertln</STRONG> and <STRONG>winsertln</STRONG> routines insert a blank line above the
+ The <B>insertln</B> and <B>winsertln</B> routines insert a blank line above the
current line and the bottom line is lost.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ All routines return the integer <B>ERR</B> upon failure and an <B>OK</B> (SVr4
+ specifies only "an integer value other than <B>ERR</B>") upon successful
completion.
X/Open defines no error conditions. In this implementation, if the
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
+ standard specifies that they return <B>ERR</B> on failure, but specifies no
error conditions.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all but <STRONG>winsdelln</STRONG> may be macros.
+ Note that all but <B>winsdelln</B> may be macros.
These routines do not require a hardware line delete or insert feature
in the terminal. In fact, they will not use hardware line
- delete/insert unless <STRONG>idlok(...,</STRONG> <STRONG>TRUE)</STRONG> has been set on the current
+ delete/insert unless <B>idlok(...,</B> <B>TRUE)</B> has been set on the current
window.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1999-2010,2016 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_extend 3x</TITLE>
+<TITLE>curs_extend 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_extend 3x</H1>
+<H1 class="no-header">curs_extend 3X</H1>
<PRE>
-<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+<B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B> <B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curses_version</STRONG>, <STRONG>use_extended_names</STRONG> - miscellaneous curses extensions
+ <B>curses_version</B>, <B>use_extended_names</B> - miscellaneous curses extensions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>curses_version(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_extended_names(bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*</B> <B>curses_version(void);</B>
+ <B>int</B> <B>use_extended_names(bool</B> <I>enable</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-curses_version">curses_version</a></H3><PRE>
- Use <STRONG>curses_version</STRONG> to get the version number, including patch level of
+ Use <B>curses_version</B> to get the version number, including patch level of
the library, prefixed by "ncurses", e.g.,
- <STRONG>ncurses</STRONG> <STRONG>5.0.19991023</STRONG>
+ <B>ncurses</B> <B>5.0.19991023</B>
</PRE><H3><a name="h3-use_extended_names">use_extended_names</a></H3><PRE>
- The <STRONG>use_extended_names</STRONG> function controls whether the calling
+ The <B>use_extended_names</B> function controls whether the calling
application is able to use user-defined or nonstandard names which may
be compiled into the terminfo description, i.e., via the terminfo or
termcap interfaces. Normally these names are available for use, since
- the essential decision is made by using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG> to compile
+ the essential decision is made by using the <B>-x</B> option of <B>tic</B> to compile
extended terminal definitions. However you can disable this feature to
ensure compatibility with other implementations of curses.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>curses_version</STRONG> returns a pointer to static memory; you should not free
+ <B>curses_version</B> returns a pointer to static memory; you should not free
this in your application.
- <STRONG>use_extended_names</STRONG> returns the previous state, allowing you to save
+ <B>use_extended_names</B> returns the previous state, allowing you to save
this and restore it.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>, <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>,
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+ <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>, <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>, <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>,
+ <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>, <B><A HREF="define_key.3X.html">define_key(3X)</A></B>, <B><A HREF="keybound.3X.html">keybound(3X)</A></B>, <B><A HREF="keyok.3X.html">keyok(3X)</A></B>,
+ <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>, <B><A HREF="wresize.3X.html">wresize(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ <B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2002-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wch 3x</TITLE>
+<TITLE>curs_get_wch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wch 3x</H1>
+<H1 class="no-header">curs_get_wch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+<B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B> <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, <STRONG>mvwget_wch</STRONG>, <STRONG>unget_wch</STRONG> - get (or push
+ <B>get_wch</B>, <B>wget_wch</B>, <B>mvget_wch</B>, <B>mvwget_wch</B>, <B>unget_wch</B> - get (or push
back) a wide character from curses terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>get_wch(wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>get_wch(wint_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>wget_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>wint_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>mvget_wch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>mvwget_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>unget_wch(const</B> <B>wchar_t</B> <I>wch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-wget_wch">wget_wch</a></H3><PRE>
- The <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions read a char-
+ The <B>get_wch</B>, <B>wget_wch</B>, <B>mvget_wch</B>, and <B>mvwget_wch</B> functions read a char-
acter from the terminal associated with the current or specified win-
- dow. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is re-
+ dow. In no-delay mode, if no input is waiting, the value <B>ERR</B> is re-
turned. In delay mode, the program waits until the system passes text
- through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this is
+ through to the program. Depending on the setting of <B>cbreak</B>, this is
after one character (cbreak mode), or after the first newline (nocbreak
mode). In half-delay mode, the program waits until the user types a
character or the specified timeout interval has elapsed.
- Unless <STRONG>noecho</STRONG> has been set, these routines echo the character into the
+ Unless <B>noecho</B> has been set, these routines echo the character into the
designated window.
If the window is not a pad and has been moved or modified since the
- last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ last call to <B>wrefresh</B>, <B>wrefresh</B> will be called before another character
is read.
- If <STRONG>keypad</STRONG> is enabled, these functions respond to the pressing of a
- function key by setting the object pointed to by <EM>wch</EM> to the keycode as-
- signed to the function key, and returning <STRONG>KEY_CODE_YES</STRONG>. If a character
+ If <B>keypad</B> is enabled, these functions respond to the pressing of a
+ function key by setting the object pointed to by <I>wch</I> to the keycode as-
+ signed to the function key, and returning <B>KEY_CODE_YES</B>. If a character
(such as escape) that could be the beginning of a function key is re-
ceived, curses sets a timer. If the remainder of the sequence does ar-
rive within the designated time, curses passes through the character;
escape key and the time the escape is returned to the program.
The keycodes returned by these functions are the same as those returned
- by <STRONG>wgetch</STRONG>:
+ by <B>wgetch</B>:
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
+ <B>o</B> The predefined function keys are listed in <B><curses.h></B> as macros
with values outside the range of 8-bit characters. Their names be-
- gin with <STRONG>KEY_</STRONG>.
+ gin with <B>KEY_</B>.
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ <B>o</B> Other (user-defined) function keys which may be defined using <B>de-</B>
+ <B><A HREF="define_key.3X.html">fine_key(3X)</A></B> have no names, but also are expected to have values
outside the range of 8-bit characters.
</PRE><H3><a name="h3-unget_wch">unget_wch</a></H3><PRE>
- The <STRONG>unget_wch</STRONG> function pushes the wide character <EM>wch</EM> back onto the head
+ The <B>unget_wch</B> function pushes the wide character <I>wch</I> back onto the head
of the input queue, so the wide character is returned by the next call
- to <STRONG>get_wch</STRONG>. The pushback of one character is guaranteed. If the pro-
- gram calls <STRONG>unget_wch</STRONG> too many times without an intervening call to
- <STRONG>get_wch</STRONG>, the operation may fail.
+ to <B>get_wch</B>. The pushback of one character is guaranteed. If the pro-
+ gram calls <B>unget_wch</B> too many times without an intervening call to
+ <B>get_wch</B>, the operation may fail.
- Unlike <STRONG>ungetch</STRONG> and <STRONG>wgetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish special charac-
- ters returned by <STRONG>wget_wch</STRONG> from ordinary characters. An application can
- push special keys which it may read via <STRONG>wget_wch</STRONG> by checking for the
- <STRONG>KEY_CODE_YES</STRONG> result, and using <STRONG>ungetch</STRONG> for those special keys.
+ Unlike <B>ungetch</B> and <B>wgetch</B>, <B>unget_wch</B> cannot distinguish special charac-
+ ters returned by <B>wget_wch</B> from ordinary characters. An application can
+ push special keys which it may read via <B>wget_wch</B> by checking for the
+ <B>KEY_CODE_YES</B> result, and using <B>ungetch</B> for those special keys.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><curses.h></STRONG> automatically includes the header file
- <STRONG><stdio.h></STRONG>.
+ The header file <B><curses.h></B> automatically includes the header file
+ <B><stdio.h></B>.
Applications should not define the escape key by itself as a single-
character function.
- When using <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, or <STRONG>mvwget_wch</STRONG>, applications
- should not use <STRONG>nocbreak</STRONG> mode and <STRONG>echo</STRONG> mode at the same time. Depending
+ When using <B>get_wch</B>, <B>wget_wch</B>, <B>mvget_wch</B>, or <B>mvwget_wch</B>, applications
+ should not use <B>nocbreak</B> mode and <B>echo</B> mode at the same time. Depending
on the state of the tty driver when each character is typed, the pro-
gram may produce undesirable results.
- All functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be macros.
+ All functions except <B>wget_wch</B> and <B>unget_wch</B> may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <STRONG>get_wch</STRONG>, <STRONG>wget_wch</STRONG>, <STRONG>mvget_wch</STRONG>, and <STRONG>mvwget_wch</STRONG> functions successful-
- ly report the pressing of a function key, they return <STRONG>KEY_CODE_YES</STRONG>.
- When they successfully report a wide character, they return <STRONG>OK</STRONG>. Other-
- wise, they return <STRONG>ERR</STRONG>.
+ When <B>get_wch</B>, <B>wget_wch</B>, <B>mvget_wch</B>, and <B>mvwget_wch</B> functions successful-
+ ly report the pressing of a function key, they return <B>KEY_CODE_YES</B>.
+ When they successfully report a wide character, they return <B>OK</B>. Other-
+ wise, they return <B>ERR</B>.
- Upon successful completion, <STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG>. Otherwise, the func-
- tion returns <STRONG>ERR</STRONG>.
+ Upon successful completion, <B>unget_wch</B> returns <B>OK</B>. Otherwise, the func-
+ tion returns <B>ERR</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>,
- <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>, <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>, <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>,
+ <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
- <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wstr 3x</TITLE>
+<TITLE>curs_get_wstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wstr 3x</H1>
+<H1 class="no-header">curs_get_wstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+<B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B> <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>get_wstr</STRONG>, <STRONG>getn_wstr</STRONG>, <STRONG>wget_wstr</STRONG>, <STRONG>wgetn_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>,
- <STRONG>mvwget_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG> - get an array of wide characters from a
+ <B>get_wstr</B>, <B>getn_wstr</B>, <B>wget_wstr</B>, <B>wgetn_wstr</B>, <B>mvget_wstr</B>, <B>mvgetn_wstr</B>,
+ <B>mvwget_wstr</B>, <B>mvwgetn_wstr</B> - get an array of wide characters from a
curses terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>get_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getn_wstr(wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>get_wstr(wint_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>getn_wstr(wint_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wget_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>wgetn_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvget_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetn_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwget_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetn_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvget_wstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvgetn_wstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwget_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvwgetn_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wint_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>
+ The effect of <B>get_wstr</B> is as though a series of calls to <B><A HREF="curs_get_wch.3X.html">get_wch(3X)</A></B>
were made, until a newline, other end-of-line, or end-of-file condition
- is processed. An end-of-file condition is represented by <STRONG>WEOF</STRONG>, as de-
- fined in <STRONG><wchar.h></STRONG>. The newline and end-of-line conditions are repre-
- sented by the <STRONG>\n</STRONG> <STRONG>wchar_t</STRONG> value. In all instances, the end of the
- string is terminated by a null <STRONG>wchar_t</STRONG>. The routine places resulting
- values in the area pointed to by <EM>wstr</EM>.
+ is processed. An end-of-file condition is represented by <B>WEOF</B>, as de-
+ fined in <B><wchar.h></B>. The newline and end-of-line conditions are repre-
+ sented by the <B>\n</B> <B>wchar_t</B> value. In all instances, the end of the
+ string is terminated by a null <B>wchar_t</B>. The routine places resulting
+ values in the area pointed to by <I>wstr</I>.
The user's erase and kill characters are interpreted. If keypad mode
- is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are both considered
+ is on for the window, <B>KEY_LEFT</B> and <B>KEY_BACKSPACE</B> are both considered
equivalent to the user's kill character.
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ Characters input are echoed only if <B>echo</B> is currently on. In that
case, backspace is echoed as deletion of the previous character (typi-
cally a left motion).
- The effect of <STRONG>wget_wstr</STRONG> is as though a series of calls to <STRONG>wget_wch</STRONG> were
+ The effect of <B>wget_wstr</B> is as though a series of calls to <B>wget_wch</B> were
made.
- The effect of <STRONG>mvget_wstr</STRONG> is as though a call to <STRONG>move</STRONG> and then a series
- of calls to <STRONG>get_wch</STRONG> were made.
+ The effect of <B>mvget_wstr</B> is as though a call to <B>move</B> and then a series
+ of calls to <B>get_wch</B> were made.
- The effect of <STRONG>mvwget_wstr</STRONG> is as though a call to <STRONG>wmove</STRONG> and then a se-
- ries of calls to <STRONG>wget_wch</STRONG> were made.
+ The effect of <B>mvwget_wstr</B> is as though a call to <B>wmove</B> and then a se-
+ ries of calls to <B>wget_wch</B> were made.
- The <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, and <STRONG>wgetn_wstr</STRONG> functions are
- identical to the <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, and <STRONG>wget_wstr</STRONG> func-
- tions, respectively, except that the <STRONG>*n_*</STRONG> versions read at most <EM>n</EM> char-
+ The <B>getn_wstr</B>, <B>mvgetn_wstr</B>, <B>mvwgetn_wstr</B>, and <B>wgetn_wstr</B> functions are
+ identical to the <B>get_wstr</B>, <B>mvget_wstr</B>, <B>mvwget_wstr</B>, and <B>wget_wstr</B> func-
+ tions, respectively, except that the <B>*n_*</B> versions read at most <I>n</I> char-
acters, letting the application prevent overflow of the input buffer.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
- that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
- The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>, respec-
+ Using <B>get_wstr</B>, <B>mvget_wstr</B>, <B>mvwget_wstr</B>, or <B>wget_wstr</B> to read a line
+ that overflows the array pointed to by <B>wstr</B> causes undefined results.
+ The use of <B>getn_wstr</B>, <B>mvgetn_wstr</B>, <B>mvwgetn_wstr</B>, or <B>wgetn_wstr</B>, respec-
tively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
- distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
+ These functions cannot return <B>KEY_</B> values because there is no way to
+ distinguish a <B>KEY_</B> value from a valid <B>wchar_t</B> value.
- All of these routines except <STRONG>wgetn_wstr</STRONG> may be macros.
+ All of these routines except <B>wgetn_wstr</B> may be macros.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All of these functions return <STRONG>OK</STRONG> upon successful completion. Other-
- wise, they return <STRONG>ERR</STRONG>.
+ All of these functions return <B>OK</B> upon successful completion. Other-
+ wise, they return <B>ERR</B>.
Functions using a window parameter return an error if it is null.
- <STRONG>wgetn_wstr</STRONG>
- returns an error if the associated call to <STRONG>wget_wch</STRONG> failed.
+ <B>wgetn_wstr</B>
+ returns an error if the associated call to <B>wget_wch</B> failed.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in The Single Unix Specification, Version
- 2. No error conditions are defined. This implementation returns <STRONG>ERR</STRONG>
- if the window pointer is null, or if the lower-level <STRONG>wget_wch</STRONG> call re-
- turns an <STRONG>ERR</STRONG>. In the latter case, an <STRONG>ERR</STRONG> return without other data is
+ 2. No error conditions are defined. This implementation returns <B>ERR</B>
+ if the window pointer is null, or if the lower-level <B>wget_wch</B> call re-
+ turns an <B>ERR</B>. In the latter case, an <B>ERR</B> return without other data is
treated as an end-of-file condition, and the returned array contains a
- <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
+ <B>WEOF</B> followed by a null <B>wchar_t</B>.
- X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
+ X/Open curses documented these functions to pass an array of <B>wchar_t</B> in
1997, but that was an error because of this part of the description:
- The effect of <EM>get</EM><STRONG>_</STRONG><EM>wstr()</EM> is as though a series of calls to
- <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> were made, until a newline character, end-of-line
+ The effect of <I>get</I><B>_</B><I>wstr()</I> is as though a series of calls to
+ <I>get</I><B>_</B><I>wch()</I> were made, until a newline character, end-of-line
character, or end-of-file character is processed.
- The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch()</EM> can return a negative value, while
- <STRONG>wchar_t</STRONG> is a unsigned type. All of the vendors implement this using
- <STRONG>wint_t</STRONG>, following the standard.
+ The latter function <I>get</I><B>_</B><I>wch()</I> can return a negative value, while
+ <B>wchar_t</B> is a unsigned type. All of the vendors implement this using
+ <B>wint_t</B>, following the standard.
X/Open Curses, Issue 7 (2009) is unclear regarding whether the termi-
- nating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>. X/Open
- Curses, Issue 7 revised the corresponding description of <STRONG>wgetnstr</STRONG> to
- address this issue. The unrevised description of <STRONG>wget_nwstr</STRONG> can be in-
+ nating <I>null</I> <B>wchar_t</B> value is counted in the length parameter <I>n</I>. X/Open
+ Curses, Issue 7 revised the corresponding description of <B>wgetnstr</B> to
+ address this issue. The unrevised description of <B>wget_nwstr</B> can be in-
terpreted either way. This implementation counts the terminator in the
length.
- X/Open Curses does not specify what happens if the length <EM>n</EM> is nega-
+ X/Open Curses does not specify what happens if the length <I>n</I> is nega-
tive.
- <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, ncurses 6.2 uses a limit (based on
- <STRONG>LINE_MAX</STRONG>).
+ <B>o</B> For analogy with <B>wgetnstr</B>, ncurses 6.2 uses a limit (based on
+ <B>LINE_MAX</B>).
- <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ <B>o</B> Some other implementations (such as Solaris xcurses) do the same,
while others (PDCurses) do not allow this.
- <STRONG>o</STRONG> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ <B>o</B> NetBSD 7 curses imitates ncurses 6.1 in this regard, treating a <B>-1</B>
as an indefinite number of characters.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>.
+ Functions: <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>, <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>.
- <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 2001-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.24 2020/02/02 23:34:34 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.25 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getcchar 3x</TITLE>
+<TITLE>curs_getcchar 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getcchar 3x</H1>
+<H1 class="no-header">curs_getcchar 3X</H1>
<PRE>
-<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+<B><A HREF="curs_getcchar.3X.html">curs_getcchar(3X)</A></B> <B><A HREF="curs_getcchar.3X.html">curs_getcchar(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getcchar</STRONG>, <STRONG>setcchar</STRONG> - Get a wide character string and rendition from a
- <STRONG>cchar_t</STRONG> or set a <STRONG>cchar_t</STRONG> from a wide-character string
+ <B>getcchar</B>, <B>setcchar</B> - Get a wide character string and rendition from a
+ <B>cchar_t</B> or set a <B>cchar_t</B> from a wide-character string
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>
- <STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
- <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+ <B>int</B> <B>getcchar(</B>
+ <B>const</B> <B>cchar_t</B> <B>*</B><I>wcval</I><B>,</B>
+ <B>wchar_t</B> <B>*</B><I>wch</I><B>,</B>
+ <B>attr_t</B> <B>*</B><I>attrs</I><B>,</B>
+ <B>short</B> <B>*</B><I>color</I><B>_</B><I>pair</I><B>,</B>
+ <B>void</B> <B>*</B><I>opts</I> <B>);</B>
- <STRONG>int</STRONG> <STRONG>setcchar(</STRONG>
- <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
- <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
- <STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
+ <B>int</B> <B>setcchar(</B>
+ <B>cchar_t</B> <B>*</B><I>wcval</I><B>,</B>
+ <B>const</B> <B>wchar_t</B> <B>*</B><I>wch</I><B>,</B>
+ <B>const</B> <B>attr_t</B> <I>attrs</I><B>,</B>
+ <B>short</B> <I>color</I><B>_</B><I>pair</I><B>,</B>
+ <B>const</B> <B>void</B> <B>*</B><I>opts</I> <B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
- The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
- <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG>
+ The <B>getcchar</B> function gets a wide-character string and rendition from a
+ <B>cchar_t</B> argument. When <I>wch</I> is not a null pointer, the <B>getcchar</B>
function does the following:
- <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
+ <B>o</B> Extracts information from a <B>cchar_t</B> value <I>wcval</I>
- <STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM>
+ <B>o</B> Stores the character attributes in the location pointed to by <I>attrs</I>
- <STRONG>o</STRONG> Stores the color-pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <B>o</B> Stores the color-pair in the location pointed to by <I>color</I><B>_</B><I>pair</I>
- <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>,
- into the array pointed to by <EM>wch</EM>.
+ <B>o</B> Stores the wide-character string, characters referenced by <I>wcval</I>,
+ into the array pointed to by <I>wch</I>.
- When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
+ When <I>wch</I> is a null pointer, the <B>getcchar</B> function does the following:
- <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM>
+ <B>o</B> Obtains the number of wide characters pointed to by <I>wcval</I>
- <STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <B>o</B> Does not change the data referenced by <I>attrs</I> or <I>color</I><B>_</B><I>pair</I>
</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
- The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by
+ The <B>setcchar</B> function initializes the location pointed to by <I>wcval</I> by
using:
- <STRONG>o</STRONG> The character attributes in <EM>attrs</EM>
+ <B>o</B> The character attributes in <I>attrs</I>
- <STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
+ <B>o</B> The color pair in <I>color</I><B>_</B><I>pair</I>
- <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be
+ <B>o</B> The wide-character string pointed to by <I>wch</I>. The string must be
L'\0' terminated, contain at most one spacing character, which must
be the first.
- Up to <STRONG>CCHARW_MAX</STRONG>-1 nonspacing characters may follow. Additional
+ Up to <B>CCHARW_MAX</B>-1 nonspacing characters may follow. Additional
nonspacing characters are ignored.
The string may contain a single control character instead. In that
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ X/Open Curses documents the <I>opts</I> argument as reserved for future use,
saying that it must be null. This implementation uses that parameter
in ABI 6 for the functions which have a color-pair parameter to support
extended color pairs:
- <STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>setcchar</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
- pair instead of the <STRONG>short</STRONG> pair parameter.
+ <B>o</B> For functions which modify the color, e.g., <B>setcchar</B>, if <I>opts</I> is
+ set it is treated as a pointer to <B>int</B>, and used to set the color
+ pair instead of the <B>short</B> pair parameter.
- <STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>getcchar</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
- color pair as an <STRONG>int</STRONG> value, in addition retrieving it via the
- standard pointer to <STRONG>short</STRONG> parameter.
+ <B>o</B> For functions which retrieve the color, e.g., <B>getcchar</B>, if <I>opts</I> is
+ set it is treated as a pointer to <B>int</B>, and used to retrieve the
+ color pair as an <B>int</B> value, in addition retrieving it via the
+ standard pointer to <B>short</B> parameter.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
- a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed
+ The <I>wcval</I> argument may be a value generated by a call to <B>setcchar</B> or by
+ a function that has a <B>cchar_t</B> output argument. If <I>wcval</I> is constructed
by any other means, the effect is unspecified.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide
- characters referenced by <EM>wcval</EM>, including one for a trailing null.
+ When <I>wch</I> is a null pointer, <B>getcchar</B> returns the number of wide
+ characters referenced by <I>wcval</I>, including one for a trailing null.
- When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
- completion, and <STRONG>ERR</STRONG> otherwise.
+ When <I>wch</I> is not a null pointer, <B>getcchar</B> returns <B>OK</B> upon successful
+ completion, and <B>ERR</B> otherwise.
- Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
- <STRONG>ERR</STRONG>.
+ Upon successful completion, <B>setcchar</B> returns <B>OK</B>. Otherwise, it returns
+ <B>ERR</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>CCHARW_MAX</STRONG> symbol is specific to ncurses. X/Open Curses does not
- provide details for the layout of the <STRONG>cchar_t</STRONG> structure. It tells what
+ The <B>CCHARW_MAX</B> symbol is specific to ncurses. X/Open Curses does not
+ provide details for the layout of the <B>cchar_t</B> structure. It tells what
data are stored in it:
- <STRONG>o</STRONG> a spacing character (<STRONG>wchar_t</STRONG>, i.e., 32-bits).
+ <B>o</B> a spacing character (<B>wchar_t</B>, i.e., 32-bits).
- <STRONG>o</STRONG> non-spacing characters (again, <STRONG>wchar_t</STRONG>'s).
+ <B>o</B> non-spacing characters (again, <B>wchar_t</B>'s).
- <STRONG>o</STRONG> attributes (at least 16 bits, inferred from the various ACS- and
+ <B>o</B> attributes (at least 16 bits, inferred from the various ACS- and
WACS-flags).
- <STRONG>o</STRONG> color pair (at least 16 bits, inferred from the <STRONG>unsigned</STRONG> <STRONG>short</STRONG>
+ <B>o</B> color pair (at least 16 bits, inferred from the <B>unsigned</B> <B>short</B>
type).
The non-spacing characters are optional, in the sense that zero or more
- may be stored in a <STRONG>cchar_t</STRONG>. XOpen/Curses specifies a limit:
+ may be stored in a <B>cchar_t</B>. XOpen/Curses specifies a limit:
Implementations may limit the number of non-spacing characters that
can be associated with a spacing character, provided any limit is
The Unix implementations at the time follow that limit:
- <STRONG>o</STRONG> AIX 4 and OSF1 4 use the same declaration with an array of 5 non-
- spacing characters <EM>z</EM> and a single spacing character <EM>c</EM>.
+ <B>o</B> AIX 4 and OSF1 4 use the same declaration with an array of 5 non-
+ spacing characters <I>z</I> and a single spacing character <I>c</I>.
- <STRONG>o</STRONG> HP-UX 10 uses an opaque structure with 28 bytes, which is large
- enough for the 6 <STRONG>wchar_t</STRONG> values.
+ <B>o</B> HP-UX 10 uses an opaque structure with 28 bytes, which is large
+ enough for the 6 <B>wchar_t</B> values.
- <STRONG>o</STRONG> Solaris xpg4 curses uses a single array of 6 <STRONG>wchar_t</STRONG> values.
+ <B>o</B> Solaris xpg4 curses uses a single array of 6 <B>wchar_t</B> values.
- This implementation's <STRONG>cchar_t</STRONG> was defined in 1995 using <STRONG>5</STRONG> for the total
- of spacing and non-spacing characters (<STRONG>CCHARW_MAX</STRONG>). That was probably
+ This implementation's <B>cchar_t</B> was defined in 1995 using <B>5</B> for the total
+ of spacing and non-spacing characters (<B>CCHARW_MAX</B>). That was probably
due to a misreading of the AIX 4 header files, because the X/Open
Curses document was not generally available at that time. Later (in
2002), this detail was overlooked when beginning to implement the
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- Functions: <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>wcwidth(3)</STRONG>.
+ Functions: <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B>wcwidth(3)</B>.
- <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ <B><A HREF="curs_getcchar.3X.html">curs_getcchar(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getch 3x</TITLE>
+<TITLE>curs_getch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getch 3x</H1>
+<H1 class="no-header">curs_getch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+<B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B> <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, <STRONG>ungetch</STRONG>, <STRONG>has_key</STRONG> - get (or push back)
- characters from <STRONG>curses</STRONG> terminal keyboard
+ <B>getch</B>, <B>wgetch</B>, <B>mvgetch</B>, <B>mvwgetch</B>, <B>ungetch</B>, <B>has_key</B> - get (or push back)
+ characters from <B>curses</B> terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>getch(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win);</EM>
+ <B>int</B> <B>getch(void);</B>
+ <B>int</B> <B>wgetch(WINDOW</B> <B>*</B><I>win);</I>
- <STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvgetch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>int</B> <B>mvwgetch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>ungetch(int</B> <I>ch</I><B>);</B>
/* extension */
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>has_key(int</B> <I>ch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Reading-characters">Reading characters</a></H3><PRE>
- The <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG> and <STRONG>mvwgetch</STRONG>, routines read a character from
- the window. In no-delay mode, if no input is waiting, the value <STRONG>ERR</STRONG> is
+ The <B>getch</B>, <B>wgetch</B>, <B>mvgetch</B> and <B>mvwgetch</B>, routines read a character from
+ the window. In no-delay mode, if no input is waiting, the value <B>ERR</B> is
returned. In delay mode, the program waits until the system passes
- text through to the program. Depending on the setting of <STRONG>cbreak</STRONG>, this
+ text through to the program. Depending on the setting of <B>cbreak</B>, this
is after one character (cbreak mode), or after the first newline
(nocbreak mode). In half-delay mode, the program waits until a charac-
ter is typed or the specified timeout has been reached.
- If <STRONG>echo</STRONG> is enabled, and the window is not a pad, then the character
+ If <B>echo</B> is enabled, and the window is not a pad, then the character
will also be echoed into the designated window according to the follow-
ing rules:
- <STRONG>o</STRONG> If the character is the current erase character, left arrow, or
+ <B>o</B> If the character is the current erase character, left arrow, or
backspace, the cursor is moved one space to the left and that
- screen position is erased as if <STRONG>delch</STRONG> had been called.
+ screen position is erased as if <B>delch</B> had been called.
- <STRONG>o</STRONG> If the character value is any other <STRONG>KEY_</STRONG> define, the user is alert-
- ed with a <STRONG>beep</STRONG> call.
+ <B>o</B> If the character value is any other <B>KEY_</B> define, the user is alert-
+ ed with a <B>beep</B> call.
- <STRONG>o</STRONG> If the character is a carriage-return, and if <STRONG>nl</STRONG> is enabled, it is
+ <B>o</B> If the character is a carriage-return, and if <B>nl</B> is enabled, it is
translated to a line-feed after echoing.
- <STRONG>o</STRONG> Otherwise the character is simply output to the screen.
+ <B>o</B> Otherwise the character is simply output to the screen.
If the window is not a pad, and it has been moved or modified since the
- last call to <STRONG>wrefresh</STRONG>, <STRONG>wrefresh</STRONG> will be called before another character
+ last call to <B>wrefresh</B>, <B>wrefresh</B> will be called before another character
is read.
</PRE><H3><a name="h3-Keypad-mode">Keypad mode</a></H3><PRE>
- If <STRONG>keypad</STRONG> is <STRONG>TRUE</STRONG>, and a function key is pressed, the token for that
+ If <B>keypad</B> is <B>TRUE</B>, and a function key is pressed, the token for that
function key is returned instead of the raw characters:
- <STRONG>o</STRONG> The predefined function keys are listed in <STRONG><curses.h></STRONG> as macros
+ <B>o</B> The predefined function keys are listed in <B><curses.h></B> as macros
with values outside the range of 8-bit characters. Their names be-
- gin with <STRONG>KEY_</STRONG>.
+ gin with <B>KEY_</B>.
- <STRONG>o</STRONG> Other (user-defined) function keys which may be defined using <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG> have no names, but also are expected to have values
+ <B>o</B> Other (user-defined) function keys which may be defined using <B>de-</B>
+ <B><A HREF="define_key.3X.html">fine_key(3X)</A></B> have no names, but also are expected to have values
outside the range of 8-bit characters.
Thus, a variable intended to hold the return value of a function key
must be of short size or larger.
When a character that could be the beginning of a function key is re-
- ceived (which, on modern terminals, means an escape character), <STRONG>curses</STRONG>
+ ceived (which, on modern terminals, means an escape character), <B>curses</B>
sets a timer. If the remainder of the sequence does not come in within
the designated time, the character is passed through; otherwise, the
function key value is returned. For this reason, many terminals expe-
rience a delay between the time a user presses the escape key and the
escape is returned to the program.
- In <STRONG>ncurses</STRONG>, the timer normally expires after the value in <STRONG>ESCDELAY</STRONG> (see
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). If <STRONG>notimeout</STRONG> is <STRONG>TRUE</STRONG>, the timer does not expire;
+ In <B>ncurses</B>, the timer normally expires after the value in <B>ESCDELAY</B> (see
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>). If <B>notimeout</B> is <B>TRUE</B>, the timer does not expire;
it is an infinite (or very large) value. Because function keys usually
begin with an escape character, the terminal may appear to hang in no-
timeout mode after pressing the escape key until another key is
</PRE><H3><a name="h3-Ungetting-characters">Ungetting characters</a></H3><PRE>
- The <STRONG>ungetch</STRONG> routine places <EM>ch</EM> back onto the input queue to be returned
- by the next call to <STRONG>wgetch</STRONG>. There is just one input queue for all win-
+ The <B>ungetch</B> routine places <I>ch</I> back onto the input queue to be returned
+ by the next call to <B>wgetch</B>. There is just one input queue for all win-
dows.
</PRE><H3><a name="h3-Predefined-key-codes">Predefined key-codes</a></H3><PRE>
- The following special keys are defined in <STRONG><curses.h></STRONG>.
+ The following special keys are defined in <B><curses.h></B>.
- <STRONG>o</STRONG> Except for the special case <STRONG>KEY_RESIZE</STRONG>, it is necessary to enable
- <STRONG>keypad</STRONG> for <STRONG>getch</STRONG> to return these codes.
+ <B>o</B> Except for the special case <B>KEY_RESIZE</B>, it is necessary to enable
+ <B>keypad</B> for <B>getch</B> to return these codes.
- <STRONG>o</STRONG> Not all of these are necessarily supported on any particular termi-
+ <B>o</B> Not all of these are necessarily supported on any particular termi-
nal.
- <STRONG>o</STRONG> The naming convention may seem obscure, with some apparent mis-
+ <B>o</B> The naming convention may seem obscure, with some apparent mis-
spellings (such as "RSUME" for "resume"). The names correspond to
the long terminfo capability names for the keys, and were defined
long ago, in the 1980s.
- <EM>Name</EM> <EM>Key</EM> <EM>name</EM>
+ <I>Name</I> <I>Key</I> <I>name</I>
-------------------------------------------------
KEY_BREAK Break key
KEY_DOWN The four arrow keys ...
KEY_BACKSPACE Backspace
KEY_F0 Function keys; space for 64 keys
is reserved.
- KEY_F(<EM>n</EM>) For 0 <= <EM>n</EM> <= 63
+ KEY_F(<I>n</I>) For 0 <= <I>n</I> <= 63
KEY_DL Delete line
KEY_IL Insert line
KEY_DC Delete character
Keypad is arranged like this:
+-----+------+-------+
- | <STRONG>A1</STRONG> | <STRONG>up</STRONG> | <STRONG>A3</STRONG> |
+ | <B>A1</B> | <B>up</B> | <B>A3</B> |
+-----+------+-------+
- |<STRONG>left</STRONG> | <STRONG>B2</STRONG> | <STRONG>right</STRONG> |
+ |<B>left</B> | <B>B2</B> | <B>right</B> |
+-----+------+-------+
- | <STRONG>C1</STRONG> | <STRONG>down</STRONG> | <STRONG>C3</STRONG> |
+ | <B>C1</B> | <B>down</B> | <B>C3</B> |
+-----+------+-------+
- A few of these predefined values do <EM>not</EM> correspond to a real key:
+ A few of these predefined values do <I>not</I> correspond to a real key:
- <STRONG>o</STRONG> <STRONG>KEY_RESIZE</STRONG> is returned when the <STRONG>SIGWINCH</STRONG> signal has been detected
- (see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>). This code is returned
- whether or not <STRONG>keypad</STRONG> has been enabled.
+ <B>o</B> <B>KEY_RESIZE</B> is returned when the <B>SIGWINCH</B> signal has been detected
+ (see <B><A HREF="curs_initscr.3X.html">initscr(3X)</A></B> and <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>). This code is returned
+ whether or not <B>keypad</B> has been enabled.
- <STRONG>o</STRONG> <STRONG>KEY_MOUSE</STRONG> is returned for mouse-events (see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>). This
- code relies upon whether or not <STRONG><A HREF="curs_inopts.3x.html">keypad(3x)</A></STRONG> has been enabled, be-
- cause (e.g., with <EM>xterm</EM> mouse prototocol) ncurses must read escape
+ <B>o</B> <B>KEY_MOUSE</B> is returned for mouse-events (see <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>). This
+ code relies upon whether or not <B><A HREF="curs_inopts.3X.html">keypad(3X)</A></B> has been enabled, be-
+ cause (e.g., with <I>xterm</I> mouse prototocol) ncurses must read escape
sequences, just like a function key.
</PRE><H3><a name="h3-Testing-key-codes">Testing key-codes</a></H3><PRE>
- The <STRONG>has_key</STRONG> routine takes a key-code value from the above list, and re-
- turns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG> according to whether the current terminal type rec-
+ The <B>has_key</B> routine takes a key-code value from the above list, and re-
+ turns <B>TRUE</B> or <B>FALSE</B> according to whether the current terminal type rec-
ognizes a key with that value.
The library also supports these extensions:
- <STRONG>define_key</STRONG>
- defines a key-code for a given string (see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>).
+ <B>define_key</B>
+ defines a key-code for a given string (see <B><A HREF="define_key.3X.html">define_key(3X)</A></B>).
- <STRONG>key_defined</STRONG>
+ <B>key_defined</B>
checks if there is a key-code defined for a given string (see
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>).
+ <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> (<STRONG>OK</STRONG> in the case of <STRONG>ungetch</STRONG>) upon successful completion.
+ All routines return the integer <B>ERR</B> upon failure and an integer value
+ other than <B>ERR</B> (<B>OK</B> in the case of <B>ungetch</B>) upon successful completion.
- <STRONG>ungetch</STRONG>
- returns <STRONG>ERR</STRONG> if there is no more room in the FIFO.
+ <B>ungetch</B>
+ returns <B>ERR</B> if there is no more room in the FIFO.
- <STRONG>wgetch</STRONG>
- returns <STRONG>ERR</STRONG> if the window pointer is null, or if its timeout
+ <B>wgetch</B>
+ returns <B>ERR</B> if the window pointer is null, or if its timeout
expires without having any data, or if the execution was inter-
- rupted by a signal (<STRONG>errno</STRONG> will be set to <STRONG>EINTR</STRONG>).
+ rupted by a signal (<B>errno</B> will be set to <B>EINTR</B>).
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
is discouraged, as it will cause a delay of up to one second while the
keypad code looks for a following function-key sequence.
- Some keys may be the same as commonly used control keys, e.g., <STRONG>KEY_EN-</STRONG>
- <STRONG>TER</STRONG> versus control/M, <STRONG>KEY_BACKSPACE</STRONG> versus control/H. Some curses im-
+ Some keys may be the same as commonly used control keys, e.g., <B>KEY_EN-</B>
+ <B>TER</B> versus control/M, <B>KEY_BACKSPACE</B> versus control/H. Some curses im-
plementations may differ according to whether they treat these control
keys specially (and ignore the terminfo), or use the terminfo defini-
- tions. <STRONG>Ncurses</STRONG> uses the terminfo definition. If it says that <STRONG>KEY_EN-</STRONG>
- <STRONG>TER</STRONG> is control/M, <STRONG>getch</STRONG> will return <STRONG>KEY_ENTER</STRONG> when you press control/M.
+ tions. <B>Ncurses</B> uses the terminfo definition. If it says that <B>KEY_EN-</B>
+ <B>TER</B> is control/M, <B>getch</B> will return <B>KEY_ENTER</B> when you press control/M.
- Generally, <STRONG>KEY_ENTER</STRONG> denotes the character(s) sent by the <EM>Enter</EM> key on
+ Generally, <B>KEY_ENTER</B> denotes the character(s) sent by the <I>Enter</I> key on
the numeric keypad:
- <STRONG>o</STRONG> the terminal description lists the most useful keys,
+ <B>o</B> the terminal description lists the most useful keys,
- <STRONG>o</STRONG> the <EM>Enter</EM> key on the regular keyboard is already handled by the
+ <B>o</B> the <I>Enter</I> key on the regular keyboard is already handled by the
standard ASCII characters for carriage-return and line-feed,
- <STRONG>o</STRONG> depending on whether <STRONG>nl</STRONG> or <STRONG>nonl</STRONG> was called, pressing "Enter" on the
+ <B>o</B> depending on whether <B>nl</B> or <B>nonl</B> was called, pressing "Enter" on the
regular keyboard may return either a carriage-return or line-feed,
and finally
- <STRONG>o</STRONG> "Enter or send" is the standard description for this key.
+ <B>o</B> "Enter or send" is the standard description for this key.
- When using <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, or <STRONG>mvwgetch</STRONG>, nocbreak mode
- (<STRONG>nocbreak</STRONG>) and echo mode (<STRONG>echo</STRONG>) should not be used at the same time.
+ When using <B>getch</B>, <B>wgetch</B>, <B>mvgetch</B>, or <B>mvwgetch</B>, nocbreak mode
+ (<B>nocbreak</B>) and echo mode (<B>echo</B>) should not be used at the same time.
Depending on the state of the tty driver when each character is typed,
the program may produce undesirable results.
- Note that <STRONG>getch</STRONG>, <STRONG>mvgetch</STRONG>, and <STRONG>mvwgetch</STRONG> may be macros.
+ Note that <B>getch</B>, <B>mvgetch</B>, and <B>mvwgetch</B> may be macros.
Historically, the set of keypad macros was largely defined by the ex-
tremely function-key-rich keyboard of the AT&T 7300, aka 3B1, aka Sa-
fari 4. Modern personal computers usually have only a small subset of
these. IBM PC-style consoles typically support little more than
- <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>, <STRONG>KEY_NPAGE</STRONG>,
- <STRONG>KEY_PPAGE</STRONG>, and function keys 1 through 12. The Ins key is usually
- mapped to <STRONG>KEY_IC</STRONG>.
+ <B>KEY_UP</B>, <B>KEY_DOWN</B>, <B>KEY_LEFT</B>, <B>KEY_RIGHT</B>, <B>KEY_HOME</B>, <B>KEY_END</B>, <B>KEY_NPAGE</B>,
+ <B>KEY_PPAGE</B>, and function keys 1 through 12. The Ins key is usually
+ mapped to <B>KEY_IC</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The *get* functions are described in the XSI Curses standard, Issue 4.
They read single-byte characters only. The standard specifies that
- they return <STRONG>ERR</STRONG> on failure, but specifies no error conditions.
+ they return <B>ERR</B> on failure, but specifies no error conditions.
- The echo behavior of these functions on input of <STRONG>KEY_</STRONG> or backspace
+ The echo behavior of these functions on input of <B>KEY_</B> or backspace
characters was not specified in the SVr4 documentation. This descrip-
tion is adopted from the XSI Curses standard.
- The behavior of <STRONG>getch</STRONG> and friends in the presence of handled signals is
+ The behavior of <B>getch</B> and friends in the presence of handled signals is
unspecified in the SVr4 and XSI Curses documentation. Under historical
curses implementations, it varied depending on whether the operating
- system's implementation of handled signal receipt interrupts a <STRONG>read(2)</STRONG>
+ system's implementation of handled signal receipt interrupts a <B>read(2)</B>
call in progress or not, and also (in some implementations) depending
on whether an input timeout or non-blocking mode has been set.
- <STRONG>KEY_MOUSE</STRONG> is mentioned in XSI Curses, along with a few related terminfo
+ <B>KEY_MOUSE</B> is mentioned in XSI Curses, along with a few related terminfo
capabilities, but no higher-level functions use the feature. The im-
plementation in ncurses is an extension.
- <STRONG>KEY_RESIZE</STRONG> is an extension first implemented for ncurses. NetBSD curs-
+ <B>KEY_RESIZE</B> is an extension first implemented for ncurses. NetBSD curs-
es later added this extension.
Programmers concerned about portability should be prepared for either
- of two cases: (a) signal receipt does not interrupt <STRONG>getch</STRONG>; (b) signal
- receipt interrupts <STRONG>getch</STRONG> and causes it to return <STRONG>ERR</STRONG> with <STRONG>errno</STRONG> set to
- <STRONG>EINTR</STRONG>.
+ of two cases: (a) signal receipt does not interrupt <B>getch</B>; (b) signal
+ receipt interrupts <B>getch</B> and causes it to return <B>ERR</B> with <B>errno</B> set to
+ <B>EINTR</B>.
- The <STRONG>has_key</STRONG> function is unique to <STRONG>ncurses</STRONG>. We recommend that any code
- using it be conditionalized on the <STRONG>NCURSES_VERSION</STRONG> feature macro.
+ The <B>has_key</B> function is unique to <B>ncurses</B>. We recommend that any code
+ using it be conditionalized on the <B>NCURSES_VERSION</B> feature macro.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>, <STRONG>curs_out-</STRONG>
- <STRONG><A HREF="curs_outopts.3x.html">opts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>, <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>, <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>, <B>curs_out-</B>
+ <B><A HREF="curs_outopts.3X.html">opts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>.
Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>.
+ scribed in <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>.
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getstr 3x</TITLE>
+<TITLE>curs_getstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getstr 3x</H1>
+<H1 class="no-header">curs_getstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+<B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B> <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getstr</STRONG>, <STRONG>getnstr</STRONG>, <STRONG>wgetstr</STRONG>, <STRONG>wgetnstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetstr</STRONG>,
- <STRONG>mvwgetnstr</STRONG> - accept character strings from <STRONG>curses</STRONG> terminal keyboard
+ <B>getstr</B>, <B>getnstr</B>, <B>wgetstr</B>, <B>wgetnstr</B>, <B>mvgetstr</B>, <B>mvgetnstr</B>, <B>mvwgetstr</B>,
+ <B>mvwgetnstr</B> - accept character strings from <B>curses</B> terminal keyboard
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>getstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getnstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getstr(char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>getnstr(char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wgetstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>wgetnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvgetstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvgetnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwgetnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvgetstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvwgetstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvgetnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwgetnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>getstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, until
+ The function <B>getstr</B> is equivalent to a series of calls to <B>getch</B>, until
a newline or carriage return is received (the terminating character is
not included in the returned string). The resulting value is placed in
- the area pointed to by the character pointer <EM>str</EM>, followed by a NUL.
+ the area pointed to by the character pointer <I>str</I>, followed by a NUL.
- The <STRONG>getnstr</STRONG> function reads from the <EM>stdscr</EM> default window. The other
- functions, such as <STRONG>wgetnstr</STRONG>, read from the window given as a parameter.
+ The <B>getnstr</B> function reads from the <I>stdscr</I> default window. The other
+ functions, such as <B>wgetnstr</B>, read from the window given as a parameter.
- <STRONG>getnstr</STRONG> reads at most <EM>n</EM> characters, thus preventing a possible overflow
+ <B>getnstr</B> reads at most <I>n</I> characters, thus preventing a possible overflow
of the input buffer. Any attempt to enter more characters (other than
the terminating newline or carriage return) causes a beep. Function
keys also cause a beep and are ignored.
- The user's <EM>erase</EM> and <EM>kill</EM> characters are interpreted:
+ The user's <I>erase</I> and <I>kill</I> characters are interpreted:
- <STRONG>o</STRONG> The <EM>erase</EM> character (e.g., <STRONG>^H</STRONG>) erases the character at the end of
+ <B>o</B> The <I>erase</I> character (e.g., <B>^H</B>) erases the character at the end of
the buffer, moving the cursor to the left.
- If <EM>keypad</EM> mode is on for the window, <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
+ If <I>keypad</I> mode is on for the window, <B>KEY_LEFT</B> and <B>KEY_BACKSPACE</B> are
both considered equivalent to the user's erase character.
- <STRONG>o</STRONG> The <EM>kill</EM> character (e.g., <STRONG>^U</STRONG>) erases the entire buffer, leaving the
+ <B>o</B> The <I>kill</I> character (e.g., <B>^U</B>) erases the entire buffer, leaving the
cursor at the beginning of the buffer.
- Characters input are echoed only if <STRONG>echo</STRONG> is currently on. In that
+ Characters input are echoed only if <B>echo</B> is currently on. In that
case, backspace is echoed as deletion of the previous character (typi-
cally a left motion).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4 speci-
- fies only "an integer value other than <STRONG>ERR</STRONG>") upon successful comple-
+ All routines return the integer <B>ERR</B> upon failure and an <B>OK</B> (SVr4 speci-
+ fies only "an integer value other than <B>ERR</B>") upon successful comple-
tion.
X/Open defines no error conditions.
In this implementation, these functions return an error if the window
pointer is null, or if its timeout expires without having any data.
- This implementation provides an extension as well. If a <STRONG>SIGWINCH</STRONG> in-
- terrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>.
+ This implementation provides an extension as well. If a <B>SIGWINCH</B> in-
+ terrupts the function, it will return <B>KEY_RESIZE</B> rather than <B>OK</B> or <B>ERR</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, and <STRONG>mvwgetstr</STRONG> may be macros.
+ Note that <B>getstr</B>, <B>mvgetstr</B>, and <B>mvwgetstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4.
They read single-byte characters only. The standard does not define
- any error conditions. This implementation returns <STRONG>ERR</STRONG> if the window
- pointer is null, or if the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
+ any error conditions. This implementation returns <B>ERR</B> if the window
+ pointer is null, or if the lower-level <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> call returns an <B>ERR</B>.
SVr3 and early SVr4 curses implementations did not reject function
keys; the SVr4.0 documentation claimed that "special keys" (such as
- function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted", with-
+ function keys, "home" key, "clear" key, <I>etc</I>.) are "interpreted", with-
out giving details. It lied. In fact, the "character" value appended
to the string by those implementations was predictable but not useful
(being, in fact, the low-order eight bits of the key's KEY_ value).
- The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+ The functions <B>getnstr</B>, <B>mvgetnstr</B>, and <B>mvwgetnstr</B> were present but not
documented in SVr4.
X/Open Curses, Issue 5 (2007) stated that these functions "read at most
- <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
+ <I>n</I> bytes" but did not state whether the terminating NUL is counted in
that limit. X/Open Curses, Issue 7 (2009) changed that to say they
- "read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
+ "read at most <I>n</I>-1 bytes" to allow for the terminating NUL. As of 2018,
some implementations do, some do not count it:
- <STRONG>o</STRONG> ncurses 6.1 and PDCurses do not count the NUL in the given limit,
+ <B>o</B> ncurses 6.1 and PDCurses do not count the NUL in the given limit,
while
- <STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
+ <B>o</B> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
- <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG> re-
- serves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL consistently.
+ <B>o</B> Solaris xcurses provides both: its wide-character <B>wget_nstr</B> re-
+ serves a NUL, but its <B>wgetnstr</B> does not count the NUL consistently.
- In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
+ In SVr4 curses, a negative value of <I>n</I> tells <B>wgetnstr</B> to assume that the
caller's buffer is large enough to hold the result, i.e., to act like
- <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
- negative or zero values of <EM>n</EM>), however most implementations use the
+ <B>wgetstr</B>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <I>n</I>), however most implementations use the
feature, with different limits:
- <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ <B>o</B> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
Other Unix systems than Solaris are likely to use the same limit.
- <STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
+ <B>o</B> Solaris xcurses limits the result to <B>LINE_MAX</B> bytes.
- <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
- However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ <B>o</B> NetBSD 7 assumes no particular limit for the result from <B>wgetstr</B>.
+ However, it limits the <B>wgetnstr</B> parameter <I>n</I> to ensure that it is
greater than zero.
A comment in NetBSD's source code states that this is specified in
SUSv2.
- <STRONG>o</STRONG> ncurses (before 6.2) assumes no particular limit for the result
- from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ <B>o</B> ncurses (before 6.2) assumes no particular limit for the result
+ from <B>wgetstr</B>, and treats the <I>n</I> parameter of <B>wgetnstr</B> like SVr4
curses.
- <STRONG>o</STRONG> ncurses 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
- which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
- <STRONG>sysconf</STRONG> is available, ncurses uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ <B>o</B> ncurses 6.2 uses <B>LINE_MAX</B>, or a larger (system-dependent) value
+ which the <B>sysconf</B> function may provide. If neither <B>LINE_MAX</B> or
+ <B>sysconf</B> is available, ncurses uses the POSIX value for <B>LINE_MAX</B> (a
2048 byte limit). In either case, it reserves a byte for the ter-
minating NUL.
- Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
+ Although <B>getnstr</B> is equivalent to a series of calls to <B>getch</B>, it also
makes changes to the curses modes to allow simple editing of the input
buffer:
- <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
- modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
+ <B>o</B> <B>getnstr</B> saves the current value of the <B>nl</B>, <B>echo</B>, <B>raw</B> and <B>cbreak</B>
+ modes, and sets <B>nl</B>, <B>noecho</B>, <B>noraw</B>, and <B>cbreak</B>.
- <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
+ <B>getnstr</B> handles the echoing of characters, rather than relying on
the caller to set an appropriate mode.
- <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
- <STRONG>killchar</STRONG>, respectively.
+ <B>o</B> It also obtains the <I>erase</I> and <I>kill</I> characters from <B>erasechar</B> and
+ <B>killchar</B>, respectively.
- <STRONG>o</STRONG> On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
+ <B>o</B> On return, <B>getnstr</B> restores the modes to their previous values.
Other implementations differ in their treatment of special characters:
- <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not mod-
- ify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the caller
- into account when deciding whether to handle echoing within <STRONG>getnstr</STRONG>
- or as a side-effect of the <STRONG>getch</STRONG> calls.
+ <B>o</B> While they may set the <I>echo</I> mode, other implementations do not mod-
+ ify the <I>raw</I> mode, They may take the <I>cbreak</I> mode set by the caller
+ into account when deciding whether to handle echoing within <B>getnstr</B>
+ or as a side-effect of the <B>getch</B> calls.
- <STRONG>o</STRONG> The original ncurses (as pcurses in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when
- accepting input for <STRONG>getnstr</STRONG>. That may have been done to make func-
+ <B>o</B> The original ncurses (as pcurses in 1986) set <B>noraw</B> and <B>cbreak</B> when
+ accepting input for <B>getnstr</B>. That may have been done to make func-
tion- and cursor-keys work; it is not necessary with ncurses.
Since 1995, ncurses has provided signal handlers for INTR and QUIT
- (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
+ (e.g., <B>^C</B> or <B>^\</B>). With the <B>noraw</B> and <B>cbreak</B> settings, those may
catch a signal and stop the program, where other implementations
allow one to enter those characters in the buffer.
- <STRONG>o</STRONG> Starting in 2021 (ncurses 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG>
- and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g., allow-
- ing one to enter a <STRONG>^C</STRONG> into the buffer.
+ <B>o</B> Starting in 2021 (ncurses 6.3), <B>getnstr</B> sets <B>raw</B>, rather than <B>noraw</B>
+ and <B>cbreak</B> for better compatibility with SVr4-curses, e.g., allow-
+ ing one to enter a <B>^C</B> into the buffer.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>, <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2007,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getyx 3x</TITLE>
+<TITLE>curs_getyx 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getyx 3x</H1>
+<H1 class="no-header">curs_getyx 3X</H1>
<PRE>
-<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+<B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B> <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG>, <STRONG>getmaxyx</STRONG> - get <STRONG>curses</STRONG> cursor and window
+ <B>getyx</B>, <B>getparyx</B>, <B>getbegyx</B>, <B>getmaxyx</B> - get <B>curses</B> cursor and window
coordinates
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>void</STRONG> <STRONG>getyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>getparyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>getbegyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>getmaxyx(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>void</B> <B>getyx(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>void</B> <B>getparyx(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>void</B> <B>getbegyx(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>void</B> <B>getmaxyx(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>getyx</STRONG> macro places the current cursor position of the given window
- in the two integer variables <EM>y</EM> and <EM>x</EM>.
+ The <B>getyx</B> macro places the current cursor position of the given window
+ in the two integer variables <I>y</I> and <I>x</I>.
- If <EM>win</EM> is a subwindow, the <STRONG>getparyx</STRONG> macro places the beginning
+ If <I>win</I> is a subwindow, the <B>getparyx</B> macro places the beginning
coordinates of the subwindow relative to the parent window into two
- integer variables <EM>y</EM> and <EM>x</EM>. Otherwise, <STRONG>-1</STRONG> is placed into <EM>y</EM> and <EM>x</EM>.
+ integer variables <I>y</I> and <I>x</I>. Otherwise, <B>-1</B> is placed into <I>y</I> and <I>x</I>.
- Like <STRONG>getyx</STRONG>, the <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros store the current
+ Like <B>getyx</B>, the <B>getbegyx</B> and <B>getmaxyx</B> macros store the current
beginning coordinates and size of the specified window.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All of these interfaces are macros. A "<STRONG>&</STRONG>" is not necessary before the
- variables <EM>y</EM> and <EM>x</EM>.
+ All of these interfaces are macros. A "<B>&</B>" is not necessary before the
+ variables <I>y</I> and <I>x</I>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the
+ The <B>getyx</B>, <B>getparyx</B>, <B>getbegyx</B> and <B>getmaxyx</B> macros are described in the
XSI Curses standard, Issue 4.
- This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
- <STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
+ This implementation also provides functions <B>getbegx</B>, <B>getbegy</B>, <B>getcurx</B>,
+ <B>getcury</B>, <B>getmaxx</B>, <B>getmaxy</B>, <B>getparx</B> and <B>getpary</B> for compatibility with
older versions of curses.
Although X/Open Curses does not address this, many implementations
example, the WINDOW._maxx and WINDOW._maxy values in ncurses have (at
least since release 1.8.1) differed by one from some other
implementations. The difference is hidden by means of the macro
- <STRONG>getmaxyx</STRONG>.
+ <B>getmaxyx</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>, <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>
- <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wch 3x</TITLE>
+<TITLE>curs_in_wch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wch 3x</H1>
+<H1 class="no-header">curs_in_wch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+<B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B> <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>in_wch</STRONG>, <STRONG>mvin_wch</STRONG>, <STRONG>mvwin_wch</STRONG>, <STRONG>win_wch</STRONG> - extract a complex character and
+ <B>in_wch</B>, <B>mvin_wch</B>, <B>mvwin_wch</B>, <B>win_wch</B> - extract a complex character and
rendition from a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <B>int</B> <B>in_wch(cchar_t</B> <B>*</B><I>wcval</I><B>);</B>
+ <B>int</B> <B>win_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wcval</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvin_wch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wcval</I><B>);</B>
+ <B>int</B> <B>mvwin_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wcval</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions extract the complex character and rendition from the
- current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
+ current position in the named window into the <B>cchar_t</B> object referenced
by wcval.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
No errors are defined in the XSI Curses standard. This implementation
- checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM>
- routines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
- Otherwise they return <STRONG>OK</STRONG>.
+ checks for null pointers, returns <B>ERR</B> in that case. Also, the <I>mv</I>
+ routines check for error moving the cursor, returning <B>ERR</B> in that case.
+ Otherwise they return <B>OK</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>.
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wchstr 3x</TITLE>
+<TITLE>curs_in_wchstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wchstr 3x</H1>
+<H1 class="no-header">curs_in_wchstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+<B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B> <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>in_wchstr</STRONG>, <STRONG>in_wchnstr</STRONG>, <STRONG>win_wchstr</STRONG>, <STRONG>win_wchnstr</STRONG>, <STRONG>mvin_wchstr</STRONG>,
- <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> - get an array of complex
+ <B>in_wchstr</B>, <B>in_wchnstr</B>, <B>win_wchstr</B>, <B>win_wchnstr</B>, <B>mvin_wchstr</B>,
+ <B>mvin_wchnstr</B>, <B>mvwin_wchstr</B>, <B>mvwin_wchnstr</B> - get an array of complex
characters and renditions from a curses window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>in_wchstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>in_wchnstr(cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>in_wchstr(cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>in_wchnstr(cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>win_wchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>win_wchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvin_wchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvin_wchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin_wchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin_wchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wchstr</EM>, int <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvin_wchstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>mvin_wchnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwin_wchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I><B>);</B>
+ <B>int</B> <B>mvwin_wchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>cchar_t</B> <B>*</B><I>wchstr</I>, int <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions return an array of complex characters in <EM>wchstr</EM>, start-
+ These functions return an array of complex characters in <I>wchstr</I>, start-
ing at the current cursor position in the named window. Attributes
(rendition) are stored with the characters.
- The <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG> and <STRONG>win_wchnstr</STRONG> fill the
- array with at most <EM>n</EM> <STRONG>cchar_t</STRONG> elements.
+ The <B>in_wchnstr</B>, <B>mvin_wchnstr</B>, <B>mvwin_wchnstr</B> and <B>win_wchnstr</B> fill the
+ array with at most <I>n</I> <B>cchar_t</B> elements.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all routines except <STRONG>win_wchnstr</STRONG> may be macros.
+ Note that all routines except <B>win_wchnstr</B> may be macros.
- Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
- <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined re-
- sults. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>, <STRONG>mvwin_wchnstr</STRONG>,
- or <STRONG>win_wchnstr</STRONG> is recommended.
+ Reading a line that overflows the array pointed to by <I>wchstr</I> with
+ <B>in_wchstr</B>, <B>mvin_wchstr</B>, <B>mvwin_wchstr</B> or <B>win_wchstr</B> causes undefined re-
+ sults. Therefore, the use of <B>in_wchnstr</B>, <B>mvin_wchnstr</B>, <B>mvwin_wchnstr</B>,
+ or <B>win_wchnstr</B> is recommended.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
- return <STRONG>ERR</STRONG>.
+ Upon successful completion, these functions return <B>OK</B>. Otherwise, they
+ return <B>ERR</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses defines no error conditions. This implementation checks
- for null pointers, returning <STRONG>ERR</STRONG> in that case.
+ for null pointers, returning <B>ERR</B> in that case.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- Functions: <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ Functions: <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>, <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>, <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
- <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.25 2020/10/18 00:25:23 tom Exp @
+ * @Id: curs_inch.3x,v 1.26 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inch 3x</TITLE>
+<TITLE>curs_inch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inch 3x</H1>
+<H1 class="no-header">curs_inch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+<B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B> <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>inch</STRONG>, <STRONG>winch</STRONG>, <STRONG>mvinch</STRONG>, <STRONG>mvwinch</STRONG> - get a character and attributes from a
- <STRONG>curses</STRONG> window
+ <B>inch</B>, <B>winch</B>, <B>mvinch</B>, <B>mvwinch</B> - get a character and attributes from a
+ <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>chtype</STRONG> <STRONG>inch(void);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>winch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>chtype</B> <B>inch(void);</B>
+ <B>chtype</B> <B>winch(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>chtype</STRONG> <STRONG>mvinch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>mvwinch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>chtype</B> <B>mvinch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>chtype</B> <B>mvwinch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return the character, of type <STRONG>chtype</STRONG>, at the current
+ These routines return the character, of type <B>chtype</B>, at the current
position in the named window. If any attributes are set for that
position, their values are OR'ed into the value returned. Constants
- defined in <STRONG><curses.h></STRONG> can be used with the <STRONG>&</STRONG> (logical AND) operator to
+ defined in <B><curses.h></B> can be used with the <B>&</B> (logical AND) operator to
extract the character or attributes alone.
</PRE><H3><a name="h3-Attributes">Attributes</a></H3><PRE>
The following bit-masks may be AND-ed with characters returned by
- <STRONG>winch</STRONG>.
+ <B>winch</B>.
- <STRONG>A_CHARTEXT</STRONG> Bit-mask to extract character
- <STRONG>A_ATTRIBUTES</STRONG> Bit-mask to extract attributes
- <STRONG>A_COLOR</STRONG> Bit-mask to extract color-pair field information
+ <B>A_CHARTEXT</B> Bit-mask to extract character
+ <B>A_ATTRIBUTES</B> Bit-mask to extract attributes
+ <B>A_COLOR</B> Bit-mask to extract color-pair field information
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
- The <STRONG>winch</STRONG> function does not return an error if the window contains
+ The <B>winch</B> function does not return an error if the window contains
characters larger than 8-bits (255). Only the low-order 8 bits of the
- character are used by <STRONG>winch</STRONG>.
+ character are used by <B>winch</B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Very old systems (before standardization) provide a different function
with the same name:
- <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
- which stored a 7-bit character combined with the <EM>standout</EM>
+ <B>o</B> The <B>winch</B> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <I>standout</I>
attribute.
- In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
- with the <EM>standout</EM> attribute removed.
+ In BSD curses, <B>winch</B> returned only the character (as an integer)
+ with the <I>standout</I> attribute removed.
- <STRONG>o</STRONG> System V curses added support for several video attributes which
+ <B>o</B> System V curses added support for several video attributes which
could be combined with characters in the window.
Reflecting this improvement, the function was altered to return the
- character combined with all video attributes in a <STRONG>chtype</STRONG> value.
+ character combined with all video attributes in a <B>chtype</B> value.
X/Open Curses does not specify the size and layout of attributes, color
- and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ and character values in <B>chtype</B>; it is implementation-dependent. This
implementation uses 8 bits for character values. An application using
more bits, e.g., a Unicode value, should use the wide-character
equivalents to these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
- gives an overview of the WINDOW and <STRONG>chtype</STRONG> data types.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
+ gives an overview of the WINDOW and <B>chtype</B> data types.
- <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
goes into more detail, pointing out portability problems and
- constraints on the use of <STRONG>chtype</STRONG> for returning window information.
+ constraints on the use of <B>chtype</B> for returning window information.
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
describes comparable functions for the wide-character (ncursesw)
library.
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inchstr 3x</TITLE>
+<TITLE>curs_inchstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inchstr 3x</H1>
+<H1 class="no-header">curs_inchstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+<B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B> <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>inchstr</STRONG>, <STRONG>inchnstr</STRONG>, <STRONG>winchstr</STRONG>, <STRONG>winchnstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvinchnstr</STRONG>,
- <STRONG>mvwinchstr</STRONG>, <STRONG>mvwinchnstr</STRONG> - get a string of characters (and attributes)
- from a <STRONG>curses</STRONG> window
+ <B>inchstr</B>, <B>inchnstr</B>, <B>winchstr</B>, <B>winchnstr</B>, <B>mvinchstr</B>, <B>mvinchnstr</B>,
+ <B>mvwinchstr</B>, <B>mvwinchnstr</B> - get a string of characters (and attributes)
+ from a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>inchstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>inchnstr(chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>inchstr(chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>inchnstr(chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>winchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>winchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvinchstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinchnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinchstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinchnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <STRONG>*</STRONG><EM>chstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvinchstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>mvinchnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwinchstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>);</B>
+ <B>int</B> <B>mvwinchnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <B>*</B><I>chstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return a NULL-terminated array of <STRONG>chtype</STRONG> quantities,
+ These routines return a NULL-terminated array of <B>chtype</B> quantities,
starting at the current cursor position in the named window and ending
- at the right margin of the window. The four functions with <EM>n</EM> as the
- last argument, return a leading substring at most <EM>n</EM> characters long
- (exclusive of the trailing (chtype)0). Constants defined in <STRONG><curses.h></STRONG>
- can be used with the <STRONG>&</STRONG> (logical AND) operator to extract the character
- or the attribute alone from any position in the <EM>chstr</EM> [see
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>].
+ at the right margin of the window. The four functions with <I>n</I> as the
+ last argument, return a leading substring at most <I>n</I> characters long
+ (exclusive of the trailing (chtype)0). Constants defined in <B><curses.h></B>
+ can be used with the <B>&</B> (logical AND) operator to extract the character
+ or the attribute alone from any position in the <I>chstr</I> [see
+ <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>].
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> upon successful completion (the number of characters re-
+ All routines return the integer <B>ERR</B> upon failure and an integer value
+ other than <B>ERR</B> upon successful completion (the number of characters re-
trieved, exclusive of the trailing 0).
X/Open Curses defines no error conditions. In this implementation:
- <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <B>o</B> If the <I>win</I> parameter is null, an error is returned,
- <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
+ <B>o</B> If the <I>chstr</I> parameter is null, an error is returned,
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all routines except <STRONG>winchnstr</STRONG> may be macros. SVr4 does not
+ Note that all routines except <B>winchnstr</B> may be macros. SVr4 does not
document whether the result string is zero-terminated; it does not doc-
ument whether a length limit argument includes any trailing 0; and it
does not document the meaning of the return value.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4. It
is no more specific than the SVr4 documentation on the trailing 0. It
- does specify that the successful return of the functions is <STRONG>OK</STRONG>.
+ does specify that the successful return of the functions is <B>OK</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>.
Comparable functions in the wide-character (ncursesw) library are de-
- scribed in <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>.
+ scribed in <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>.
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_initscr 3x</TITLE>
+<TITLE>curs_initscr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_initscr 3x</H1>
+<H1 class="no-header">curs_initscr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+<B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B> <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>initscr</STRONG>, <STRONG>newterm</STRONG>, <STRONG>endwin</STRONG>, <STRONG>isendwin</STRONG>, <STRONG>set_term</STRONG>, <STRONG>delscreen</STRONG> - <STRONG>curses</STRONG> screen
+ <B>initscr</B>, <B>newterm</B>, <B>endwin</B>, <B>isendwin</B>, <B>set_term</B>, <B>delscreen</B> - <B>curses</B> screen
initialization and manipulation routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>WINDOW</STRONG> <STRONG>*initscr(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>endwin(void);</STRONG>
+ <B>WINDOW</B> <B>*initscr(void);</B>
+ <B>int</B> <B>endwin(void);</B>
- <STRONG>bool</STRONG> <STRONG>isendwin(void);</STRONG>
+ <B>bool</B> <B>isendwin(void);</B>
- <STRONG>SCREEN</STRONG> <STRONG>*newterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
- <STRONG>SCREEN</STRONG> <STRONG>*set_term(SCREEN</STRONG> <STRONG>*</STRONG><EM>new</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>delscreen(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
+ <B>SCREEN</B> <B>*newterm(const</B> <B>char</B> <B>*</B><I>type</I><B>,</B> <B>FILE</B> <B>*</B><I>outfd</I><B>,</B> <B>FILE</B> <B>*</B><I>infd</I><B>);</B>
+ <B>SCREEN</B> <B>*set_term(SCREEN</B> <B>*</B><I>new</I><B>);</B>
+ <B>void</B> <B>delscreen(SCREEN*</B> <I>sp</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-initscr">initscr</a></H3><PRE>
- <STRONG>initscr</STRONG> is normally the first <STRONG>curses</STRONG> routine to call when initializing
+ <B>initscr</B> is normally the first <B>curses</B> routine to call when initializing
a program. A few special routines sometimes need to be called before
- it; these are <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG>, <STRONG>filter</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>use_env</STRONG>. For multiple-
- terminal applications, <STRONG>newterm</STRONG> may be called before <STRONG>initscr</STRONG>.
+ it; these are <B><A HREF="curs_slk.3X.html">slk_init(3X)</A></B>, <B>filter</B>, <B>ripoffline</B>, <B>use_env</B>. For multiple-
+ terminal applications, <B>newterm</B> may be called before <B>initscr</B>.
- The initscr code determines the terminal type and initializes all <STRONG>curs-</STRONG>
- <STRONG>es</STRONG> data structures. <STRONG>initscr</STRONG> also causes the first call to <STRONG><A HREF="curscurs_refresh.3x.html">refresh(3x)</A></STRONG>
- to clear the screen. If errors occur, <STRONG>initscr</STRONG> writes an appropriate
+ The initscr code determines the terminal type and initializes all <B>curs-</B>
+ <B>es</B> data structures. <B>initscr</B> also causes the first call to <B><A HREF="curscurs_refresh.3X.html">refresh(3X)</A></B>
+ to clear the screen. If errors occur, <B>initscr</B> writes an appropriate
error message to standard error and exits; otherwise, a pointer is re-
- turned to <STRONG>stdscr</STRONG>.
+ turned to <B>stdscr</B>.
</PRE><H3><a name="h3-newterm">newterm</a></H3><PRE>
- A program that outputs to more than one terminal should use the <STRONG>newterm</STRONG>
- routine for each terminal instead of <STRONG>initscr</STRONG>. A program that needs to
+ A program that outputs to more than one terminal should use the <B>newterm</B>
+ routine for each terminal instead of <B>initscr</B>. A program that needs to
inspect capabilities, so it can continue to run in a line-oriented mode
if the terminal cannot support a screen-oriented program, would also
- use <STRONG>newterm</STRONG>. The routine <STRONG>newterm</STRONG> should be called once for each termi-
- nal. It returns a variable of type <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> which should be saved as a
- reference to that terminal. <STRONG>newterm</STRONG>'s arguments are
+ use <B>newterm</B>. The routine <B>newterm</B> should be called once for each termi-
+ nal. It returns a variable of type <B>SCREEN</B> <B>*</B> which should be saved as a
+ reference to that terminal. <B>newterm</B>'s arguments are
- <STRONG>o</STRONG> the <EM>type</EM> of the terminal to be used in place of <STRONG>$TERM</STRONG>,
+ <B>o</B> the <I>type</I> of the terminal to be used in place of <B>$TERM</B>,
- <STRONG>o</STRONG> a file pointer for output to the terminal, and
+ <B>o</B> a file pointer for output to the terminal, and
- <STRONG>o</STRONG> another file pointer for input from the terminal
+ <B>o</B> another file pointer for input from the terminal
- If the <EM>type</EM> parameter is <STRONG>NULL</STRONG>, <STRONG>$TERM</STRONG> will be used.
+ If the <I>type</I> parameter is <B>NULL</B>, <B>$TERM</B> will be used.
</PRE><H3><a name="h3-endwin">endwin</a></H3><PRE>
- The program must also call <STRONG>endwin</STRONG> for each terminal being used before
- exiting from <STRONG>curses</STRONG>. If <STRONG>newterm</STRONG> is called more than once for the same
+ The program must also call <B>endwin</B> for each terminal being used before
+ exiting from <B>curses</B>. If <B>newterm</B> is called more than once for the same
terminal, the first terminal referred to must be the last one for which
- <STRONG>endwin</STRONG> is called.
+ <B>endwin</B> is called.
- A program should always call <STRONG>endwin</STRONG> before exiting or escaping from
- <STRONG>curses</STRONG> mode temporarily. This routine
+ A program should always call <B>endwin</B> before exiting or escaping from
+ <B>curses</B> mode temporarily. This routine
- <STRONG>o</STRONG> resets colors to correspond with the default color pair 0,
+ <B>o</B> resets colors to correspond with the default color pair 0,
- <STRONG>o</STRONG> moves the cursor to the lower left-hand corner of the screen,
+ <B>o</B> moves the cursor to the lower left-hand corner of the screen,
- <STRONG>o</STRONG> clears the remainder of the line so that it uses the default col-
+ <B>o</B> clears the remainder of the line so that it uses the default col-
ors,
- <STRONG>o</STRONG> sets the cursor to normal visibility (see <STRONG><A HREF="curs_kernel.3x.html">curs_set(3x)</A></STRONG>),
+ <B>o</B> sets the cursor to normal visibility (see <B><A HREF="curs_kernel.3X.html">curs_set(3X)</A></B>),
- <STRONG>o</STRONG> stops cursor-addressing mode using the <EM>exit</EM><STRONG>_</STRONG><EM>ca</EM><STRONG>_</STRONG><EM>mode</EM> terminal capa-
+ <B>o</B> stops cursor-addressing mode using the <I>exit</I><B>_</B><I>ca</I><B>_</B><I>mode</I> terminal capa-
bility,
- <STRONG>o</STRONG> restores tty modes (see <STRONG><A HREF="curs_kernel.3x.html">reset_shell_mode(3x)</A></STRONG>).
+ <B>o</B> restores tty modes (see <B><A HREF="curs_kernel.3X.html">reset_shell_mode(3X)</A></B>).
- Calling <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> after a temporary escape causes the
+ Calling <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> or <B><A HREF="curs_refresh.3X.html">doupdate(3X)</A></B> after a temporary escape causes the
program to resume visual mode.
</PRE><H3><a name="h3-isendwin">isendwin</a></H3><PRE>
- The <STRONG>isendwin</STRONG> routine returns <STRONG>TRUE</STRONG> if <STRONG>endwin</STRONG> has been called without any
- subsequent calls to <STRONG>wrefresh</STRONG>, and <STRONG>FALSE</STRONG> otherwise.
+ The <B>isendwin</B> routine returns <B>TRUE</B> if <B>endwin</B> has been called without any
+ subsequent calls to <B>wrefresh</B>, and <B>FALSE</B> otherwise.
</PRE><H3><a name="h3-set_term">set_term</a></H3><PRE>
- The <STRONG>set_term</STRONG> routine is used to switch between different terminals.
- The screen reference <STRONG>new</STRONG> becomes the new current terminal. The previ-
+ The <B>set_term</B> routine is used to switch between different terminals.
+ The screen reference <B>new</B> becomes the new current terminal. The previ-
ous terminal is returned by the routine. This is the only routine
- which manipulates <STRONG>SCREEN</STRONG> pointers; all other routines affect only the
+ which manipulates <B>SCREEN</B> pointers; all other routines affect only the
current terminal.
</PRE><H3><a name="h3-delscreen">delscreen</a></H3><PRE>
- The <STRONG>delscreen</STRONG> routine frees storage associated with the <STRONG>SCREEN</STRONG> data
- structure. The <STRONG>endwin</STRONG> routine does not do this, so <STRONG>delscreen</STRONG> should be
- called after <STRONG>endwin</STRONG> if a particular <STRONG>SCREEN</STRONG> is no longer needed.
+ The <B>delscreen</B> routine frees storage associated with the <B>SCREEN</B> data
+ structure. The <B>endwin</B> routine does not do this, so <B>delscreen</B> should be
+ called after <B>endwin</B> if a particular <B>SCREEN</B> is no longer needed.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>endwin</STRONG> returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon successful com-
+ <B>endwin</B> returns the integer <B>ERR</B> upon failure and <B>OK</B> upon successful com-
pletion.
- Routines that return pointers always return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers always return <B>NULL</B> on error.
X/Open defines no error conditions. In this implementation
- <STRONG>o</STRONG> <STRONG>endwin</STRONG> returns an error if the terminal was not initialized.
+ <B>o</B> <B>endwin</B> returns an error if the terminal was not initialized.
- <STRONG>o</STRONG> <STRONG>newterm</STRONG> returns an error if it cannot allocate the data structures
+ <B>o</B> <B>newterm</B> returns an error if it cannot allocate the data structures
for the screen, or for the top-level windows within the screen,
- i.e., <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>, or <STRONG>stdscr</STRONG>.
+ i.e., <B>curscr</B>, <B>newscr</B>, or <B>stdscr</B>.
- <STRONG>o</STRONG> <STRONG>set_term</STRONG> returns no error.
+ <B>o</B> <B>set_term</B> returns no error.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
- X/Open specifies that portable applications must not call <STRONG>initscr</STRONG> more
+ X/Open specifies that portable applications must not call <B>initscr</B> more
than once:
- <STRONG>o</STRONG> The portable way to use <STRONG>initscr</STRONG> is once only, using <STRONG>refresh</STRONG> (see
- <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>) to restore the screen after <STRONG>endwin</STRONG>.
+ <B>o</B> The portable way to use <B>initscr</B> is once only, using <B>refresh</B> (see
+ <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>) to restore the screen after <B>endwin</B>.
- <STRONG>o</STRONG> This implementation allows using <STRONG>initscr</STRONG> after <STRONG>endwin</STRONG>.
+ <B>o</B> This implementation allows using <B>initscr</B> after <B>endwin</B>.
Old versions of curses, e.g., BSD 4.4, may have returned a null pointer
- from <STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is
- safe but redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
+ from <B>initscr</B> when an error is detected, rather than exiting. It is
+ safe but redundant to check the return value of <B>initscr</B> in XSI Curses.
</PRE><H3><a name="h3-Unset-TERM-Variable">Unset TERM Variable</a></H3><PRE>
- If the TERM variable is missing or empty, <STRONG>initscr</STRONG> uses the value "un-
- known", which normally corresponds to a terminal entry with the <EM>generic</EM>
- (<EM>gn</EM>) capability. Generic entries are detected by <STRONG>setupterm</STRONG> (see
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>) and cannot be used for full-screen operation. Other
+ If the TERM variable is missing or empty, <B>initscr</B> uses the value "un-
+ known", which normally corresponds to a terminal entry with the <I>generic</I>
+ (<I>gn</I>) capability. Generic entries are detected by <B>setupterm</B> (see
+ <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>) and cannot be used for full-screen operation. Other
implementations may handle a missing/empty TERM variable differently.
</PRE><H3><a name="h3-Signal-Handlers">Signal Handlers</a></H3><PRE>
Quoting from X/Open Curses, section 3.1.1:
- <EM>Curses</EM> <EM>implementations</EM> <EM>may</EM> <EM>provide</EM> <EM>for</EM> <EM>special</EM> <EM>handling</EM> <EM>of</EM> <EM>the</EM>
- <STRONG>SIGINT</STRONG><EM>,</EM> <STRONG>SIGQUIT</STRONG> <EM>and</EM> <STRONG>SIGTSTP</STRONG> <EM>signals</EM> <EM>if</EM> <EM>their</EM> <EM>disposition</EM> <EM>is</EM>
- <STRONG>SIG_DFL</STRONG> <EM>at</EM> <EM>the</EM> <EM>time</EM> <STRONG>initscr</STRONG> <EM>is</EM> <EM>called</EM> <STRONG>...</STRONG>
+ <I>Curses</I> <I>implementations</I> <I>may</I> <I>provide</I> <I>for</I> <I>special</I> <I>handling</I> <I>of</I> <I>the</I>
+ <B>SIGINT</B><I>,</I> <B>SIGQUIT</B> <I>and</I> <B>SIGTSTP</B> <I>signals</I> <I>if</I> <I>their</I> <I>disposition</I> <I>is</I>
+ <B>SIG_DFL</B> <I>at</I> <I>the</I> <I>time</I> <B>initscr</B> <I>is</I> <I>called</I> <B>...</B>
- <EM>Any</EM> <EM>special</EM> <EM>handling</EM> <EM>for</EM> <EM>these</EM> <EM>signals</EM> <EM>may</EM> <EM>remain</EM> <EM>in</EM> <EM>effect</EM> <EM>for</EM>
- <EM>the</EM> <EM>life</EM> <EM>of</EM> <EM>the</EM> <EM>process</EM> <EM>or</EM> <EM>until</EM> <EM>the</EM> <EM>process</EM> <EM>changes</EM> <EM>the</EM> <EM>disposi-</EM>
- <EM>tion</EM> <EM>of</EM> <EM>the</EM> <EM>signal.</EM>
+ <I>Any</I> <I>special</I> <I>handling</I> <I>for</I> <I>these</I> <I>signals</I> <I>may</I> <I>remain</I> <I>in</I> <I>effect</I> <I>for</I>
+ <I>the</I> <I>life</I> <I>of</I> <I>the</I> <I>process</I> <I>or</I> <I>until</I> <I>the</I> <I>process</I> <I>changes</I> <I>the</I> <I>disposi-</I>
+ <I>tion</I> <I>of</I> <I>the</I> <I>signal.</I>
- <EM>None</EM> <EM>of</EM> <EM>the</EM> <EM>Curses</EM> <EM>functions</EM> <EM>are</EM> <EM>required</EM> <EM>to</EM> <EM>be</EM> <EM>safe</EM> <EM>with</EM> <EM>respect</EM>
- <EM>to</EM> <EM>signals</EM> ...
+ <I>None</I> <I>of</I> <I>the</I> <I>Curses</I> <I>functions</I> <I>are</I> <I>required</I> <I>to</I> <I>be</I> <I>safe</I> <I>with</I> <I>respect</I>
+ <I>to</I> <I>signals</I> ...
This implementation establishes signal handlers during initialization,
- e.g., <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. Applications which must handle these signals
- should set up the corresponding handlers <EM>after</EM> initializing the li-
+ e.g., <B>initscr</B> or <B>newterm</B>. Applications which must handle these signals
+ should set up the corresponding handlers <I>after</I> initializing the li-
brary:
- <STRONG>SIGINT</STRONG>
- The handler <EM>attempts</EM> to cleanup the screen on exit. Although it
- <EM>usually</EM> works as expected, there are limitations:
+ <B>SIGINT</B>
+ The handler <I>attempts</I> to cleanup the screen on exit. Although it
+ <I>usually</I> works as expected, there are limitations:
- <STRONG>o</STRONG> Walking the <STRONG>SCREEN</STRONG> list is unsafe, since all list management
+ <B>o</B> Walking the <B>SCREEN</B> list is unsafe, since all list management
is done without any signal blocking.
- <STRONG>o</STRONG> On systems which have <STRONG>REENTRANT</STRONG> turned on, <STRONG>set_term</STRONG> uses func-
+ <B>o</B> On systems which have <B>REENTRANT</B> turned on, <B>set_term</B> uses func-
tions which could deadlock or misbehave in other ways.
- <STRONG>o</STRONG> <STRONG>endwin</STRONG> calls other functions, many of which use stdio or other
+ <B>o</B> <B>endwin</B> calls other functions, many of which use stdio or other
library functions which are clearly unsafe.
- <STRONG>SIGTERM</STRONG>
- This uses the same handler as <STRONG>SIGINT</STRONG>, with the same limitations.
+ <B>SIGTERM</B>
+ This uses the same handler as <B>SIGINT</B>, with the same limitations.
It is not mentioned in X/Open Curses, but is more suitable for
- this purpose than <STRONG>SIGQUIT</STRONG> (which is used in debugging).
+ this purpose than <B>SIGQUIT</B> (which is used in debugging).
- <STRONG>SIGTSTP</STRONG>
- This handles the <EM>stop</EM> signal, used in job control. When resuming
+ <B>SIGTSTP</B>
+ This handles the <I>stop</I> signal, used in job control. When resuming
the process, this implementation discards pending input with
- <STRONG>flushinput</STRONG> (see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>), and repaints the screen assuming
+ <B>flushinput</B> (see <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>), and repaints the screen assuming
that it has been completely altered. It also updates the saved
- terminal modes with <STRONG>def_shell_mode</STRONG> (see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>).
+ terminal modes with <B>def_shell_mode</B> (see <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>).
- <STRONG>SIGWINCH</STRONG>
+ <B>SIGWINCH</B>
This handles the window-size changes which were ignored in the
standardization efforts. The handler sets a (signal-safe) vari-
- able which is later tested in <STRONG>wgetch</STRONG> (see <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>). If
- <STRONG>keypad</STRONG> has been enabled for the corresponding window, <STRONG>wgetch</STRONG> re-
- turns the key symbol <STRONG>KEY_RESIZE</STRONG>. At the same time, <STRONG>wgetch</STRONG> calls
- <STRONG>resizeterm</STRONG> to adjust the standard screen <STRONG>stdscr</STRONG>, and update other
- data such as <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG>.
+ able which is later tested in <B>wgetch</B> (see <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>). If
+ <B>keypad</B> has been enabled for the corresponding window, <B>wgetch</B> re-
+ turns the key symbol <B>KEY_RESIZE</B>. At the same time, <B>wgetch</B> calls
+ <B>resizeterm</B> to adjust the standard screen <B>stdscr</B>, and update other
+ data such as <B>LINES</B> and <B>COLS</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG>curs_ter-</STRONG>
- <STRONG><A HREF="curs_terminfo.3x.html">minfo(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>, <B>curs_ter-</B>
+ <B><A HREF="curs_terminfo.3X.html">minfo(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inopts 3x</TITLE>
+<TITLE>curs_inopts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inopts 3x</H1>
+<H1 class="no-header">curs_inopts 3X</H1>
<PRE>
-<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+<B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B> <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>cbreak</STRONG>, <STRONG>nocbreak</STRONG>, <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>keypad</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>,
- <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>, <STRONG>notimeout</STRONG>, <STRONG>raw</STRONG>, <STRONG>noraw</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>timeout</STRONG>,
- <STRONG>wtimeout</STRONG>, <STRONG>typeahead</STRONG> - <STRONG>curses</STRONG> input options
+ <B>cbreak</B>, <B>nocbreak</B>, <B>echo</B>, <B>noecho</B>, <B>halfdelay</B>, <B>intrflush</B>, <B>keypad</B>, <B>meta</B>, <B>nl</B>,
+ <B>nonl</B>, <B>nodelay</B>, <B>notimeout</B>, <B>raw</B>, <B>noraw</B>, <B>qiflush</B>, <B>noqiflush</B>, <B>timeout</B>,
+ <B>wtimeout</B>, <B>typeahead</B> - <B>curses</B> input options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>cbreak(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>nocbreak(void);</STRONG>
+ <B>int</B> <B>cbreak(void);</B>
+ <B>int</B> <B>nocbreak(void);</B>
- <STRONG>int</STRONG> <STRONG>echo(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>noecho(void);</STRONG>
+ <B>int</B> <B>echo(void);</B>
+ <B>int</B> <B>noecho(void);</B>
- <STRONG>int</STRONG> <STRONG>intrflush(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>keypad(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>meta(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>nodelay(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>notimeout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <B>int</B> <B>intrflush(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>keypad(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>meta(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>nodelay(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>notimeout(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>nl(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>nonl(void);</STRONG>
+ <B>int</B> <B>nl(void);</B>
+ <B>int</B> <B>nonl(void);</B>
- <STRONG>int</STRONG> <STRONG>raw(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>noraw(void);</STRONG>
+ <B>int</B> <B>raw(void);</B>
+ <B>int</B> <B>noraw(void);</B>
- <STRONG>void</STRONG> <STRONG>qiflush(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>noqiflush(void);</STRONG>
+ <B>void</B> <B>qiflush(void);</B>
+ <B>void</B> <B>noqiflush(void);</B>
- <STRONG>int</STRONG> <STRONG>halfdelay(int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>timeout(int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wtimeout(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>delay</EM><STRONG>);</STRONG>
+ <B>int</B> <B>halfdelay(int</B> <I>tenths</I><B>);</B>
+ <B>void</B> <B>timeout(int</B> <I>delay</I><B>);</B>
+ <B>void</B> <B>wtimeout(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>delay</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>typeahead(int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
+ <B>int</B> <B>typeahead(int</B> <I>fd</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>ncurses</STRONG> library provides several functions which let an application
+ The <B>ncurses</B> library provides several functions which let an application
change the way input from the terminal is handled. Some are global,
applying to all windows. Others apply only to a specific window. Win-
dow-specific settings are not automatically applied to new or derived
</PRE><H3><a name="h3-cbreak_nocbreak">cbreak/nocbreak</a></H3><PRE>
Normally, the tty driver buffers typed characters until a newline or
- carriage return is typed. The <STRONG>cbreak</STRONG> routine disables line buffering
+ carriage return is typed. The <B>cbreak</B> routine disables line buffering
and erase/kill character-processing (interrupt and flow control charac-
ters are unaffected), making characters typed by the user immediately
- available to the program. The <STRONG>nocbreak</STRONG> routine returns the terminal to
+ available to the program. The <B>nocbreak</B> routine returns the terminal to
normal (cooked) mode.
- Initially the terminal may or may not be in <STRONG>cbreak</STRONG> mode, as the mode is
- inherited; therefore, a program should call <STRONG>cbreak</STRONG> or <STRONG>nocbreak</STRONG> explic-
- itly. Most interactive programs using <STRONG>curses</STRONG> set the <STRONG>cbreak</STRONG> mode.
- Note that <STRONG>cbreak</STRONG> overrides <STRONG>raw</STRONG>. [See <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion
- of how these routines interact with <STRONG>echo</STRONG> and <STRONG>noecho</STRONG>.]
+ Initially the terminal may or may not be in <B>cbreak</B> mode, as the mode is
+ inherited; therefore, a program should call <B>cbreak</B> or <B>nocbreak</B> explic-
+ itly. Most interactive programs using <B>curses</B> set the <B>cbreak</B> mode.
+ Note that <B>cbreak</B> overrides <B>raw</B>. [See <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B> for a discussion
+ of how these routines interact with <B>echo</B> and <B>noecho</B>.]
</PRE><H3><a name="h3-echo_noecho">echo/noecho</a></H3><PRE>
- The <STRONG>echo</STRONG> and <STRONG>noecho</STRONG> routines control whether characters typed by the
- user are echoed by <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG> as they are typed. Echoing by the tty
- driver is always disabled, but initially <STRONG>getch</STRONG> is in echo mode, so
+ The <B>echo</B> and <B>noecho</B> routines control whether characters typed by the
+ user are echoed by <B><A HREF="curs_getch.3X.html">getch(3X)</A></B> as they are typed. Echoing by the tty
+ driver is always disabled, but initially <B>getch</B> is in echo mode, so
characters typed are echoed. Authors of most interactive programs pre-
fer to do their own echoing in a controlled area of the screen, or not
- to echo at all, so they disable echoing by calling <STRONG>noecho</STRONG>. [See
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> for a discussion of how these routines interact with
- <STRONG>cbreak</STRONG> and <STRONG>nocbreak</STRONG>.]
+ to echo at all, so they disable echoing by calling <B>noecho</B>. [See
+ <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B> for a discussion of how these routines interact with
+ <B>cbreak</B> and <B>nocbreak</B>.]
</PRE><H3><a name="h3-halfdelay">halfdelay</a></H3><PRE>
- The <STRONG>halfdelay</STRONG> routine is used for half-delay mode, which is similar to
- <STRONG>cbreak</STRONG> mode in that characters typed by the user are immediately avail-
- able to the program. However, after blocking for <EM>tenths</EM> tenths of sec-
- onds, <STRONG>ERR</STRONG> is returned if nothing has been typed. The value of <EM>tenths</EM>
- must be a number between 1 and 255. Use <STRONG>nocbreak</STRONG> to leave half-delay
+ The <B>halfdelay</B> routine is used for half-delay mode, which is similar to
+ <B>cbreak</B> mode in that characters typed by the user are immediately avail-
+ able to the program. However, after blocking for <I>tenths</I> tenths of sec-
+ onds, <B>ERR</B> is returned if nothing has been typed. The value of <I>tenths</I>
+ must be a number between 1 and 255. Use <B>nocbreak</B> to leave half-delay
mode.
</PRE><H3><a name="h3-intrflush">intrflush</a></H3><PRE>
- If the <STRONG>intrflush</STRONG> option is enabled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), and an interrupt key
+ If the <B>intrflush</B> option is enabled (<I>bf</I> is <B>TRUE</B>), and an interrupt key
is pressed on the keyboard (interrupt, break, quit), all output in the
tty driver queue will be flushed, giving the effect of faster response
- to the interrupt, but causing <STRONG>curses</STRONG> to have the wrong idea of what is
- on the screen. Disabling the option (<EM>bf</EM> is <STRONG>FALSE</STRONG>) prevents the flush.
+ to the interrupt, but causing <B>curses</B> to have the wrong idea of what is
+ on the screen. Disabling the option (<I>bf</I> is <B>FALSE</B>) prevents the flush.
The default for the option is inherited from the tty driver settings.
The window argument is ignored.
</PRE><H3><a name="h3-keypad">keypad</a></H3><PRE>
- The <STRONG>keypad</STRONG> option enables the keypad of the user's terminal. If en-
- abled (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the user can press a function key (such as an arrow
- key) and <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> returns a single value representing the function
- key, as in <STRONG>KEY_LEFT</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>curses</STRONG> does not treat
+ The <B>keypad</B> option enables the keypad of the user's terminal. If en-
+ abled (<I>bf</I> is <B>TRUE</B>), the user can press a function key (such as an arrow
+ key) and <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> returns a single value representing the function
+ key, as in <B>KEY_LEFT</B>. If disabled (<I>bf</I> is <B>FALSE</B>), <B>curses</B> does not treat
function keys specially and the program has to interpret the escape se-
quences itself. If the keypad in the terminal can be turned on (made
to transmit) and off (made to work locally), turning on this option
- causes the terminal keypad to be turned on when <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> is called.
- The default value for keypad is <STRONG>FALSE</STRONG>.
+ causes the terminal keypad to be turned on when <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> is called.
+ The default value for keypad is <B>FALSE</B>.
</PRE><H3><a name="h3-meta">meta</a></H3><PRE>
Initially, whether the terminal returns 7 or 8 significant bits on in-
- put depends on the control mode of the tty driver [see <STRONG>termios(3)</STRONG>]. To
- force 8 bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>); this is equiva-
+ put depends on the control mode of the tty driver [see <B>termios(3)</B>]. To
+ force 8 bits to be returned, invoke <B>meta</B>(<I>win</I>, <B>TRUE</B>); this is equiva-
lent, under POSIX, to setting the CS8 flag on the terminal. To force 7
- bits to be returned, invoke <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>FALSE</STRONG>); this is equivalent, under
+ bits to be returned, invoke <B>meta</B>(<I>win</I>, <B>FALSE</B>); this is equivalent, under
POSIX, to setting the CS7 flag on the terminal. The window argument,
- <EM>win</EM>, is always ignored. If the terminfo capabilities <STRONG>smm</STRONG> (meta_on) and
- <STRONG>rmm</STRONG> (meta_off) are defined for the terminal, <STRONG>smm</STRONG> is sent to the termi-
- nal when <STRONG>meta</STRONG>(<EM>win</EM>, <STRONG>TRUE</STRONG>) is called and <STRONG>rmm</STRONG> is sent when <STRONG>meta</STRONG>(<EM>win</EM>,
- <STRONG>FALSE</STRONG>) is called.
+ <I>win</I>, is always ignored. If the terminfo capabilities <B>smm</B> (meta_on) and
+ <B>rmm</B> (meta_off) are defined for the terminal, <B>smm</B> is sent to the termi-
+ nal when <B>meta</B>(<I>win</I>, <B>TRUE</B>) is called and <B>rmm</B> is sent when <B>meta</B>(<I>win</I>,
+ <B>FALSE</B>) is called.
</PRE><H3><a name="h3-nl_nonl">nl/nonl</a></H3><PRE>
- The <STRONG>nl</STRONG> and <STRONG>nonl</STRONG> routines control whether the underlying display device
+ The <B>nl</B> and <B>nonl</B> routines control whether the underlying display device
translates the return key into newline on input.
</PRE><H3><a name="h3-nodelay">nodelay</a></H3><PRE>
- The <STRONG>nodelay</STRONG> option causes <STRONG>getch</STRONG> to be a non-blocking call. If no input
- is ready, <STRONG>getch</STRONG> returns <STRONG>ERR</STRONG>. If disabled (<EM>bf</EM> is <STRONG>FALSE</STRONG>), <STRONG>getch</STRONG> waits
+ The <B>nodelay</B> option causes <B>getch</B> to be a non-blocking call. If no input
+ is ready, <B>getch</B> returns <B>ERR</B>. If disabled (<I>bf</I> is <B>FALSE</B>), <B>getch</B> waits
until a key is pressed.
</PRE><H3><a name="h3-notimeout">notimeout</a></H3><PRE>
- When interpreting an escape sequence, <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> sets a timer while
- waiting for the next character. If <STRONG>notimeout(</STRONG><EM>win</EM>, <STRONG>TRUE</STRONG>) is called,
- then <STRONG>wgetch</STRONG> does not set a timer. The purpose of the timeout is to
+ When interpreting an escape sequence, <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> sets a timer while
+ waiting for the next character. If <B>notimeout(</B><I>win</I>, <B>TRUE</B>) is called,
+ then <B>wgetch</B> does not set a timer. The purpose of the timeout is to
differentiate between sequences received from a function key and those
typed by a user.
</PRE><H3><a name="h3-raw_noraw">raw/noraw</a></H3><PRE>
- The <STRONG>raw</STRONG> and <STRONG>noraw</STRONG> routines place the terminal into or out of raw mode.
- Raw mode is similar to <STRONG>cbreak</STRONG> mode, in that characters typed are imme-
+ The <B>raw</B> and <B>noraw</B> routines place the terminal into or out of raw mode.
+ Raw mode is similar to <B>cbreak</B> mode, in that characters typed are imme-
diately passed through to the user program. The differences are that
in raw mode, the interrupt, quit, suspend, and flow control characters
are all passed through uninterpreted, instead of generating a signal.
The behavior of the BREAK key depends on other bits in the tty driver
- that are not set by <STRONG>curses</STRONG>.
+ that are not set by <B>curses</B>.
</PRE><H3><a name="h3-qiflush_noqiflush">qiflush/noqiflush</a></H3><PRE>
- When the <STRONG>noqiflush</STRONG> routine is used, normal flush of input and output
- queues associated with the <STRONG>INTR</STRONG>, <STRONG>QUIT</STRONG> and <STRONG>SUSP</STRONG> characters will not be
- done [see <STRONG>termios(3)</STRONG>]. When <STRONG>qiflush</STRONG> is called, the queues will be
+ When the <B>noqiflush</B> routine is used, normal flush of input and output
+ queues associated with the <B>INTR</B>, <B>QUIT</B> and <B>SUSP</B> characters will not be
+ done [see <B>termios(3)</B>]. When <B>qiflush</B> is called, the queues will be
flushed when these control characters are read. You may want to call
- <STRONG>noqiflush</STRONG> in a signal handler if you want output to continue as though
+ <B>noqiflush</B> in a signal handler if you want output to continue as though
the interrupt had not occurred, after the handler exits.
</PRE><H3><a name="h3-timeout_wtimeout">timeout/wtimeout</a></H3><PRE>
- The <STRONG>timeout</STRONG> and <STRONG>wtimeout</STRONG> routines set blocking or non-blocking read for
- a given window. If <EM>delay</EM> is negative, blocking read is used (i.e.,
- waits indefinitely for input). If <EM>delay</EM> is zero, then non-blocking
- read is used (i.e., read returns <STRONG>ERR</STRONG> if no input is waiting). If <EM>delay</EM>
- is positive, then read blocks for <EM>delay</EM> milliseconds, and returns <STRONG>ERR</STRONG>
+ The <B>timeout</B> and <B>wtimeout</B> routines set blocking or non-blocking read for
+ a given window. If <I>delay</I> is negative, blocking read is used (i.e.,
+ waits indefinitely for input). If <I>delay</I> is zero, then non-blocking
+ read is used (i.e., read returns <B>ERR</B> if no input is waiting). If <I>delay</I>
+ is positive, then read blocks for <I>delay</I> milliseconds, and returns <B>ERR</B>
if there is still no input. Hence, these routines provide the same
- functionality as <STRONG>nodelay</STRONG>, plus the additional capability of being able
- to block for only <EM>delay</EM> milliseconds (where <EM>delay</EM> is positive).
+ functionality as <B>nodelay</B>, plus the additional capability of being able
+ to block for only <I>delay</I> milliseconds (where <I>delay</I> is positive).
</PRE><H3><a name="h3-typeahead">typeahead</a></H3><PRE>
- The <STRONG>curses</STRONG> library does "line-breakout optimization" by looking for ty-
+ The <B>curses</B> library does "line-breakout optimization" by looking for ty-
peahead periodically while updating the screen. If input is found, and
- it is coming from a tty, the current update is postponed until <STRONG>re-</STRONG>
- <STRONG><A HREF="refresh.3x.html">fresh(3x)</A></STRONG> or <STRONG>doupdate</STRONG> is called again. This allows faster response to
+ it is coming from a tty, the current update is postponed until <B>re-</B>
+ <B><A HREF="refresh.3X.html">fresh(3X)</A></B> or <B>doupdate</B> is called again. This allows faster response to
commands typed in advance. Normally, the input FILE pointer passed to
- <STRONG>newterm</STRONG>, or <STRONG>stdin</STRONG> in the case that <STRONG>initscr</STRONG> was used, will be used to do
- this typeahead checking. The <STRONG>typeahead</STRONG> routine specifies that the file
- descriptor <EM>fd</EM> is to be used to check for typeahead instead. If <EM>fd</EM> is
+ <B>newterm</B>, or <B>stdin</B> in the case that <B>initscr</B> was used, will be used to do
+ this typeahead checking. The <B>typeahead</B> routine specifies that the file
+ descriptor <I>fd</I> is to be used to check for typeahead instead. If <I>fd</I> is
-1, then no typeahead checking is done.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ All routines that return an integer return <B>ERR</B> upon failure and <B>OK</B>
+ (SVr4 specifies only "an integer value other than <B>ERR</B>") upon successful
completion, unless otherwise noted in the preceding routine descrip-
tions.
Any function will also return an error if the terminal was not initial-
ized. Also,
- <STRONG>halfdelay</STRONG>
+ <B>halfdelay</B>
returns an error if its parameter is outside the range
1..255.
of the AT&T curses implementations, in that the echo bit is cleared
when curses initializes the terminal state. BSD curses differed from
this slightly; it left the echo bit on at initialization, but the BSD
- <STRONG>raw</STRONG> call turned it off as a side-effect. For best portability, set
- <STRONG>echo</STRONG> or <STRONG>noecho</STRONG> explicitly just after initialization, even if your pro-
+ <B>raw</B> call turned it off as a side-effect. For best portability, set
+ <B>echo</B> or <B>noecho</B> explicitly just after initialization, even if your pro-
gram remains in cooked mode.
- The XSI Curses standard is ambiguous on the question of whether <STRONG>raw</STRONG>
- should disable the CRLF translations controlled by <STRONG>nl</STRONG> and <STRONG>nonl</STRONG>. BSD
+ The XSI Curses standard is ambiguous on the question of whether <B>raw</B>
+ should disable the CRLF translations controlled by <B>nl</B> and <B>nonl</B>. BSD
curses did turn off these translations; AT&T curses (at least as late
as SVr1) did not. We chose to do so, on the theory that a programmer
requesting raw input wants a clean (ideally 8-bit clean) connection
that the operating system will not alter.
- When <STRONG>keypad</STRONG> is first enabled, ncurses loads the key-definitions for the
+ When <B>keypad</B> is first enabled, ncurses loads the key-definitions for the
current terminal description. If the terminal description includes ex-
- tended string capabilities, e.g., from using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>, then
+ tended string capabilities, e.g., from using the <B>-x</B> option of <B>tic</B>, then
ncurses also defines keys for the capabilities whose names begin with
"k". The corresponding keycodes are generated and (depending on previ-
ous loads of terminal descriptions) may differ from one execution of a
- program to the next. The generated keycodes are recognized by the <STRONG>key-</STRONG>
- <STRONG>name</STRONG> function (which will then return a name beginning with "k" denot-
+ program to the next. The generated keycodes are recognized by the <B>key-</B>
+ <B>name</B> function (which will then return a name beginning with "k" denot-
ing the terminfo capability name rather than "K", used for curses key-
- names). On the other hand, an application can use <STRONG>define_key</STRONG> to estab-
+ names). On the other hand, an application can use <B>define_key</B> to estab-
lish a specific keycode for a given string. This makes it possible for
an application to check for an extended capability's presence with
- <STRONG>tigetstr</STRONG>, and reassign the keycode to match its own needs.
+ <B>tigetstr</B>, and reassign the keycode to match its own needs.
- Low-level applications can use <STRONG>tigetstr</STRONG> to obtain the definition of any
+ Low-level applications can use <B>tigetstr</B> to obtain the definition of any
particular string capability. Higher-level applications which use the
- curses <STRONG>wgetch</STRONG> and similar functions to return keycodes rely upon the
+ curses <B>wgetch</B> and similar functions to return keycodes rely upon the
order in which the strings are loaded. If more than one key definition
- has the same string value, then <STRONG>wgetch</STRONG> can return only one keycode.
+ has the same string value, then <B>wgetch</B> can return only one keycode.
Most curses implementations (including ncurses) load key definitions in
the order defined by the array of string capability names. The last
key to be loaded determines the keycode which will be returned. In
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>echo</STRONG>, <STRONG>noecho</STRONG>, <STRONG>halfdelay</STRONG>, <STRONG>intrflush</STRONG>, <STRONG>meta</STRONG>, <STRONG>nl</STRONG>, <STRONG>nonl</STRONG>, <STRONG>nodelay</STRONG>,
- <STRONG>notimeout</STRONG>, <STRONG>noqiflush</STRONG>, <STRONG>qiflush</STRONG>, <STRONG>timeout</STRONG>, and <STRONG>wtimeout</STRONG> may be macros.
+ Note that <B>echo</B>, <B>noecho</B>, <B>halfdelay</B>, <B>intrflush</B>, <B>meta</B>, <B>nl</B>, <B>nonl</B>, <B>nodelay</B>,
+ <B>notimeout</B>, <B>noqiflush</B>, <B>qiflush</B>, <B>timeout</B>, and <B>wtimeout</B> may be macros.
- The <STRONG>noraw</STRONG> and <STRONG>nocbreak</STRONG> calls follow historical practice in that they
+ The <B>noraw</B> and <B>nocbreak</B> calls follow historical practice in that they
attempt to restore to normal ("cooked") mode from raw and cbreak modes
respectively. Mixing raw/noraw and cbreak/nocbreak calls leads to tty
driver control states that are hard to predict or understand; it is not
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG>de-</STRONG>
- <STRONG><A HREF="define_key.3x.html">fine_key(3x)</A></STRONG>, <STRONG>termios(3)</STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>, <B>de-</B>
+ <B><A HREF="define_key.3X.html">fine_key(3X)</A></B>, <B>termios(3)</B>
- <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2002-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wch 3x</TITLE>
+<TITLE>curs_ins_wch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wch 3x</H1>
+<H1 class="no-header">curs_ins_wch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+<B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B> <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>ins_wch</STRONG>, <STRONG>mvins_wch</STRONG>, <STRONG>mvwins_wch</STRONG>, <STRONG>wins_wch</STRONG> - insert a complex character
+ <B>ins_wch</B>, <B>mvins_wch</B>, <B>mvwins_wch</B>, <B>wins_wch</B> - insert a complex character
and rendition into a window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
#include <curses.h>
- <STRONG>int</STRONG> <STRONG>ins_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>ins_wch(const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>wins_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvins_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvins_wch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
+ <B>int</B> <B>mvwins_wch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines, insert the complex character <EM>wch</EM> with rendition before
+ These routines, insert the complex character <I>wch</I> with rendition before
the character under the cursor. All characters to the right of the
cursor are moved one space to the right, with the possibility of the
rightmost character on the line being lost. The insertion operation
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- If successful, these functions return <STRONG>OK</STRONG>. If not, they return <STRONG>ERR</STRONG>.
+ If successful, these functions return <B>OK</B>. If not, they return <B>ERR</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>.
- <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wstr 3x</TITLE>
+<TITLE>curs_ins_wstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wstr 3x</H1>
+<H1 class="no-header">curs_ins_wstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+<B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B> <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>ins_wstr</STRONG>, <STRONG>ins_nwstr</STRONG>, <STRONG>wins_wstr</STRONG>, <STRONG>wins_nwstr</STRONG>, <STRONG>mvins_wstr</STRONG>, <STRONG>mvins_nwstr</STRONG>,
- <STRONG>mvwins_wstr</STRONG>, <STRONG>mvwins_nwstr</STRONG> - insert a wide-character string into a
+ <B>ins_wstr</B>, <B>ins_nwstr</B>, <B>wins_wstr</B>, <B>wins_nwstr</B>, <B>mvins_wstr</B>, <B>mvins_nwstr</B>,
+ <B>mvwins_wstr</B>, <B>mvwins_nwstr</B> - insert a wide-character string into a
curses window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>ins_wstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr);</EM>
- <STRONG>int</STRONG> <STRONG>ins_nwstr(const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>ins_wstr(const</B> <B>wchar_t</B> <B>*</B><I>wstr);</I>
+ <B>int</B> <B>ins_nwstr(const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wins_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>wins_nwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvins_wstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvins_nwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_wstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwins_nwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvins_wstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvins_nwstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwins_wstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvwins_nwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines insert a <STRONG>wchar_t</STRONG> character string (as many characters as
+ These routines insert a <B>wchar_t</B> character string (as many characters as
will fit on the line) before the character under the cursor. All char-
acters to the right of the cursor are shifted right, with the possibil-
ity of the rightmost characters on the line being lost. No wrapping is
- performed. The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>,
- if specified). The four routines with <EM>n</EM> as the last argument insert a
- leading substring of at most <EM>n</EM> <STRONG>wchar_t</STRONG> characters. If <EM>n</EM> is less than
+ performed. The cursor position does not change (after moving to <I>y</I>, <I>x</I>,
+ if specified). The four routines with <I>n</I> as the last argument insert a
+ leading substring of at most <I>n</I> <B>wchar_t</B> characters. If <I>n</I> is less than
1, the entire string is inserted.
- If a character in <EM>wstr</EM> is a tab, newline, carriage return or backspace,
+ If a character in <I>wstr</I> is a tab, newline, carriage return or backspace,
the cursor is moved appropriately within the window. A newline also
- does a <STRONG>clrtoeol</STRONG> before moving. Tabs are considered to be at every
- eighth column. If a character in <EM>wstr</EM> is another control character, it
- is drawn in the <STRONG>^</STRONG><EM>X</EM> notation. Calling <STRONG>win_wch</STRONG> after adding a control
+ does a <B>clrtoeol</B> before moving. Tabs are considered to be at every
+ eighth column. If a character in <I>wstr</I> is another control character, it
+ is drawn in the <B>^</B><I>X</I> notation. Calling <B>win_wch</B> after adding a control
character (and moving to it, if necessary) does not return the control
character, but instead returns a character in the ^-representation of
the control character.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Upon successful completion, these functions return <STRONG>OK</STRONG>. Otherwise, they
- return <STRONG>ERR</STRONG>.
+ Upon successful completion, these functions return <B>OK</B>. Otherwise, they
+ return <B>ERR</B>.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>, <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>, <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>.
- <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x</TITLE>
+<TITLE>curs_insch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insch 3x</H1>
+<H1 class="no-header">curs_insch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+<B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B> <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>insch</STRONG>, <STRONG>winsch</STRONG>, <STRONG>mvinsch</STRONG>, <STRONG>mvwinsch</STRONG> - insert a character before cursor in
- a <STRONG>curses</STRONG> window
+ <B>insch</B>, <B>winsch</B>, <B>mvinsch</B>, <B>mvwinsch</B> - insert a character before cursor in
+ a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>insch(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>insch(chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>winsch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvinsch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinsch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvinsch(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>mvwinsch(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines insert the character <EM>ch</EM> before the character under the
+ These routines insert the character <I>ch</I> before the character under the
cursor. All characters to the right of the cursor are moved one space
to the right, with the possibility of the rightmost character on the
line being lost. The insertion operation does not change the cursor
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ All routines that return an integer return <B>ERR</B> upon failure and <B>OK</B>
+ (SVr4 specifies only "an integer value other than <B>ERR</B>") upon successful
completion, unless otherwise noted in the preceding routine
descriptions.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
These routines do not necessarily imply use of a hardware insert
character feature.
- Note that <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be macros.
+ Note that <B>insch</B>, <B>mvinsch</B>, and <B>mvwinsch</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>.
Comparable functions in the wide-character (ncursesw) library are
- described in <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>.
+ described in <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>.
- <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.26 2020/10/18 00:20:36 tom Exp @
+ * @Id: curs_insstr.3x,v 1.27 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insstr 3x</TITLE>
+<TITLE>curs_insstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insstr 3x</H1>
+<H1 class="no-header">curs_insstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+<B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B> <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>insstr</STRONG>, <STRONG>insnstr</STRONG>, <STRONG>winsstr</STRONG>, <STRONG>winsnstr</STRONG>, <STRONG>mvinsstr</STRONG>, <STRONG>mvinsnstr</STRONG>, <STRONG>mvwinsstr</STRONG>,
- <STRONG>mvwinsnstr</STRONG> - insert string before cursor in a <STRONG>curses</STRONG> window
+ <B>insstr</B>, <B>insnstr</B>, <B>winsstr</B>, <B>winsnstr</B>, <B>mvinsstr</B>, <B>mvinsnstr</B>, <B>mvwinsstr</B>,
+ <B>mvwinsnstr</B> - insert string before cursor in a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>insstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>insnstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+ <B>int</B> <B>insstr(const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>insnstr(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>winsstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>winsnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvinsstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinsnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinsstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinsnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvinsstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvinsnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwinsstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvwinsnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
fit on the line) before the character under the cursor. All characters
to the right of the cursor are shifted right with the possibility of
the rightmost characters on the line being lost. The cursor position
- does not change (after moving to <EM>y</EM>, <EM>x</EM>, if specified). The functions
- with <EM>n</EM> as the last argument insert a leading substring of at most <EM>n</EM>
- characters. If <EM>n</EM><=0, then the entire string is inserted.
+ does not change (after moving to <I>y</I>, <I>x</I>, if specified). The functions
+ with <I>n</I> as the last argument insert a leading substring of at most <I>n</I>
+ characters. If <I>n</I><=0, then the entire string is inserted.
- Special characters are handled as in <STRONG>addch</STRONG>.
+ Special characters are handled as in <B>addch</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG>
- (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ All routines that return an integer return <B>ERR</B> upon failure and <B>OK</B>
+ (SVr4 specifies only "an integer value other than <B>ERR</B>") upon successful
completion, unless otherwise noted in the preceding routine
descriptions.
returned.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all but <STRONG>winsnstr</STRONG> may be macros.
+ Note that all but <B>winsnstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4,
which adds const qualifiers to the arguments.
- The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
- <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
+ The Single Unix Specification, Version 2 states that <B>insnstr</B> and
+ <B>winsnstr</B> perform wrapping. This is probably an error, since it makes
this group of functions inconsistent. Also, no implementation of
curses documents this inconsistency.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>, <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>, <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>.
- <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_instr 3x</TITLE>
+<TITLE>curs_instr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_instr 3x</H1>
+<H1 class="no-header">curs_instr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+<B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B> <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>instr</STRONG>, <STRONG>innstr</STRONG>, <STRONG>winstr</STRONG>, <STRONG>winnstr</STRONG>, <STRONG>mvinstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinstr</STRONG>, <STRONG>mvwinnstr</STRONG>
- - get a string of characters from a <STRONG>curses</STRONG> window
+ <B>instr</B>, <B>innstr</B>, <B>winstr</B>, <B>winnstr</B>, <B>mvinstr</B>, <B>mvinnstr</B>, <B>mvwinstr</B>, <B>mvwinnstr</B>
+ - get a string of characters from a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>instr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>innstr(char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>instr(char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>innstr(char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>winstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>winnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvinstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinnstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvinstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvinnstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwinstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>mvwinnstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return a string of characters in <EM>str</EM>, extracted starting
+ These routines return a string of characters in <I>str</I>, extracted starting
at the current cursor position in the named window. Attributes are
- stripped from the characters. The four functions with <EM>n</EM> as the last
- argument return a leading substring at most <EM>n</EM> characters long
+ stripped from the characters. The four functions with <I>n</I> as the last
+ argument return a leading substring at most <I>n</I> characters long
(exclusive of the trailing NUL).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All of the functions return <STRONG>ERR</STRONG> upon failure, or the number of
+ All of the functions return <B>ERR</B> upon failure, or the number of
characters actually read into the string.
X/Open Curses defines no error conditions. In this implementation:
- <STRONG>o</STRONG> If the <EM>win</EM> parameter is null, an error is returned,
+ <B>o</B> If the <I>win</I> parameter is null, an error is returned,
- <STRONG>o</STRONG> If the <EM>chstr</EM> parameter is null, an error is returned,
+ <B>o</B> If the <I>chstr</I> parameter is null, an error is returned,
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that all routines except <STRONG>winnstr</STRONG> may be macros.
+ Note that all routines except <B>winnstr</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
trailing NUL.
The ncurses library extends the XSI description by allowing a negative
- value for <EM>n</EM>. In this case, the functions return the string ending at
+ value for <I>n</I>. In this case, the functions return the string ending at
the right margin.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>.
- <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2002-2012,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inwstr 3x</TITLE>
+<TITLE>curs_inwstr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inwstr 3x</H1>
+<H1 class="no-header">curs_inwstr 3X</H1>
<PRE>
-<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+<B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B> <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>inwstr</STRONG>, <STRONG>innwstr</STRONG>, <STRONG>winwstr</STRONG>, <STRONG>winnwstr</STRONG>, <STRONG>mvinwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinwstr</STRONG>,
- <STRONG>mvwinnwstr</STRONG> - get a string of <STRONG>wchar_t</STRONG> characters from a curses window
+ <B>inwstr</B>, <B>innwstr</B>, <B>winwstr</B>, <B>winnwstr</B>, <B>mvinwstr</B>, <B>mvinnwstr</B>, <B>mvwinwstr</B>,
+ <B>mvwinnwstr</B> - get a string of <B>wchar_t</B> characters from a curses window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>inwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>innwstr(wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>winnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>inwstr(wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>innwstr(wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>winwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>winnwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvinwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvinnwstr(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwinnwstr(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wstr</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvinwstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvinnwstr(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>mvwinwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>);</B>
+ <B>int</B> <B>mvwinnwstr(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>wchar_t</B> <B>*</B><I>wstr</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines return a string of <STRONG>wchar_t</STRONG> wide characters in <EM>wstr</EM>,
+ These routines return a string of <B>wchar_t</B> wide characters in <I>wstr</I>,
extracted starting at the current cursor position in the named window.
- The four functions with <EM>n</EM> as the last argument return a leading
- substring at most <EM>n</EM> characters long (exclusive of the trailing NUL).
- Transfer stops at the end of the current line, or when <EM>n</EM> characters
- have been stored at the location referenced by <EM>wstr</EM>.
+ The four functions with <I>n</I> as the last argument return a leading
+ substring at most <I>n</I> characters long (exclusive of the trailing NUL).
+ Transfer stops at the end of the current line, or when <I>n</I> characters
+ have been stored at the location referenced by <I>wstr</I>.
- If the size <EM>n</EM> is not large enough to store a complete complex
+ If the size <I>n</I> is not large enough to store a complete complex
character, an error is generated.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All routines except <STRONG>winnwstr</STRONG> may be macros.
+ All routines except <B>winnwstr</B> may be macros.
Each cell in the window holds a complex character (i.e., base- and
combining-characters) together with attributes and color. These
functions store only the wide characters, ignoring attributes and
- color. Use <STRONG>in_wchstr</STRONG> to return the complex characters from a window.
+ color. Use <B>in_wchstr</B> to return the complex characters from a window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return <STRONG>ERR</STRONG> upon failure. Upon successful completion, the
- *<STRONG>inwstr</STRONG> routines return <STRONG>OK</STRONG>, and the *<STRONG>innwstr</STRONG> routines return the number
+ All routines return <B>ERR</B> upon failure. Upon successful completion, the
+ *<B>inwstr</B> routines return <B>OK</B>, and the *<B>innwstr</B> routines return the number
of characters read into the string.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>, <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
- <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_kernel 3x</TITLE>
+<TITLE>curs_kernel 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_kernel 3x</H1>
+<H1 class="no-header">curs_kernel 3X</H1>
<PRE>
-<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+<B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B> <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>,
- <STRONG>resetty</STRONG>, <STRONG>savetty</STRONG>, <STRONG>getsyx</STRONG>, <STRONG>setsyx</STRONG>, <STRONG>ripoffline</STRONG>, <STRONG>curs_set</STRONG>, <STRONG>napms</STRONG> - low-
- level <STRONG>curses</STRONG> routines
+ <B>def_prog_mode</B>, <B>def_shell_mode</B>, <B>reset_prog_mode</B>, <B>reset_shell_mode</B>,
+ <B>resetty</B>, <B>savetty</B>, <B>getsyx</B>, <B>setsyx</B>, <B>ripoffline</B>, <B>curs_set</B>, <B>napms</B> - low-
+ level <B>curses</B> routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>def_prog_mode(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>def_shell_mode(void);</STRONG>
+ <B>int</B> <B>def_prog_mode(void);</B>
+ <B>int</B> <B>def_shell_mode(void);</B>
- <STRONG>int</STRONG> <STRONG>reset_prog_mode(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>reset_shell_mode(void);</STRONG>
+ <B>int</B> <B>reset_prog_mode(void);</B>
+ <B>int</B> <B>reset_shell_mode(void);</B>
- <STRONG>int</STRONG> <STRONG>resetty(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>savetty(void);</STRONG>
+ <B>int</B> <B>resetty(void);</B>
+ <B>int</B> <B>savetty(void);</B>
- <STRONG>void</STRONG> <STRONG>getsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>setsyx(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>void</B> <B>getsyx(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>void</B> <B>setsyx(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>ripoffline(int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>int));</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set(int</STRONG> <EM>visibility</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>napms(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
+ <B>int</B> <B>ripoffline(int</B> <I>line</I><B>,</B> <B>int</B> <B>(*</B><I>init</I><B>)(WINDOW</B> <B>*,</B> <B>int));</B>
+ <B>int</B> <B>curs_set(int</B> <I>visibility</I><B>);</B>
+ <B>int</B> <B>napms(int</B> <I>ms</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The following routines give low-level access to various <STRONG>curses</STRONG> capabil-
+ The following routines give low-level access to various <B>curses</B> capabil-
ities. These routines typically are used inside library routines.
</PRE><H3><a name="h3-def_prog_mode_-def_shell_mode">def_prog_mode, def_shell_mode</a></H3><PRE>
- The <STRONG>def_prog_mode</STRONG> and <STRONG>def_shell_mode</STRONG> routines save the current terminal
- modes as the "program" (in <STRONG>curses</STRONG>) or "shell" (not in <STRONG>curses</STRONG>) state for
- use by the <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines. This is done
- automatically by <STRONG>initscr</STRONG>. There is one such save area for each screen
- context allocated by <STRONG>newterm</STRONG>.
+ The <B>def_prog_mode</B> and <B>def_shell_mode</B> routines save the current terminal
+ modes as the "program" (in <B>curses</B>) or "shell" (not in <B>curses</B>) state for
+ use by the <B>reset_prog_mode</B> and <B>reset_shell_mode</B> routines. This is done
+ automatically by <B>initscr</B>. There is one such save area for each screen
+ context allocated by <B>newterm</B>.
</PRE><H3><a name="h3-reset_prog_mode_-reset_shell_mode">reset_prog_mode, reset_shell_mode</a></H3><PRE>
- The <STRONG>reset_prog_mode</STRONG> and <STRONG>reset_shell_mode</STRONG> routines restore the terminal
- to "program" (in <STRONG>curses</STRONG>) or "shell" (out of <STRONG>curses</STRONG>) state. These are
- done automatically by <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and, after an <STRONG>endwin</STRONG>, by <STRONG>doupdate</STRONG>, so
+ The <B>reset_prog_mode</B> and <B>reset_shell_mode</B> routines restore the terminal
+ to "program" (in <B>curses</B>) or "shell" (out of <B>curses</B>) state. These are
+ done automatically by <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B> and, after an <B>endwin</B>, by <B>doupdate</B>, so
they normally are not called.
</PRE><H3><a name="h3-resetty_-savetty">resetty, savetty</a></H3><PRE>
- The <STRONG>resetty</STRONG> and <STRONG>savetty</STRONG> routines save and restore the state of the ter-
- minal modes. <STRONG>savetty</STRONG> saves the current state in a buffer and <STRONG>resetty</STRONG>
- restores the state to what it was at the last call to <STRONG>savetty</STRONG>.
+ The <B>resetty</B> and <B>savetty</B> routines save and restore the state of the ter-
+ minal modes. <B>savetty</B> saves the current state in a buffer and <B>resetty</B>
+ restores the state to what it was at the last call to <B>savetty</B>.
</PRE><H3><a name="h3-getsyx">getsyx</a></H3><PRE>
- The <STRONG>getsyx</STRONG> routine returns the current coordinates of the <EM>virtual</EM>
- <EM>screen</EM> cursor in <EM>y</EM> and <EM>x</EM>. If <STRONG>leaveok</STRONG> is currently <STRONG>TRUE</STRONG>, then <STRONG>-1</STRONG>,<STRONG>-1</STRONG> is
+ The <B>getsyx</B> routine returns the current coordinates of the <I>virtual</I>
+ <I>screen</I> cursor in <I>y</I> and <I>x</I>. If <B>leaveok</B> is currently <B>TRUE</B>, then <B>-1</B>,<B>-1</B> is
returned. If lines have been removed from the top of the screen, using
- <STRONG>ripoffline</STRONG>, <EM>y</EM> and <EM>x</EM> include these lines; therefore, <EM>y</EM> and <EM>x</EM> should be
- used only as arguments for <STRONG>setsyx</STRONG>.
+ <B>ripoffline</B>, <I>y</I> and <I>x</I> include these lines; therefore, <I>y</I> and <I>x</I> should be
+ used only as arguments for <B>setsyx</B>.
- Few applications will use this feature, most use <STRONG>getyx</STRONG> instead.
+ Few applications will use this feature, most use <B>getyx</B> instead.
</PRE><H3><a name="h3-setsyx">setsyx</a></H3><PRE>
- The <STRONG>setsyx</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> cursor to <EM>y</EM>, <EM>x</EM>. If <EM>y</EM> and <EM>x</EM>
- are both <STRONG>-1</STRONG>, then <STRONG>leaveok</STRONG> is set. The two routines <STRONG>getsyx</STRONG> and <STRONG>setsyx</STRONG>
- are designed to be used by a library routine, which manipulates <STRONG>curses</STRONG>
+ The <B>setsyx</B> routine sets the <I>virtual</I> <I>screen</I> cursor to <I>y</I>, <I>x</I>. If <I>y</I> and <I>x</I>
+ are both <B>-1</B>, then <B>leaveok</B> is set. The two routines <B>getsyx</B> and <B>setsyx</B>
+ are designed to be used by a library routine, which manipulates <B>curses</B>
windows but does not want to change the current position of the pro-
- gram's cursor. The library routine would call <STRONG>getsyx</STRONG> at the beginning,
- do its manipulation of its own windows, do a <STRONG>wnoutrefresh</STRONG> on its win-
- dows, call <STRONG>setsyx</STRONG>, and then call <STRONG>doupdate</STRONG>.
+ gram's cursor. The library routine would call <B>getsyx</B> at the beginning,
+ do its manipulation of its own windows, do a <B>wnoutrefresh</B> on its win-
+ dows, call <B>setsyx</B>, and then call <B>doupdate</B>.
- Few applications will use this feature, most use <STRONG>wmove</STRONG> instead.
+ Few applications will use this feature, most use <B>wmove</B> instead.
</PRE><H3><a name="h3-ripoffline">ripoffline</a></H3><PRE>
- The <STRONG>ripoffline</STRONG> routine provides access to the same facility that
- <STRONG>slk_init</STRONG> [see <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>] uses to reduce the size of the screen.
- <STRONG>ripoffline</STRONG> must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is called, to pre-
+ The <B>ripoffline</B> routine provides access to the same facility that
+ <B>slk_init</B> [see <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>] uses to reduce the size of the screen.
+ <B>ripoffline</B> must be called before <B>initscr</B> or <B>newterm</B> is called, to pre-
pare these initial actions:
- <STRONG>o</STRONG> If <EM>line</EM> is positive, a line is removed from the top of <STRONG>stdscr</STRONG>.
+ <B>o</B> If <I>line</I> is positive, a line is removed from the top of <B>stdscr</B>.
- <STRONG>o</STRONG> if <EM>line</EM> is negative, a line is removed from the bottom.
+ <B>o</B> if <I>line</I> is negative, a line is removed from the bottom.
- When the resulting initialization is done inside <STRONG>initscr</STRONG>, the routine
- <STRONG>init</STRONG> (supplied by the user) is called with two arguments:
+ When the resulting initialization is done inside <B>initscr</B>, the routine
+ <B>init</B> (supplied by the user) is called with two arguments:
- <STRONG>o</STRONG> a window pointer to the one-line window that has been allocated and
+ <B>o</B> a window pointer to the one-line window that has been allocated and
- <STRONG>o</STRONG> an integer with the number of columns in the window.
+ <B>o</B> an integer with the number of columns in the window.
- Inside this initialization routine, the integer variables <STRONG>LINES</STRONG> and
- <STRONG>COLS</STRONG> (defined in <STRONG><curses.h></STRONG>) are not guaranteed to be accurate and <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG> or <STRONG>doupdate</STRONG> must not be called. It is allowable to call <STRONG>wnoutre-</STRONG>
- <STRONG>fresh</STRONG> during the initialization routine.
+ Inside this initialization routine, the integer variables <B>LINES</B> and
+ <B>COLS</B> (defined in <B><curses.h></B>) are not guaranteed to be accurate and <B>wre-</B>
+ <B>fresh</B> or <B>doupdate</B> must not be called. It is allowable to call <B>wnoutre-</B>
+ <B>fresh</B> during the initialization routine.
- <STRONG>ripoffline</STRONG> can be called up to five times before calling <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG>.
+ <B>ripoffline</B> can be called up to five times before calling <B>initscr</B> or
+ <B>newterm</B>.
</PRE><H3><a name="h3-curs_set">curs_set</a></H3><PRE>
- The <STRONG>curs_set</STRONG> routine sets the cursor state to invisible, normal, or
- very visible for <STRONG>visibility</STRONG> equal to <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG> respectively. If the
- terminal supports the <EM>visibility</EM> requested, the previous <EM>cursor</EM> state
- is returned; otherwise, <STRONG>ERR</STRONG> is returned.
+ The <B>curs_set</B> routine sets the cursor state to invisible, normal, or
+ very visible for <B>visibility</B> equal to <B>0</B>, <B>1</B>, or <B>2</B> respectively. If the
+ terminal supports the <I>visibility</I> requested, the previous <I>cursor</I> state
+ is returned; otherwise, <B>ERR</B> is returned.
</PRE><H3><a name="h3-napms">napms</a></H3><PRE>
- The <STRONG>napms</STRONG> routine is used to sleep for <EM>ms</EM> milliseconds.
+ The <B>napms</B> routine is used to sleep for <I>ms</I> milliseconds.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>curs_set</STRONG>, these routines always return <STRONG>OK</STRONG>.
+ Except for <B>curs_set</B>, these routines always return <B>OK</B>.
- <STRONG>curs_set</STRONG> returns the previous cursor state, or <STRONG>ERR</STRONG> if the requested
- <EM>visibility</EM> is not supported.
+ <B>curs_set</B> returns the previous cursor state, or <B>ERR</B> if the requested
+ <I>visibility</I> is not supported.
X/Open defines no error conditions. In this implementation
- <STRONG>def_prog_mode</STRONG>, <STRONG>def_shell_mode</STRONG>, <STRONG>reset_prog_mode</STRONG>, <STRONG>reset_shell_mode</STRONG>
+ <B>def_prog_mode</B>, <B>def_shell_mode</B>, <B>reset_prog_mode</B>, <B>reset_shell_mode</B>
return an error if the terminal was not initialized, or if the I/O
call to obtain the terminal settings fails.
- <STRONG>ripoffline</STRONG>
+ <B>ripoffline</B>
returns an error if the maximum number of ripped-off lines exceeds
the maximum (NRIPS = 5).
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>getsyx</STRONG> is a macro, so <STRONG>&</STRONG> is not necessary before the variables
- <EM>y</EM> and <EM>x</EM>.
+ Note that <B>getsyx</B> is a macro, so <B>&</B> is not necessary before the variables
+ <I>y</I> and <I>x</I>.
- Older SVr4 man pages warn that the return value of <STRONG>curs_set</STRONG> "is cur-
+ Older SVr4 man pages warn that the return value of <B>curs_set</B> "is cur-
rently incorrect". This implementation gets it right, but it may be
unwise to count on the correctness of the return value anywhere else.
- Both ncurses and SVr4 will call <STRONG>curs_set</STRONG> in <STRONG>endwin</STRONG> if <STRONG>curs_set</STRONG> has been
+ Both ncurses and SVr4 will call <B>curs_set</B> in <B>endwin</B> if <B>curs_set</B> has been
called to make the cursor other than normal, i.e., either invisible or
very visible. There is no way for ncurses to determine the initial
cursor state to restore that.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
+ The <I>virtual</I> <I>screen</I> functions <B>setsyx</B> and <B>getsyx</B> are not described in the
XSI Curses standard, Issue 4. All other functions are as described in
XSI Curses.
- The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
+ The SVr4 documentation describes <B>setsyx</B> and <B>getsyx</B> as having return
type int. This is misleading, as they are macros with no documented
semantics for the return value.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>,
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>, <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2007-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_legacy 3x</TITLE>
+<TITLE>curs_legacy 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_legacy 3x</H1>
+<H1 class="no-header">curs_legacy 3X</H1>
<PRE>
-<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+<B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B> <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- curs_legacy - get <STRONG>curses</STRONG> cursor and window coordinates, attributes
+ curs_legacy - get <B>curses</B> cursor and window coordinates, attributes
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>getattrs(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getattrs(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>getbegx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getbegy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getbegx(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>getbegy(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>getcurx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getcury(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getcurx(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>getcury(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>getmaxx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmaxy(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getmaxx(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>getmaxy(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>getparx(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getpary(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getparx(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>getpary(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These legacy functions are simpler to use than the X/Open Curses
functions:
- <STRONG>o</STRONG> The <STRONG>getattrs</STRONG> function returns the same attribute data as <STRONG>wattr_get</STRONG>.
+ <B>o</B> The <B>getattrs</B> function returns the same attribute data as <B>wattr_get</B>.
- However, <STRONG>getattrs</STRONG> returns an integer (actually a <STRONG>chtype</STRONG>), while
- <STRONG>wattr_get</STRONG> returns the current color pair in a separate parameter.
+ However, <B>getattrs</B> returns an integer (actually a <B>chtype</B>), while
+ <B>wattr_get</B> returns the current color pair in a separate parameter.
In the wide-character library configuration, color pairs may not
- fit into a <STRONG>chtype</STRONG>, so <STRONG>wattr_get</STRONG> is the only way to obtain the color
+ fit into a <B>chtype</B>, so <B>wattr_get</B> is the only way to obtain the color
information.
- Because <STRONG>getattrs</STRONG> returns the attributes in a single parameter, it
+ Because <B>getattrs</B> returns the attributes in a single parameter, it
would not be possible for an application to distinguish that from
- <STRONG>ERR</STRONG> (a <EM>-1</EM>). If the window parameter is null, <STRONG>getattrs</STRONG> returns
- <STRONG>A_NORMAL</STRONG> (zero).
+ <B>ERR</B> (a <I>-1</I>). If the window parameter is null, <B>getattrs</B> returns
+ <B>A_NORMAL</B> (zero).
- <STRONG>o</STRONG> The <STRONG>getbegy</STRONG> and <STRONG>getbegx</STRONG> functions return the same data as <STRONG>getbegyx</STRONG>.
+ <B>o</B> The <B>getbegy</B> and <B>getbegx</B> functions return the same data as <B>getbegyx</B>.
- <STRONG>o</STRONG> The <STRONG>getcury</STRONG> and <STRONG>getcurx</STRONG> functions return the same data as <STRONG>getyx</STRONG>.
+ <B>o</B> The <B>getcury</B> and <B>getcurx</B> functions return the same data as <B>getyx</B>.
- <STRONG>o</STRONG> The <STRONG>getmaxy</STRONG> and <STRONG>getmaxx</STRONG> functions return the same data as <STRONG>getmaxyx</STRONG>.
+ <B>o</B> The <B>getmaxy</B> and <B>getmaxx</B> functions return the same data as <B>getmaxyx</B>.
- <STRONG>o</STRONG> The <STRONG>getpary</STRONG> and <STRONG>getparx</STRONG> functions return the same data as <STRONG>getparyx</STRONG>.
+ <B>o</B> The <B>getpary</B> and <B>getparx</B> functions return the same data as <B>getparyx</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except as noted, these functions return an integer, or <STRONG>ERR</STRONG> if the
+ Except as noted, these functions return an integer, or <B>ERR</B> if the
window parameter is null.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All of these interfaces are provided as macros and functions. The
macros are suppressed (and only the functions provided) when
- <STRONG>NCURSES_OPAQUE</STRONG> is defined. The standard forms such as <STRONG>getyx</STRONG> must be
+ <B>NCURSES_OPAQUE</B> is defined. The standard forms such as <B>getyx</B> must be
implemented as macros, and (in this implementation) are defined in
terms of the functions described here, to avoid reliance on internal
details of the WINDOW structure.
implementations. None of those implementations checked the window
parameter.
- The <STRONG>getattrs</STRONG> function and macro are defined to return a (signed)
+ The <B>getattrs</B> function and macro are defined to return a (signed)
integer for compatibility with those implementations although an
unsigned type would have been more appropriate.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>, <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>
- <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_memleaks 3x</TITLE>
+<TITLE>curs_memleaks 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_memleaks 3x</H1>
+<H1 class="no-header">curs_memleaks 3X</H1>
<PRE>
-<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+<B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B> <B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>exit_curses</STRONG>, <STRONG>exit_terminfo</STRONG> - <STRONG>curses</STRONG> memory-leak checking
+ <B>exit_curses</B>, <B>exit_terminfo</B> - <B>curses</B> memory-leak checking
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>void</STRONG> <STRONG>exit_curses(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+ <B>void</B> <B>exit_curses(int</B> <I>code</I><B>);</B>
- <STRONG>#include</STRONG> <STRONG><term.h></STRONG>
- <STRONG>void</STRONG> <STRONG>exit_terminfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><term.h></B>
+ <B>void</B> <B>exit_terminfo(int</B> <I>code</I><B>);</B>
/* deprecated (intentionally not declared in curses.h or term.h) */
- <STRONG>void</STRONG> <STRONG>_nc_freeall(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>_nc_free_and_exit(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>_nc_free_tinfo(int</STRONG> <EM>code</EM><STRONG>);</STRONG>
+ <B>void</B> <B>_nc_freeall(void);</B>
+ <B>void</B> <B>_nc_free_and_exit(int</B> <I>code</I><B>);</B>
+ <B>void</B> <B>_nc_free_tinfo(int</B> <I>code</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
ncurses library.
Any implementation of curses must not free the memory associated with a
- screen, since (even after calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>), it must be available for
- use in the next call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>. There are also chunks of memory
+ screen, since (even after calling <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B>), it must be available for
+ use in the next call to <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>. There are also chunks of memory
held for performance reasons. That makes it hard to analyze curses ap-
plications for memory leaks. When using the specially configured de-
bugging version of the ncurses library, applications can call functions
Some of the functions are named with a "_nc_" prefix because they are
not intended for use in the non-debugging library:
- <STRONG>_nc_freeall</STRONG>
+ <B>_nc_freeall</B>
This frees (almost) all of the memory allocated by ncurses.
- <STRONG>_nc_free_and_exit</STRONG>
- This frees the memory allocated by ncurses (like <STRONG>_nc_freeall</STRONG>), and
- exits the program. It is preferred over <STRONG>_nc_freeall</STRONG> since some of
+ <B>_nc_free_and_exit</B>
+ This frees the memory allocated by ncurses (like <B>_nc_freeall</B>), and
+ exits the program. It is preferred over <B>_nc_freeall</B> since some of
that memory may be required to keep the application running. Sim-
ply exiting (with the given exit-code) is safer.
- <STRONG>_nc_free_tinfo</STRONG>
+ <B>_nc_free_tinfo</B>
Use this function if only the low-level terminfo functions (and
- corresponding library) are used. Like <STRONG>_nc_free_and_exit</STRONG>, it exits
+ corresponding library) are used. Like <B>_nc_free_and_exit</B>, it exits
the program after freeing memory.
The functions prefixed "_nc" are normally not available; they must be
- configured into the library at build time using the <STRONG>--disable-leaks</STRONG> op-
+ configured into the library at build time using the <B>--disable-leaks</B> op-
tion. That compiles-in code that frees memory that normally would not
be freed.
- The <STRONG>exit_curses</STRONG> and <STRONG>exit_terminfo</STRONG> functions call <STRONG>_nc_free_and_exit</STRONG> and
- <STRONG>_nc_free_tinfo</STRONG> if the library is configured to support memory-leak
+ The <B>exit_curses</B> and <B>exit_terminfo</B> functions call <B>_nc_free_and_exit</B> and
+ <B>_nc_free_tinfo</B> if the library is configured to support memory-leak
checking. If the library is not configured to support memory-leak
- checking, they simply call <STRONG>exit</STRONG>.
+ checking, they simply call <B>exit</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>.
- <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ <B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x</TITLE>
+<TITLE>curs_mouse 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x</H1>
+<H1 class="no-header">curs_mouse 3X</H1>
<PRE>
-<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+<B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B> <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>has_mouse</STRONG>, <STRONG>getmouse</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>,
- <STRONG>wmouse_trafo</STRONG>, <STRONG>mouseinterval</STRONG> - mouse interface through curses
+ <B>has_mouse</B>, <B>getmouse</B>, <B>ungetmouse</B>, <B>mousemask</B>, <B>wenclose</B>, <B>mouse_trafo</B>,
+ <B>wmouse_trafo</B>, <B>mouseinterval</B> - mouse interface through curses
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>typedef</STRONG> <STRONG>unsigned</STRONG> <STRONG>long</STRONG> <STRONG>mmask_t;</STRONG>
+ <B>typedef</B> <B>unsigned</B> <B>long</B> <B>mmask_t;</B>
- <STRONG>typedef</STRONG> <STRONG>struct</STRONG> <STRONG>{</STRONG>
- <STRONG>short</STRONG> <STRONG>id;</STRONG> <EM>/*</EM> <EM>ID</EM> <EM>to</EM> <EM>distinguish</EM> <EM>multiple</EM> <EM>devices</EM> <EM>*/</EM>
- <STRONG>int</STRONG> <STRONG>x,</STRONG> <STRONG>y,</STRONG> <STRONG>z;</STRONG> <EM>/*</EM> <EM>event</EM> <EM>coordinates</EM> <EM>*/</EM>
- <STRONG>mmask_t</STRONG> <STRONG>bstate;</STRONG> <EM>/*</EM> <EM>button</EM> <EM>state</EM> <EM>bits</EM> <EM>*/</EM>
- <STRONG>}</STRONG> <STRONG>MEVENT;</STRONG>
+ <B>typedef</B> <B>struct</B> <B>{</B>
+ <B>short</B> <B>id;</B> <I>/*</I> <I>ID</I> <I>to</I> <I>distinguish</I> <I>multiple</I> <I>devices</I> <I>*/</I>
+ <B>int</B> <B>x,</B> <B>y,</B> <B>z;</B> <I>/*</I> <I>event</I> <I>coordinates</I> <I>*/</I>
+ <B>mmask_t</B> <B>bstate;</B> <I>/*</I> <I>button</I> <I>state</I> <I>bits</I> <I>*/</I>
+ <B>}</B> <B>MEVENT;</B>
- <STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
+ <B>bool</B> <B>has_mouse(void);</B>
- <STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <B>int</B> <B>getmouse(MEVENT</B> <B>*</B><I>event</I><B>);</B>
+ <B>int</B> <B>ungetmouse(MEVENT</B> <B>*</B><I>event</I><B>);</B>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+ <B>mmask_t</B> <B>mousemask(mmask_t</B> <I>newmask</I><B>,</B> <B>mmask_t</B> <B>*</B><I>oldmask</I><B>);</B>
- <STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>wenclose(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
- <STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>wmouse_trafo(const</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG>
- <STRONG>int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>mouse_trafo(int*</B> <I>pY</I><B>,</B> <B>int*</B> <I>pX</I><B>,</B> <B>bool</B> <I>to</I><B>_</B><I>screen</I><B>);</B>
+ <B>bool</B> <B>wmouse_trafo(const</B> <B>WINDOW*</B> <I>win</I><B>,</B>
+ <B>int*</B> <I>pY</I><B>,</B> <B>int*</B> <I>pX</I><B>,</B> <B>bool</B> <I>to</I><B>_</B><I>screen</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mouseinterval(int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mouseinterval(int</B> <I>erval</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These functions provide an interface to mouse events from <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
- Mouse events are represented by <STRONG>KEY_MOUSE</STRONG> pseudo-key values in the
- <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+ These functions provide an interface to mouse events from <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>.
+ Mouse events are represented by <B>KEY_MOUSE</B> pseudo-key values in the
+ <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> input stream.
</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
- To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This will
+ To make mouse events visible, use the <B>mousemask</B> function. This will
set the mouse events to be reported. By default, no mouse events are
reported. The function will return a mask to indicate which of the
specified mouse events can be reported; on complete failure it returns
</PRE><H3><a name="h3-Mouse-events">Mouse events</a></H3><PRE>
Here are the mouse event type masks which may be defined:
- <EM>Name</EM> <EM>Description</EM>
+ <I>Name</I> <I>Description</I>
---------------------------------------------------------------------
BUTTON1_PRESSED mouse button 1 down
BUTTON1_RELEASED mouse button 1 up
</PRE><H3><a name="h3-getmouse">getmouse</a></H3><PRE>
Once a class of mouse events has been made visible in a window, calling
- the <STRONG>wgetch</STRONG> function on that window may return <STRONG>KEY_MOUSE</STRONG> as an indicator
+ the <B>wgetch</B> function on that window may return <B>KEY_MOUSE</B> as an indicator
that a mouse event has been queued. To read the event data and pop the
- event off the queue, call <STRONG>getmouse</STRONG>. This function will return <STRONG>OK</STRONG> if a
- mouse event is actually visible in the given window, <STRONG>ERR</STRONG> otherwise.
- When <STRONG>getmouse</STRONG> returns <STRONG>OK</STRONG>, the data deposited as y and x in the event
+ event off the queue, call <B>getmouse</B>. This function will return <B>OK</B> if a
+ mouse event is actually visible in the given window, <B>ERR</B> otherwise.
+ When <B>getmouse</B> returns <B>OK</B>, the data deposited as y and x in the event
structure coordinates will be screen-relative character-cell coordi-
nates. The returned state mask will have exactly one bit set to indi-
cate the event type. The corresponding data in the queue is marked in-
- valid. A subsequent call to <STRONG>getmouse</STRONG> will retrieve the next older item
+ valid. A subsequent call to <B>getmouse</B> will retrieve the next older item
from the queue.
</PRE><H3><a name="h3-ungetmouse">ungetmouse</a></H3><PRE>
- The <STRONG>ungetmouse</STRONG> function behaves analogously to <STRONG>ungetch</STRONG>. It pushes a
- <STRONG>KEY_MOUSE</STRONG> event onto the input queue, and associates with that event
+ The <B>ungetmouse</B> function behaves analogously to <B>ungetch</B>. It pushes a
+ <B>KEY_MOUSE</B> event onto the input queue, and associates with that event
the given state data and screen-relative character-cell coordinates.
</PRE><H3><a name="h3-wenclose">wenclose</a></H3><PRE>
- The <STRONG>wenclose</STRONG> function tests whether a given pair of screen-relative
+ The <B>wenclose</B> function tests whether a given pair of screen-relative
character-cell coordinates is enclosed by a given window, returning
- <STRONG>TRUE</STRONG> if it is and <STRONG>FALSE</STRONG> otherwise. It is useful for determining what
+ <B>TRUE</B> if it is and <B>FALSE</B> otherwise. It is useful for determining what
subset of the screen windows enclose the location of a mouse event.
</PRE><H3><a name="h3-wmouse_trafo">wmouse_trafo</a></H3><PRE>
- The <STRONG>wmouse_trafo</STRONG> function transforms a given pair of coordinates from
+ The <B>wmouse_trafo</B> function transforms a given pair of coordinates from
stdscr-relative coordinates to coordinates relative to the given window
or vice versa. The resulting stdscr-relative coordinates are not al-
ways identical to window-relative coordinates due to the mechanism to
reserve lines on top or bottom of the screen for other purposes (see
- the <STRONG>ripoffline</STRONG> and <STRONG><A HREF="curs_slk.3x.html">slk_init(3x)</A></STRONG> calls, for example).
+ the <B>ripoffline</B> and <B><A HREF="curs_slk.3X.html">slk_init(3X)</A></B> calls, for example).
- <STRONG>o</STRONG> If the parameter <STRONG>to_screen</STRONG> is <STRONG>TRUE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must refer-
- ence the coordinates of a location inside the window <STRONG>win</STRONG>. They are
+ <B>o</B> If the parameter <B>to_screen</B> is <B>TRUE</B>, the pointers <B>pY,</B> <B>pX</B> must refer-
+ ence the coordinates of a location inside the window <B>win</B>. They are
converted to window-relative coordinates and returned through the
pointers. If the conversion was successful, the function returns
- <STRONG>TRUE</STRONG>.
+ <B>TRUE</B>.
- <STRONG>o</STRONG> If one of the parameters was NULL or the location is not inside the
- window, <STRONG>FALSE</STRONG> is returned.
+ <B>o</B> If one of the parameters was NULL or the location is not inside the
+ window, <B>FALSE</B> is returned.
- <STRONG>o</STRONG> If <STRONG>to_screen</STRONG> is <STRONG>FALSE</STRONG>, the pointers <STRONG>pY,</STRONG> <STRONG>pX</STRONG> must reference window-
+ <B>o</B> If <B>to_screen</B> is <B>FALSE</B>, the pointers <B>pY,</B> <B>pX</B> must reference window-
relative coordinates. They are converted to stdscr-relative coor-
- dinates if the window <STRONG>win</STRONG> encloses this point. In this case the
- function returns <STRONG>TRUE</STRONG>.
+ dinates if the window <B>win</B> encloses this point. In this case the
+ function returns <B>TRUE</B>.
- <STRONG>o</STRONG> If one of the parameters is NULL or the point is not inside the
- window, <STRONG>FALSE</STRONG> is returned. The referenced coordinates are only re-
+ <B>o</B> If one of the parameters is NULL or the point is not inside the
+ window, <B>FALSE</B> is returned. The referenced coordinates are only re-
placed by the converted coordinates if the transformation was suc-
cessful.
</PRE><H3><a name="h3-mouse_trafo">mouse_trafo</a></H3><PRE>
- The <STRONG>mouse_trafo</STRONG> function performs the same translation as <STRONG>wmouse_trafo</STRONG>,
- using stdscr for <STRONG>win</STRONG>.
+ The <B>mouse_trafo</B> function performs the same translation as <B>wmouse_trafo</B>,
+ using stdscr for <B>win</B>.
</PRE><H3><a name="h3-mouseinterval">mouseinterval</a></H3><PRE>
- The <STRONG>mouseinterval</STRONG> function sets the maximum time (in thousands of a
+ The <B>mouseinterval</B> function sets the maximum time (in thousands of a
second) that can elapse between press and release events for them to be
- recognized as a click. Use <STRONG>mouseinterval(0)</STRONG> to disable click resolu-
- tion. This function returns the previous interval value. Use <STRONG>mousein-</STRONG>
- <STRONG>terval(-1)</STRONG> to obtain the interval without altering it. The default is
+ recognized as a click. Use <B>mouseinterval(0)</B> to disable click resolu-
+ tion. This function returns the previous interval value. Use <B>mousein-</B>
+ <B>terval(-1)</B> to obtain the interval without altering it. The default is
one sixth of a second.
</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
- The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been suc-
+ The <B>has_mouse</B> function returns <B>TRUE</B> if the mouse driver has been suc-
cessfully initialized.
Note that mouse events will be ignored when input is in cooked mode,
and will cause an error beep when cooked mode is being simulated in a
- window by a function such as <STRONG>getstr</STRONG> that expects a linefeed for input-
+ window by a function such as <B>getstr</B> that expects a linefeed for input-
loop termination.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>getmouse</STRONG> and <STRONG>ungetmouse</STRONG> return the integer <STRONG>ERR</STRONG> upon failure or <STRONG>OK</STRONG> upon
+ <B>getmouse</B> and <B>ungetmouse</B> return the integer <B>ERR</B> upon failure or <B>OK</B> upon
successful completion:
- <STRONG>getmouse</STRONG>
+ <B>getmouse</B>
returns an error.
- <STRONG>o</STRONG> If no mouse driver was initialized, or if the mask parameter is
+ <B>o</B> If no mouse driver was initialized, or if the mask parameter is
zero,
- <STRONG>o</STRONG> It also returns an error if no more events remain in the queue.
+ <B>o</B> It also returns an error if no more events remain in the queue.
- <STRONG>ungetmouse</STRONG>
+ <B>ungetmouse</B>
returns an error if the FIFO is full.
- <STRONG>mousemask</STRONG> returns the mask of reportable events.
+ <B>mousemask</B> returns the mask of reportable events.
- <STRONG>mouseinterval</STRONG> returns the previous interval value, unless the terminal
+ <B>mouseinterval</B> returns the previous interval value, unless the terminal
was not initialized. In that case, it returns the maximum interval
value (166).
- <STRONG>wenclose</STRONG> and <STRONG>wmouse_trafo</STRONG> are boolean functions returning <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
+ <B>wenclose</B> and <B>wmouse_trafo</B> are boolean functions returning <B>TRUE</B> or <B>FALSE</B>
depending on their test result.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These calls were designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and are not found in SVr4
+ These calls were designed for <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>, and are not found in SVr4
curses, 4.4BSD curses, or any other previous version of curses.
- SVr4 curses had support for the mouse in a variant of <STRONG>xterm</STRONG>. It is
+ SVr4 curses had support for the mouse in a variant of <B>xterm</B>. It is
mentioned in a few places, but with no supporting documentation:
- <STRONG>o</STRONG> the "libcurses" manual page lists functions for this feature which
- are prototyped in <STRONG>curses.h</STRONG>:
+ <B>o</B> the "libcurses" manual page lists functions for this feature which
+ are prototyped in <B>curses.h</B>:
extern int mouse_set(long int);
extern int mouse_on(long int);
extern void wmouse_position(WINDOW *, int *, int *);
extern unsigned long getmouse(void), getbmap(void);
- <STRONG>o</STRONG> the "terminfo" manual page lists capabilities for the feature
+ <B>o</B> the "terminfo" manual page lists capabilities for the feature
buttons btns BT Number of buttons on the mouse
get_mouse getm Gm Curses should get button events
mouse_info minfo Mi Mouse status information
req_mouse_pos reqmp RQ Request mouse position report
- <STRONG>o</STRONG> the interface made assumptions (as does ncurses) about the escape
+ <B>o</B> the interface made assumptions (as does ncurses) about the escape
sequences sent to and received from the terminal.
- For instance the SVr4 curses library used the <STRONG>get_mouse</STRONG> capability
+ For instance the SVr4 curses library used the <B>get_mouse</B> capability
to tell the terminal which mouse button events it should send,
passing the mouse-button bit-mask to the terminal. Also, it could
- ask the terminal where the mouse was using the <STRONG>req_mouse_pos</STRONG> capa-
+ ask the terminal where the mouse was using the <B>req_mouse_pos</B> capa-
bility.
Those features required a terminal which had been modified to work
use video terminals, making it unnecessary to be concerned about com-
patibility with the escape sequences.
- The feature macro <STRONG>NCURSES_MOUSE_VERSION</STRONG> is provided so the preprocessor
+ The feature macro <B>NCURSES_MOUSE_VERSION</B> is provided so the preprocessor
can be used to test whether these features are present. If the inter-
- face is changed, the value of <STRONG>NCURSES_MOUSE_VERSION</STRONG> will be increment-
- ed. These values for <STRONG>NCURSES_MOUSE_VERSION</STRONG> may be specified when con-
+ face is changed, the value of <B>NCURSES_MOUSE_VERSION</B> will be increment-
+ ed. These values for <B>NCURSES_MOUSE_VERSION</B> may be specified when con-
figuring ncurses:
1 has definitions for reserved events. The mask uses 28 bits.
2 adds definitions for button 5, removes the definitions for re-
served events. The mask uses 29 bits.
- The order of the <STRONG>MEVENT</STRONG> structure members is not guaranteed. Addition-
+ The order of the <B>MEVENT</B> structure members is not guaranteed. Addition-
al fields may be added to the structure in the future.
- Under <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, these calls are implemented using either xterm's
+ Under <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>, these calls are implemented using either xterm's
built-in mouse-tracking API or platform-specific drivers including
- <STRONG>o</STRONG> Alessandro Rubini's gpm server
+ <B>o</B> Alessandro Rubini's gpm server
- <STRONG>o</STRONG> FreeBSD sysmouse
+ <B>o</B> FreeBSD sysmouse
- <STRONG>o</STRONG> OS/2 EMX
+ <B>o</B> OS/2 EMX
If you are using an unsupported configuration, mouse events will not be
- visible to <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> (and the <STRONG>mousemask</STRONG> function will always return
- <STRONG>0</STRONG>).
+ visible to <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B> (and the <B>mousemask</B> function will always return
+ <B>0</B>).
- If the terminfo entry contains a <STRONG>XM</STRONG> string, this is used in the xterm
+ If the terminfo entry contains a <B>XM</B> string, this is used in the xterm
mouse driver to control the way the terminal is initialized for mouse
- operation. The default, if <STRONG>XM</STRONG> is not found, corresponds to private
+ operation. The default, if <B>XM</B> is not found, corresponds to private
mode 1000 of xterm:
\E[?1000%?%p1%{1}%=%th%el%;
\E[?1006;1000%?%p1%{1}%=%th%el%;
- The <EM>z</EM> member in the event structure is not presently used. It is in-
+ The <I>z</I> member in the event structure is not presently used. It is in-
tended for use with touch screens (which may be pressure-sensitive) or
with 3D-mice/trackballs/power gloves.
- The <STRONG>ALL_MOUSE_EVENTS</STRONG> class does not include <STRONG>REPORT_MOUSE_POSITION</STRONG>.
+ The <B>ALL_MOUSE_EVENTS</B> class does not include <B>REPORT_MOUSE_POSITION</B>.
They are distinct. For example, in xterm, wheel/scrolling mice send
position reports as a sequence of presses of buttons 4 or 5 without
matching button-releases.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
Mouse events under xterm will not in fact be ignored during cooked
- mode, if they have been enabled by <STRONG>mousemask</STRONG>. Instead, the xterm mouse
+ mode, if they have been enabled by <B>mousemask</B>. Instead, the xterm mouse
report sequence will appear in the string read.
Mouse events under xterm will not be detected correctly in a window
with its keypad bit off, since they are interpreted as a variety of
- function key. Your terminfo description should have <STRONG>kmous</STRONG> set to
+ function key. Your terminfo description should have <B>kmous</B> set to
"\E[M" (the beginning of the response from xterm for mouse clicks).
- Other values for <STRONG>kmous</STRONG> are permitted, but under the same assumption,
+ Other values for <B>kmous</B> are permitted, but under the same assumption,
i.e., it is the beginning of the response.
Because there are no standard terminal responses that would serve to
- identify terminals which support the xterm mouse protocol, <STRONG>ncurses</STRONG> as-
- sumes that if <STRONG>kmous</STRONG> is defined in the terminal description, or if the
+ identify terminals which support the xterm mouse protocol, <B>ncurses</B> as-
+ sumes that if <B>kmous</B> is defined in the terminal description, or if the
terminal description's primary name or aliases contain the string
- "xterm", then the terminal may send mouse events. The <STRONG>kmous</STRONG> capability
+ "xterm", then the terminal may send mouse events. The <B>kmous</B> capability
is checked first, allowing the use of newer xterm mouse protocols such
as xterm's private mode 1006.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>, <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_move 3x</TITLE>
+<TITLE>curs_move 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_move 3x</H1>
+<H1 class="no-header">curs_move 3X</H1>
<PRE>
-<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+<B><A HREF="curs_move.3X.html">curs_move(3X)</A></B> <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>move</STRONG>, <STRONG>wmove</STRONG> - move <STRONG>curses</STRONG> window cursor
+ <B>move</B>, <B>wmove</B> - move <B>curses</B> window cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>move(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wmove(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
+ <B>int</B> <B>move(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>int</B> <B>wmove(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines move the cursor associated with the window to line <EM>y</EM> and
- column <EM>x</EM>. This routine does not move the physical cursor of the termi-
- nal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is relative to
+ These routines move the cursor associated with the window to line <I>y</I> and
+ column <I>x</I>. This routine does not move the physical cursor of the termi-
+ nal until <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> is called. The position specified is relative to
the upper left-hand corner of the window, which is (0,0).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
- integer value other than <STRONG>ERR</STRONG>") upon successful completion.
+ These routines return <B>ERR</B> upon failure and <B>OK</B> (SVr4 specifies only "an
+ integer value other than <B>ERR</B>") upon successful completion.
Specifically, they return an error if the window pointer is null, or if
the position is outside the window.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>move</STRONG> may be a macro.
+ Note that <B>move</B> may be a macro.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
- <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 2007-2014,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_opaque 3x</TITLE>
+<TITLE>curs_opaque 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_opaque 3x</H1>
+<H1 class="no-header">curs_opaque 3X</H1>
<PRE>
-<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+<B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B> <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>is_cleared</STRONG>, <STRONG>is_idlok</STRONG>, <STRONG>is_idcok</STRONG>, <STRONG>is_immedok</STRONG>, <STRONG>is_keypad</STRONG>, <STRONG>is_leaveok</STRONG>,
- <STRONG>is_nodelay</STRONG>, <STRONG>is_notimeout</STRONG>, <STRONG>is_pad</STRONG>, <STRONG>is_scrollok</STRONG>, <STRONG>is_subwin</STRONG>, <STRONG>is_syncok</STRONG>,
- <STRONG>wgetdelay</STRONG>, <STRONG>wgetparent</STRONG>, <STRONG>wgetscrreg</STRONG> - <STRONG>curses</STRONG> window properties
+ <B>is_cleared</B>, <B>is_idlok</B>, <B>is_idcok</B>, <B>is_immedok</B>, <B>is_keypad</B>, <B>is_leaveok</B>,
+ <B>is_nodelay</B>, <B>is_notimeout</B>, <B>is_pad</B>, <B>is_scrollok</B>, <B>is_subwin</B>, <B>is_syncok</B>,
+ <B>wgetdelay</B>, <B>wgetparent</B>, <B>wgetscrreg</B> - <B>curses</B> window properties
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
-
- <STRONG>bool</STRONG> <STRONG>is_cleared(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_idcok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_idlok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_immedok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_keypad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_leaveok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_nodelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_notimeout(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_pad(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_scrollok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_subwin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_syncok(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>wgetparent(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetdelay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wgetscrreg(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>bottom</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+
+ <B>bool</B> <B>is_cleared(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_idcok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_idlok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_immedok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_keypad(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_leaveok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_nodelay(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_notimeout(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_pad(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_scrollok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_subwin(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>bool</B> <B>is_syncok(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>WINDOW</B> <B>*</B> <B>wgetparent(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>wgetdelay(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>wgetscrreg(const</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <B>*</B><I>top</I><B>,</B> <B>int</B> <B>*</B><I>bottom</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This implementation provides functions which return properties set in
- the WINDOW structure, allowing it to be "opaque" if the symbol <STRONG>NCURS-</STRONG>
- <STRONG>ES_OPAQUE</STRONG> is defined:
+ the WINDOW structure, allowing it to be "opaque" if the symbol <B>NCURS-</B>
+ <B>ES_OPAQUE</B> is defined:
- <STRONG>is_cleared</STRONG>
- returns the value set in <STRONG>clearok</STRONG>
+ <B>is_cleared</B>
+ returns the value set in <B>clearok</B>
- <STRONG>is_idcok</STRONG>
- returns the value set in <STRONG>idcok</STRONG>
+ <B>is_idcok</B>
+ returns the value set in <B>idcok</B>
- <STRONG>is_idlok</STRONG>
- returns the value set in <STRONG>idlok</STRONG>
+ <B>is_idlok</B>
+ returns the value set in <B>idlok</B>
- <STRONG>is_immedok</STRONG>
- returns the value set in <STRONG>immedok</STRONG>
+ <B>is_immedok</B>
+ returns the value set in <B>immedok</B>
- <STRONG>is_keypad</STRONG>
- returns the value set in <STRONG>keypad</STRONG>
+ <B>is_keypad</B>
+ returns the value set in <B>keypad</B>
- <STRONG>is_leaveok</STRONG>
- returns the value set in <STRONG>leaveok</STRONG>
+ <B>is_leaveok</B>
+ returns the value set in <B>leaveok</B>
- <STRONG>is_nodelay</STRONG>
- returns the value set in <STRONG>nodelay</STRONG>
+ <B>is_nodelay</B>
+ returns the value set in <B>nodelay</B>
- <STRONG>is_notimeout</STRONG>
- returns the value set in <STRONG>notimeout</STRONG>
+ <B>is_notimeout</B>
+ returns the value set in <B>notimeout</B>
- <STRONG>is_pad</STRONG>
- returns <STRONG>TRUE</STRONG> if the window is a pad i.e., created by <STRONG>newpad</STRONG>
+ <B>is_pad</B>
+ returns <B>TRUE</B> if the window is a pad i.e., created by <B>newpad</B>
- <STRONG>is_scrollok</STRONG>
- returns the value set in <STRONG>scrollok</STRONG>
+ <B>is_scrollok</B>
+ returns the value set in <B>scrollok</B>
- <STRONG>is_subwin</STRONG>
- returns <STRONG>TRUE</STRONG> if the window is a subwindow, i.e., created by <STRONG>subwin</STRONG>
- or <STRONG>derwin</STRONG>
+ <B>is_subwin</B>
+ returns <B>TRUE</B> if the window is a subwindow, i.e., created by <B>subwin</B>
+ or <B>derwin</B>
- <STRONG>is_syncok</STRONG>
- returns the value set in <STRONG>syncok</STRONG>
+ <B>is_syncok</B>
+ returns the value set in <B>syncok</B>
- <STRONG>wgetdelay</STRONG>
- returns the delay timeout as set in <STRONG>wtimeout</STRONG>.
+ <B>wgetdelay</B>
+ returns the delay timeout as set in <B>wtimeout</B>.
- <STRONG>wgetparent</STRONG>
+ <B>wgetparent</B>
returns the parent WINDOW pointer for subwindows, or NULL for win-
dows having no parent.
- <STRONG>wgetscrreg</STRONG>
+ <B>wgetscrreg</B>
returns the top and bottom rows for the scrolling margin as set in
- <STRONG>wsetscrreg</STRONG>.
+ <B>wsetscrreg</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+ These functions all return <B>TRUE</B> or <B>FALSE</B>, except as noted.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
- <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_outopts 3x</TITLE>
+<TITLE>curs_outopts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_outopts 3x</H1>
+<H1 class="no-header">curs_outopts 3X</H1>
<PRE>
-<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+<B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B> <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>clearok</STRONG>, <STRONG>idlok</STRONG>, <STRONG>idcok</STRONG>, <STRONG>immedok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>,
- <STRONG>scrollok</STRONG> - <STRONG>curses</STRONG> output options
+ <B>clearok</B>, <B>idlok</B>, <B>idcok</B>, <B>immedok</B>, <B>leaveok</B>, <B>setscrreg</B>, <B>wsetscrreg</B>,
+ <B>scrollok</B> - <B>curses</B> output options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>clearok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>idlok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>idcok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>immedok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>leaveok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scrollok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
+ <B>int</B> <B>clearok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>idlok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>void</B> <B>idcok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>void</B> <B>immedok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>leaveok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>scrollok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>setscrreg(int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wsetscrreg(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>top</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bot</EM><STRONG>);</STRONG>
+ <B>int</B> <B>setscrreg(int</B> <I>top</I><B>,</B> <B>int</B> <I>bot</I><B>);</B>
+ <B>int</B> <B>wsetscrreg(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>top</I><B>,</B> <B>int</B> <I>bot</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines set options that change the style of output within <STRONG>curs-</STRONG>
- <STRONG>es</STRONG>. All options are initially <STRONG>FALSE</STRONG>, unless otherwise stated. It is
- not necessary to turn these options off before calling <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+ These routines set options that change the style of output within <B>curs-</B>
+ <B>es</B>. All options are initially <B>FALSE</B>, unless otherwise stated. It is
+ not necessary to turn these options off before calling <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B>.
</PRE><H3><a name="h3-clearok">clearok</a></H3><PRE>
- If <STRONG>clearok</STRONG> is called with <STRONG>TRUE</STRONG> as argument, the next call to <STRONG>wrefresh</STRONG>
+ If <B>clearok</B> is called with <B>TRUE</B> as argument, the next call to <B>wrefresh</B>
with this window will clear the screen completely and redraw the entire
screen from scratch. This is useful when the contents of the screen
are uncertain, or in some cases for a more pleasing visual effect. If
- the <EM>win</EM> argument to <STRONG>clearok</STRONG> is the global variable <STRONG>curscr</STRONG>, the next
- call to <STRONG>wrefresh</STRONG> with any window causes the screen to be cleared and
+ the <I>win</I> argument to <B>clearok</B> is the global variable <B>curscr</B>, the next
+ call to <B>wrefresh</B> with any window causes the screen to be cleared and
repainted from scratch.
</PRE><H3><a name="h3-idlok">idlok</a></H3><PRE>
- If <STRONG>idlok</STRONG> is called with <STRONG>TRUE</STRONG> as second argument, <STRONG>curses</STRONG> considers using
+ If <B>idlok</B> is called with <B>TRUE</B> as second argument, <B>curses</B> considers using
the hardware insert/delete line feature of terminals so equipped.
- Calling <STRONG>idlok</STRONG> with <STRONG>FALSE</STRONG> as second argument disables use of line inser-
+ Calling <B>idlok</B> with <B>FALSE</B> as second argument disables use of line inser-
tion and deletion. This option should be enabled only if the applica-
tion needs insert/delete line, for example, for a screen editor. It is
disabled by default because insert/delete line tends to be visually an-
noying when used in applications where it is not really needed. If in-
- sert/delete line cannot be used, <STRONG>curses</STRONG> redraws the changed portions of
+ sert/delete line cannot be used, <B>curses</B> redraws the changed portions of
all lines.
</PRE><H3><a name="h3-idcok">idcok</a></H3><PRE>
- If <STRONG>idcok</STRONG> is called with <STRONG>FALSE</STRONG> as second argument, <STRONG>curses</STRONG> no longer con-
+ If <B>idcok</B> is called with <B>FALSE</B> as second argument, <B>curses</B> no longer con-
siders using the hardware insert/delete character feature of terminals
so equipped. Use of character insert/delete is enabled by default.
- Calling <STRONG>idcok</STRONG> with <STRONG>TRUE</STRONG> as second argument re-enables use of character
+ Calling <B>idcok</B> with <B>TRUE</B> as second argument re-enables use of character
insertion and deletion.
</PRE><H3><a name="h3-immedok">immedok</a></H3><PRE>
- If <STRONG>immedok</STRONG> is called with <STRONG>TRUE</STRONG> <STRONG>as</STRONG> <STRONG>argument</STRONG>, any change in the window
- image, such as the ones caused by <STRONG>waddch,</STRONG> <STRONG>wclrtobot,</STRONG> <STRONG>wscrl</STRONG>, etc., auto-
- matically cause a call to <STRONG>wrefresh</STRONG>. However, it may degrade perfor-
- mance considerably, due to repeated calls to <STRONG>wrefresh</STRONG>. It is disabled
+ If <B>immedok</B> is called with <B>TRUE</B> <B>as</B> <B>argument</B>, any change in the window
+ image, such as the ones caused by <B>waddch,</B> <B>wclrtobot,</B> <B>wscrl</B>, etc., auto-
+ matically cause a call to <B>wrefresh</B>. However, it may degrade perfor-
+ mance considerably, due to repeated calls to <B>wrefresh</B>. It is disabled
by default.
</PRE><H3><a name="h3-leaveok">leaveok</a></H3><PRE>
Normally, the hardware cursor is left at the location of the window
- cursor being refreshed. The <STRONG>leaveok</STRONG> option allows the cursor to be
+ cursor being refreshed. The <B>leaveok</B> option allows the cursor to be
left wherever the update happens to leave it. It is useful for appli-
cations where the cursor is not used, since it reduces the need for
cursor motions.
</PRE><H3><a name="h3-scrollok">scrollok</a></H3><PRE>
- The <STRONG>scrollok</STRONG> option controls what happens when the cursor of a window
+ The <B>scrollok</B> option controls what happens when the cursor of a window
is moved off the edge of the window or scrolling region, either as a
result of a newline action on the bottom line, or typing the last char-
- acter of the last line. If disabled, (<EM>bf</EM> is <STRONG>FALSE</STRONG>), the cursor is left
- on the bottom line. If enabled, (<EM>bf</EM> is <STRONG>TRUE</STRONG>), the window is scrolled
+ acter of the last line. If disabled, (<I>bf</I> is <B>FALSE</B>), the cursor is left
+ on the bottom line. If enabled, (<I>bf</I> is <B>TRUE</B>), the window is scrolled
up one line (Note that to get the physical scrolling effect on the ter-
- minal, it is also necessary to call <STRONG>idlok</STRONG>).
+ minal, it is also necessary to call <B>idlok</B>).
</PRE><H3><a name="h3-setscrreg_wsetscrreg">setscrreg/wsetscrreg</a></H3><PRE>
- The <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> routines allow the application programmer
- to set a software scrolling region in a window. The <EM>top</EM> and <EM>bot</EM> param-
+ The <B>setscrreg</B> and <B>wsetscrreg</B> routines allow the application programmer
+ to set a software scrolling region in a window. The <I>top</I> and <I>bot</I> param-
eters are the line numbers of the top and bottom margin of the
scrolling region. (Line 0 is the top line of the window.) If this op-
- tion and <STRONG>scrollok</STRONG> are enabled, an attempt to move off the bottom margin
+ tion and <B>scrollok</B> are enabled, an attempt to move off the bottom margin
line causes all lines in the scrolling region to scroll one line in the
direction of the first line. Only the text of the window is scrolled.
(Note that this has nothing to do with the use of a physical scrolling
- region capability in the terminal, like that in the VT100. If <STRONG>idlok</STRONG> is
+ region capability in the terminal, like that in the VT100. If <B>idlok</B> is
enabled and the terminal has either a scrolling region or insert/delete
line capability, they will probably be used by the output routines.)
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The functions <STRONG>setscrreg</STRONG> and <STRONG>wsetscrreg</STRONG> return <STRONG>OK</STRONG> upon success and <STRONG>ERR</STRONG>
+ The functions <B>setscrreg</B> and <B>wsetscrreg</B> return <B>OK</B> upon success and <B>ERR</B>
upon failure. All other routines that return an integer always return
- <STRONG>OK</STRONG>.
+ <B>OK</B>.
X/Open Curses does not define any error conditions.
In this implementation,
- <STRONG>o</STRONG> those functions that have a window pointer will return an error if
+ <B>o</B> those functions that have a window pointer will return an error if
the window pointer is null
- <STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
+ <B>o</B> <B>wsetscrreg</B> returns an error if the scrolling region limits extend
outside the window.
X/Open does not define any error conditions. This implementation re-
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These functions are described in the XSI Curses standard, Issue 4.
- From the outset, ncurses used <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> to control the conversion of new-
+ From the outset, ncurses used <B>nl</B>/<B>nonl</B> to control the conversion of new-
lines to carriage return/line-feed on output as well as input. XSI
Curses documents only the use of these functions for input. This dif-
- ference arose from converting the <EM>pcurses</EM> source (which used <STRONG>ioctl</STRONG>
- calls with the <STRONG>sgttyb</STRONG> structure) to termios (i.e., the POSIX terminal
+ ference arose from converting the <I>pcurses</I> source (which used <B>ioctl</B>
+ calls with the <B>sgttyb</B> structure) to termios (i.e., the POSIX terminal
interface). In the former, both input and output were controlled via a
- single option <STRONG>CRMOD</STRONG>, while the latter separates these features. Be-
- cause that conversion interferes with output optimization, <STRONG>nl</STRONG>/<STRONG>nonl</STRONG> were
+ single option <B>CRMOD</B>, while the latter separates these features. Be-
+ cause that conversion interferes with output optimization, <B>nl</B>/<B>nonl</B> were
amended after ncurses 6.2 to eliminate their effect on output.
Some historic curses implementations had, as an undocumented feature,
- the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying <STRONG>touch-</STRONG>
- <STRONG>win(stdscr)</STRONG> or <STRONG>clear(stdscr)</STRONG>. This will not work under ncurses.
+ the ability to do the equivalent of <B>clearok(...,</B> <B>1)</B> by saying <B>touch-</B>
+ <B>win(stdscr)</B> or <B>clear(stdscr)</B>. This will not work under ncurses.
- Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
+ Earlier System V curses implementations specified that with <B>scrollok</B>
enabled, any window modification triggering a scroll also forced a
- physical refresh. XSI Curses does not require this, and <STRONG>ncurses</STRONG> avoids
- doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
+ physical refresh. XSI Curses does not require this, and <B>ncurses</B> avoids
+ doing it to perform better vertical-motion optimization at <B>wrefresh</B>
time.
The XSI Curses standard does not mention that the cursor should be made
- invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
- this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisi-
+ invisible as a side-effect of <B>leaveok</B>. SVr4 curses documentation does
+ this, but the code does not. Use <B>curs_set</B> to make the cursor invisi-
ble.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>clearok</STRONG>, <STRONG>leaveok</STRONG>, <STRONG>scrollok</STRONG>, <STRONG>idcok</STRONG>, and <STRONG>setscrreg</STRONG> may be
+ Note that <B>clearok</B>, <B>leaveok</B>, <B>scrollok</B>, <B>idcok</B>, and <B>setscrreg</B> may be
macros.
- The <STRONG>immedok</STRONG> routine is useful for windows that are used as terminal em-
+ The <B>immedok</B> routine is useful for windows that are used as terminal em-
ulators.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
- <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>,
+ <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 1998-2013,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_overlay 3x</TITLE>
+<TITLE>curs_overlay 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_overlay 3x</H1>
+<H1 class="no-header">curs_overlay 3X</H1>
<PRE>
-<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+<B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B> <B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>overlay</STRONG>, <STRONG>overwrite</STRONG>, <STRONG>copywin</STRONG> - overlay and manipulate overlapped <STRONG>curses</STRONG>
+ <B>overlay</B>, <B>overwrite</B>, <B>copywin</B> - overlay and manipulate overlapped <B>curses</B>
windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>overlay(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>overwrite(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>copywin(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>srcwin</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>dstwin</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>dmaxrow</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>dmaxcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>overlay</EM><STRONG>);</STRONG>
+ <B>int</B> <B>overlay(const</B> <B>WINDOW</B> <B>*</B><I>srcwin</I><B>,</B> <B>WINDOW</B> <B>*</B><I>dstwin</I><B>);</B>
+ <B>int</B> <B>overwrite(const</B> <B>WINDOW</B> <B>*</B><I>srcwin</I><B>,</B> <B>WINDOW</B> <B>*</B><I>dstwin</I><B>);</B>
+ <B>int</B> <B>copywin(const</B> <B>WINDOW</B> <B>*</B><I>srcwin</I><B>,</B> <B>WINDOW</B> <B>*</B><I>dstwin</I><B>,</B> <B>int</B> <I>sminrow</I><B>,</B>
+ <B>int</B> <I>smincol</I><B>,</B> <B>int</B> <I>dminrow</I><B>,</B> <B>int</B> <I>dmincol</I><B>,</B> <B>int</B> <I>dmaxrow</I><B>,</B>
+ <B>int</B> <I>dmaxcol</I><B>,</B> <B>int</B> <I>overlay</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-overlay_-overwrite">overlay, overwrite</a></H3><PRE>
- The <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines overlay <EM>srcwin</EM> on top of <EM>dstwin</EM>.
- <EM>scrwin</EM> and <EM>dstwin</EM> are not required to be the same size; only text where
- the two windows overlap is copied. The difference is that <STRONG>overlay</STRONG> is
- non-destructive (blanks are not copied) whereas <STRONG>overwrite</STRONG> is destruc-
+ The <B>overlay</B> and <B>overwrite</B> routines overlay <I>srcwin</I> on top of <I>dstwin</I>.
+ <I>scrwin</I> and <I>dstwin</I> are not required to be the same size; only text where
+ the two windows overlap is copied. The difference is that <B>overlay</B> is
+ non-destructive (blanks are not copied) whereas <B>overwrite</B> is destruc-
tive.
</PRE><H3><a name="h3-copywin">copywin</a></H3><PRE>
- The <STRONG>copywin</STRONG> routine provides a finer granularity of control over the
- <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> routines. As in the <STRONG>prefresh</STRONG> routine, a rectan-
- gle is specified in the destination window, (<EM>dminrow</EM>, <EM>dmincol</EM>) and
- (<EM>dmaxrow</EM>, <EM>dmaxcol</EM>), and the upper-left-corner coordinates of the source
- window, (<EM>sminrow</EM>, <EM>smincol</EM>). If the argument <EM>overlay</EM> is <STRONG>true</STRONG>, then
- copying is non-destructive, as in <STRONG>overlay</STRONG>.
+ The <B>copywin</B> routine provides a finer granularity of control over the
+ <B>overlay</B> and <B>overwrite</B> routines. As in the <B>prefresh</B> routine, a rectan-
+ gle is specified in the destination window, (<I>dminrow</I>, <I>dmincol</I>) and
+ (<I>dmaxrow</I>, <I>dmaxcol</I>), and the upper-left-corner coordinates of the source
+ window, (<I>sminrow</I>, <I>smincol</I>). If the argument <I>overlay</I> is <B>true</B>, then
+ copying is non-destructive, as in <B>overlay</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ Routines that return an integer return <B>ERR</B> upon failure, and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful com-
pletion.
- X/Open defines no error conditions. In this implementation, <STRONG>copywin</STRONG>,
- <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> return an error if either of the window pointers
+ X/Open defines no error conditions. In this implementation, <B>copywin</B>,
+ <B>overlay</B> and <B>overwrite</B> return an error if either of the window pointers
are null, or if some part of the window would be placed off-screen.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>overlay</STRONG> and <STRONG>overwrite</STRONG> may be macros.
+ Note that <B>overlay</B> and <B>overwrite</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
- <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ <B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_pad 3x</TITLE>
+<TITLE>curs_pad 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_pad 3x</H1>
+<H1 class="no-header">curs_pad 3X</H1>
<PRE>
-<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+<B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B> <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>newpad</STRONG>, <STRONG>subpad</STRONG>, <STRONG>prefresh</STRONG>, <STRONG>pnoutrefresh</STRONG>, <STRONG>pechochar</STRONG>, <STRONG>pecho_wchar</STRONG> - create
- and display <STRONG>curses</STRONG> pads
+ <B>newpad</B>, <B>subpad</B>, <B>prefresh</B>, <B>pnoutrefresh</B>, <B>pechochar</B>, <B>pecho_wchar</B> - create
+ and display <B>curses</B> pads
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>WINDOW</STRONG> <STRONG>*newpad(int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subpad(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>prefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>pnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pmincol</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>sminrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smincol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>smaxcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>pechochar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>pecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>pad</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <B>WINDOW</B> <B>*newpad(int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>);</B>
+ <B>WINDOW</B> <B>*subpad(WINDOW</B> <B>*</B><I>orig</I><B>,</B> <B>int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>,</B>
+ <B>int</B> <I>begin</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>x</I><B>);</B>
+ <B>int</B> <B>prefresh(WINDOW</B> <B>*</B><I>pad</I><B>,</B> <B>int</B> <I>pminrow</I><B>,</B> <B>int</B> <I>pmincol</I><B>,</B>
+ <B>int</B> <I>sminrow</I><B>,</B> <B>int</B> <I>smincol</I><B>,</B> <B>int</B> <I>smaxrow</I><B>,</B> <B>int</B> <I>smaxcol</I><B>);</B>
+ <B>int</B> <B>pnoutrefresh(WINDOW</B> <B>*</B><I>pad</I><B>,</B> <B>int</B> <I>pminrow</I><B>,</B> <B>int</B> <I>pmincol</I><B>,</B>
+ <B>int</B> <I>sminrow</I><B>,</B> <B>int</B> <I>smincol</I><B>,</B> <B>int</B> <I>smaxrow</I><B>,</B> <B>int</B> <I>smaxcol</I><B>);</B>
+ <B>int</B> <B>pechochar(WINDOW</B> <B>*</B><I>pad</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>pecho_wchar(WINDOW</B> <B>*</B><I>pad</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-newpad">newpad</a></H3><PRE>
- The <STRONG>newpad</STRONG> routine creates and returns a pointer to a new pad data
- structure with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>.
+ The <B>newpad</B> routine creates and returns a pointer to a new pad data
+ structure with the given number of lines, <I>nlines</I>, and columns, <I>ncols</I>.
A pad is like a window, except that it is not restricted by the screen
size, and is not necessarily associated with a particular part of the
screen. Pads can be used when a large window is needed, and only a
freshes of pads (e.g., from scrolling or echoing of input) do not oc-
cur.
- It is not legal to call <STRONG>wrefresh</STRONG> with a <EM>pad</EM> as an argument; the rou-
- tines <STRONG>prefresh</STRONG> or <STRONG>pnoutrefresh</STRONG> should be called instead. Note that
+ It is not legal to call <B>wrefresh</B> with a <I>pad</I> as an argument; the rou-
+ tines <B>prefresh</B> or <B>pnoutrefresh</B> should be called instead. Note that
these routines require additional parameters to specify the part of the
pad to be displayed and the location on the screen to be used for the
display.
</PRE><H3><a name="h3-subpad">subpad</a></H3><PRE>
- The <STRONG>subpad</STRONG> routine creates and returns a pointer to a subwindow within
- a pad with the given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. Un-
- like <STRONG>subwin</STRONG>, which uses screen coordinates, the window is at position
- (<EM>begin</EM>_<EM>x</EM><STRONG>,</STRONG> <EM>begin</EM>_<EM>y</EM>) on the pad. The window is made in the middle of the
- window <EM>orig</EM>, so that changes made to one window affect both windows.
+ The <B>subpad</B> routine creates and returns a pointer to a subwindow within
+ a pad with the given number of lines, <I>nlines</I>, and columns, <I>ncols</I>. Un-
+ like <B>subwin</B>, which uses screen coordinates, the window is at position
+ (<I>begin</I>_<I>x</I><B>,</B> <I>begin</I>_<I>y</I>) on the pad. The window is made in the middle of the
+ window <I>orig</I>, so that changes made to one window affect both windows.
During the use of this routine, it will often be necessary to call
- <STRONG>touchwin</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>prefresh</STRONG>.
+ <B>touchwin</B> or <B>touchline</B> on <I>orig</I> before calling <B>prefresh</B>.
</PRE><H3><a name="h3-prefresh_-pnoutrefresh">prefresh, pnoutrefresh</a></H3><PRE>
- The <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> routines are analogous to <STRONG>wrefresh</STRONG> and
- <STRONG>wnoutrefresh</STRONG> except that they relate to pads instead of windows. The
+ The <B>prefresh</B> and <B>pnoutrefresh</B> routines are analogous to <B>wrefresh</B> and
+ <B>wnoutrefresh</B> except that they relate to pads instead of windows. The
additional parameters are needed to indicate what part of the pad and
screen are involved.
- <STRONG>o</STRONG> The <EM>pminrow</EM> and <EM>pmincol</EM> parameters specify the upper left-hand cor-
+ <B>o</B> The <I>pminrow</I> and <I>pmincol</I> parameters specify the upper left-hand cor-
ner of the rectangle to be displayed in the pad.
- <STRONG>o</STRONG> The <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> parameters specify the
+ <B>o</B> The <I>sminrow</I>, <I>smincol</I>, <I>smaxrow</I>, and <I>smaxcol</I> parameters specify the
edges of the rectangle to be displayed on the screen.
The lower right-hand corner of the rectangle to be displayed in the pad
is calculated from the screen coordinates, since the rectangles must be
the same size. Both rectangles must be entirely contained within their
- respective structures. Negative values of <EM>pminrow</EM>, <EM>pmincol</EM>, <EM>sminrow</EM>,
- or <EM>smincol</EM> are treated as if they were zero.
+ respective structures. Negative values of <I>pminrow</I>, <I>pmincol</I>, <I>sminrow</I>,
+ or <I>smincol</I> are treated as if they were zero.
</PRE><H3><a name="h3-pechochar">pechochar</a></H3><PRE>
- The <STRONG>pechochar</STRONG> routine is functionally equivalent to a call to <STRONG>addch</STRONG>
- followed by a call to <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>, a call to <STRONG>waddch</STRONG> followed by a call
- to <STRONG>wrefresh</STRONG>, or a call to <STRONG>waddch</STRONG> followed by a call to <STRONG>prefresh</STRONG>. The
+ The <B>pechochar</B> routine is functionally equivalent to a call to <B>addch</B>
+ followed by a call to <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>, a call to <B>waddch</B> followed by a call
+ to <B>wrefresh</B>, or a call to <B>waddch</B> followed by a call to <B>prefresh</B>. The
knowledge that only a single character is being output is taken into
consideration and, for non-control characters, a considerable perfor-
mance gain might be seen by using these routines instead of their
- equivalents. In the case of <STRONG>pechochar</STRONG>, the last location of the pad on
- the screen is reused for the arguments to <STRONG>prefresh</STRONG>.
+ equivalents. In the case of <B>pechochar</B>, the last location of the pad on
+ the screen is reused for the arguments to <B>prefresh</B>.
</PRE><H3><a name="h3-pecho_wchar">pecho_wchar</a></H3><PRE>
- The <STRONG>pecho_wchar</STRONG> function is the analogous wide-character form of <STRONG>pe-</STRONG>
- <STRONG>chochar</STRONG>. It outputs one character to a pad and immediately refreshes
- the pad. It does this by a call to <STRONG>wadd_wch</STRONG> followed by a call to <STRONG>pre-</STRONG>
- <STRONG>fresh</STRONG>.
+ The <B>pecho_wchar</B> function is the analogous wide-character form of <B>pe-</B>
+ <B>chochar</B>. It outputs one character to a pad and immediately refreshes
+ the pad. It does this by a call to <B>wadd_wch</B> followed by a call to <B>pre-</B>
+ <B>fresh</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ Routines that return an integer return <B>ERR</B> upon failure and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful com-
pletion.
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
- <STRONG>ENOMEM</STRONG>.
+ Routines that return pointers return <B>NULL</B> on error, and set <B>errno</B> to
+ <B>ENOMEM</B>.
X/Open does not define any error conditions. In this implementation
- <STRONG>prefresh</STRONG> and <STRONG>pnoutrefresh</STRONG>
+ <B>prefresh</B> and <B>pnoutrefresh</B>
return an error if the window pointer is null, or if the window
is not really a pad or if the area to refresh extends off-
screen or if the minimum coordinates are greater than the maxi-
mum.
- <STRONG>pechochar</STRONG>
+ <B>pechochar</B>
returns an error if the window is not really a pad, and the as-
- sociated call to <STRONG>wechochar</STRONG> returns an error.
+ sociated call to <B>wechochar</B> returns an error.
- <STRONG>pecho_wchar</STRONG>
+ <B>pecho_wchar</B>
returns an error if the window is not really a pad, and the as-
- sociated call to <STRONG>wecho_wchar</STRONG> returns an error.
+ sociated call to <B>wecho_wchar</B> returns an error.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>pechochar</STRONG> may be a macro.
+ Note that <B>pechochar</B> may be a macro.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- BSD curses has no <EM>pad</EM> feature.
+ BSD curses has no <I>pad</I> feature.
- SVr2 curses (1986) provided the <STRONG>newpad</STRONG> and related functions, document-
+ SVr2 curses (1986) provided the <B>newpad</B> and related functions, document-
ing them in a single line each. SVr3 (1987) provided more extensive
documentation.
- The documentation does not explain the term <EM>pad</EM>. However, the Apollo
- <EM>Aegis</EM> workstation operating system supported a graphical <EM>pad</EM> feature:
+ The documentation does not explain the term <I>pad</I>. However, the Apollo
+ <I>Aegis</I> workstation operating system supported a graphical <I>pad</I> feature:
- <STRONG>o</STRONG> These graphical pads could be much larger than the computer's dis-
+ <B>o</B> These graphical pads could be much larger than the computer's dis-
play.
- <STRONG>o</STRONG> The read-only output from a command could be scrolled back to in-
+ <B>o</B> The read-only output from a command could be scrolled back to in-
spect, and select text from the pad.
The two uses may be related.
The XSI Curses standard, Issue 4 describes these functions, without
significant change from the SVr3 documentation. It describes no error
- conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad
+ conditions. The behavior of <B>subpad</B> if the parent window is not a pad
is undocumented, and is not checked by the vendor Unix implementations:
- <STRONG>o</STRONG> SVr4 curses sets a flag in the <STRONG>WINDOW</STRONG> structure in <STRONG>newpad</STRONG> which
- tells if the window is a <EM>pad</EM>.
+ <B>o</B> SVr4 curses sets a flag in the <B>WINDOW</B> structure in <B>newpad</B> which
+ tells if the window is a <I>pad</I>.
- However, it uses this information only in <STRONG>waddch</STRONG> (to decide if it
- should call <STRONG>wrefresh</STRONG>) and <STRONG>wscrl</STRONG> (to avoid scrolling a pad), and
- does not check in <STRONG>wrefresh</STRONG> to ensure that the pad is refreshed
+ However, it uses this information only in <B>waddch</B> (to decide if it
+ should call <B>wrefresh</B>) and <B>wscrl</B> (to avoid scrolling a pad), and
+ does not check in <B>wrefresh</B> to ensure that the pad is refreshed
properly.
- <STRONG>o</STRONG> Solaris X/Open Curses checks if a window is a pad in <STRONG>wnoutrefresh</STRONG>,
- returning <STRONG>ERR</STRONG> in that case.
+ <B>o</B> Solaris X/Open Curses checks if a window is a pad in <B>wnoutrefresh</B>,
+ returning <B>ERR</B> in that case.
However, it only sets the flag for subwindows if the parent window
- is a pad. Its <STRONG>newpad</STRONG> function does not set this information. Con-
+ is a pad. Its <B>newpad</B> function does not set this information. Con-
sequently, the check will never fail.
- It makes no comparable check in <STRONG>pnoutrefresh</STRONG>, though interestingly
+ It makes no comparable check in <B>pnoutrefresh</B>, though interestingly
enough, a comment in the source code states that the lack of a
check was an MKS extension.
- <STRONG>o</STRONG> NetBSD 7 curses sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and
- <STRONG>subpad</STRONG>, using this to help with the distinction between <STRONG>wnoutre-</STRONG>
- <STRONG>fresh</STRONG> and <STRONG>pnoutrefresh</STRONG>.
+ <B>o</B> NetBSD 7 curses sets a flag in the <B>WINDOW</B> structure for <B>newpad</B> and
+ <B>subpad</B>, using this to help with the distinction between <B>wnoutre-</B>
+ <B>fresh</B> and <B>pnoutrefresh</B>.
It does not check for the case where a subwindow is created in a
- pad using <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG>.
+ pad using <B>subwin</B> or <B>derwin</B>.
- The <STRONG>dupwin</STRONG> function returns a regular window when duplicating a
- pad. Likewise, <STRONG>getwin</STRONG> always returns a window, even if the saved
+ The <B>dupwin</B> function returns a regular window when duplicating a
+ pad. Likewise, <B>getwin</B> always returns a window, even if the saved
data was from a pad.
This implementation
- <STRONG>o</STRONG> sets a flag in the <STRONG>WINDOW</STRONG> structure for <STRONG>newpad</STRONG> and <STRONG>subpad</STRONG>,
+ <B>o</B> sets a flag in the <B>WINDOW</B> structure for <B>newpad</B> and <B>subpad</B>,
- <STRONG>o</STRONG> allows a <STRONG>subwin</STRONG> or <STRONG>derwin</STRONG> call to succeed having a pad parent by
+ <B>o</B> allows a <B>subwin</B> or <B>derwin</B> call to succeed having a pad parent by
forcing the subwindow to be a pad,
- <STRONG>o</STRONG> checks in both <STRONG>wnoutrefresh</STRONG> and <STRONG>pnoutrefresh</STRONG> to ensure that pads
+ <B>o</B> checks in both <B>wnoutrefresh</B> and <B>pnoutrefresh</B> to ensure that pads
and windows are handled distinctly, and
- <STRONG>o</STRONG> ensures that <STRONG>dupwin</STRONG> and <STRONG>getwin</STRONG> treat pads versus windows consis-
+ <B>o</B> ensures that <B>dupwin</B> and <B>getwin</B> treat pads versus windows consis-
tently.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>.
- <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_print 3x</TITLE>
+<TITLE>curs_print 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_print 3x</H1>
+<H1 class="no-header">curs_print 3X</H1>
<PRE>
-<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+<B><A HREF="curs_print.3X.html">curs_print(3X)</A></B> <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>mcprint</STRONG> - ship binary data to printer
+ <B>mcprint</B> - ship binary data to printer
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>mcprint(char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mcprint(char</B> <B>*</B><I>data</I><B>,</B> <B>int</B> <I>len</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- This function uses the <STRONG>mc5p</STRONG> or <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities, if they are
+ This function uses the <B>mc5p</B> or <B>mc4</B> and <B>mc5</B> capabilities, if they are
present, to ship given data to a printer attached to the terminal.
- Note that the <STRONG>mcprint</STRONG> code has no way to do flow control with the
+ Note that the <B>mcprint</B> code has no way to do flow control with the
printer or to know how much buffering it has. Your application is
responsible for keeping the rate of writes to the printer below its
continuous throughput rate (typically about half of its nominal cps
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <STRONG>mcprint</STRONG> function returns <STRONG>ERR</STRONG> if the write operation aborted for
- some reason. In this case, <STRONG>errno</STRONG> will contain either an error
- associated with <STRONG>write(2)</STRONG> or one of the following:
+ The <B>mcprint</B> function returns <B>ERR</B> if the write operation aborted for
+ some reason. In this case, <B>errno</B> will contain either an error
+ associated with <B>write(2)</B> or one of the following:
ENODEV
Capabilities for printer redirection do not exist.
ENOMEM
Couldn't allocate sufficient memory to buffer the printer write.
- When <STRONG>mcprint</STRONG> succeeds, it returns the number of characters actually
+ When <B>mcprint</B> succeeds, it returns the number of characters actually
sent to the printer.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>mcprint</STRONG> call was designed for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>, and is not found in SVr4
+ The <B>mcprint</B> call was designed for <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>, and is not found in SVr4
curses, 4.4BSD curses, or any other previous version of curses.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- Padding in the <STRONG>mc5p</STRONG>, <STRONG>mc4</STRONG> and <STRONG>mc5</STRONG> capabilities will not be interpreted.
+ Padding in the <B>mc5p</B>, <B>mc4</B> and <B>mc5</B> capabilities will not be interpreted.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_printw 3x</TITLE>
+<TITLE>curs_printw 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_printw 3x</H1>
+<H1 class="no-header">curs_printw 3X</H1>
<PRE>
-<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+<B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B> <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG>, <STRONG>mvwprintw</STRONG>, <STRONG>vwprintw</STRONG>, <STRONG>vw_printw</STRONG> - print
- formatted output in <STRONG>curses</STRONG> windows
+ <B>printw</B>, <B>wprintw</B>, <B>mvprintw</B>, <B>mvwprintw</B>, <B>vwprintw</B>, <B>vw_printw</B> - print
+ formatted output in <B>curses</B> windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>printw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvprintw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>vw_printw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+ <B>int</B> <B>printw(const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>wprintw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>mvprintw(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>mvwprintw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>vw_printw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>va_list</B> <I>varglist</I><B>);</B>
/* obsolete */
- <STRONG>int</STRONG> <STRONG>vwprintw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+ <B>int</B> <B>vwprintw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>va_list</B> <I>varglist</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG>, <STRONG>mvprintw</STRONG> and <STRONG>mvwprintw</STRONG> routines are analogous to
- <STRONG>printf</STRONG> [see <STRONG>printf(3)</STRONG>]. In effect, the string that would be output by
- <STRONG>printf</STRONG> is output instead as though <STRONG>waddstr</STRONG> were used on the given win-
+ The <B>printw</B>, <B>wprintw</B>, <B>mvprintw</B> and <B>mvwprintw</B> routines are analogous to
+ <B>printf</B> [see <B>printf(3)</B>]. In effect, the string that would be output by
+ <B>printf</B> is output instead as though <B>waddstr</B> were used on the given win-
dow.
- The <STRONG>vwprintw</STRONG> and <STRONG>vw_printw</STRONG> routines are analogous to <STRONG>vprintf</STRONG> [see
- <STRONG>printf(3)</STRONG>] and perform a <STRONG>wprintw</STRONG> using a variable argument list. The
- third argument is a <STRONG>va_list</STRONG>, a pointer to a list of arguments, as de-
- fined in <STRONG><stdarg.h></STRONG>.
+ The <B>vwprintw</B> and <B>vw_printw</B> routines are analogous to <B>vprintf</B> [see
+ <B>printf(3)</B>] and perform a <B>wprintw</B> using a variable argument list. The
+ third argument is a <B>va_list</B>, a pointer to a list of arguments, as de-
+ fined in <B><stdarg.h></B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ Routines that return an integer return <B>ERR</B> upon failure and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful com-
pletion.
X/Open defines no error conditions. In this implementation, an error
is null.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- While <STRONG>printw</STRONG> was implemented in 4BSD, it was unused until 4.2BSD (which
+ While <B>printw</B> was implemented in 4BSD, it was unused until 4.2BSD (which
used it in games). That early version of curses was before the ANSI C
standard. It did not use <varargs.h>, though that was available. In
1991 (a couple of years after SVr4 was generally available, and after
ment, BSD curses did not use function prototypes (or even declare func-
tions) in the <curses.h> header until 1992.
- SVr2 documented <STRONG>printw</STRONG>, <STRONG>wprintw</STRONG> tersely as "printf on <EM>stdscr</EM>" and
- tersely as "printf on <EM>win</EM>", respectively.
+ SVr2 documented <B>printw</B>, <B>wprintw</B> tersely as "printf on <I>stdscr</I>" and
+ tersely as "printf on <I>win</I>", respectively.
- SVr3 added <STRONG>mvprintw</STRONG>, and <STRONG>mvwprintw</STRONG>, with a three-line summary saying
- that they were analogous to <STRONG>printf(3)</STRONG>, explaining that the string which
- would be output from <STRONG>printf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on
- the given window. SVr3 also added <STRONG>vwprintw</STRONG>, saying that the third pa-
- rameter is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader
- to the manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
+ SVr3 added <B>mvprintw</B>, and <B>mvwprintw</B>, with a three-line summary saying
+ that they were analogous to <B>printf(3)</B>, explaining that the string which
+ would be output from <B>printf(3)</B> would instead be output using <B>waddstr</B> on
+ the given window. SVr3 also added <B>vwprintw</B>, saying that the third pa-
+ rameter is a <B>va_list</B>, defined in <varargs.h>, and referring the reader
+ to the manual pages for <I>varargs</I> and <I>vprintf</I> for detailed descriptions.
- SVr4 added no new variations of <STRONG>printw</STRONG>, but provided for using
- <varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type.
+ SVr4 added no new variations of <B>printw</B>, but provided for using
+ <varargs.h> or <stdarg.h> to define the <B>va_list</B> type.
- X/Open Curses added <STRONG>vw_printw</STRONG> to replace <STRONG>vwprintw</STRONG>, stating that its
- <STRONG>va_list</STRONG> definition requires <stdarg.h>.
+ X/Open Curses added <B>vw_printw</B> to replace <B>vwprintw</B>, stating that its
+ <B>va_list</B> definition requires <stdarg.h>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- In this implementation, <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> are equivalent, to sup-
- port legacy applications. However, the latter (<STRONG>vwprintw</STRONG>) is obsolete:
+ In this implementation, <B>vw_printw</B> and <B>vwprintw</B> are equivalent, to sup-
+ port legacy applications. However, the latter (<B>vwprintw</B>) is obsolete:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions. The
- function <STRONG>vwprintw</STRONG> is marked TO BE WITHDRAWN, and is to be replaced
- by a function <STRONG>vw_printw</STRONG> using the <STRONG><stdarg.h></STRONG> interface.
+ <B>o</B> The XSI Curses standard, Issue 4 described these functions. The
+ function <B>vwprintw</B> is marked TO BE WITHDRAWN, and is to be replaced
+ by a function <B>vw_printw</B> using the <B><stdarg.h></B> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_printw</STRONG> is
- preferred to <STRONG>vwprintw</STRONG> since the latter requires including
- <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
- This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
- is included in <STRONG><curses.h</STRONG>>.
+ <B>o</B> The Single Unix Specification, Version 2 states that <B>vw_printw</B> is
+ preferred to <B>vwprintw</B> since the latter requires including
+ <B><varargs.h></B>, which cannot be used in the same file as <B><stdarg.h></B>.
+ This implementation uses <B><stdarg.h></B> for both, because that header
+ is included in <B><curses.h</B>>.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwprintw</STRONG> (along with
- <STRONG>vwscanw</STRONG> and the termcap interface) as withdrawn.
+ <B>o</B> X/Open Curses, Issue 5 (December 2007) marked <B>vwprintw</B> (along with
+ <B>vwscanw</B> and the termcap interface) as withdrawn.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>, <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
- <STRONG>printf(3)</STRONG>, <STRONG>vprintf(3)</STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>, <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>, <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>,
+ <B>printf(3)</B>, <B>vprintf(3)</B>.
- <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2016 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_refresh 3x</TITLE>
+<TITLE>curs_refresh 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_refresh 3x</H1>
+<H1 class="no-header">curs_refresh 3X</H1>
<PRE>
-<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+<B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B> <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>doupdate</STRONG>, <STRONG>redrawwin</STRONG>, <STRONG>refresh</STRONG>, <STRONG>wnoutrefresh</STRONG>, <STRONG>wredrawln</STRONG>, <STRONG>wrefresh</STRONG> -
- refresh <STRONG>curses</STRONG> windows and lines
+ <B>doupdate</B>, <B>redrawwin</B>, <B>refresh</B>, <B>wnoutrefresh</B>, <B>wredrawln</B>, <B>wrefresh</B> -
+ refresh <B>curses</B> windows and lines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>refresh(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>wrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wnoutrefresh(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>doupdate(void);</STRONG>
+ <B>int</B> <B>refresh(void);</B>
+ <B>int</B> <B>wrefresh(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>wnoutrefresh(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>doupdate(void);</B>
- <STRONG>int</STRONG> <STRONG>redrawwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wredrawln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>beg</EM><STRONG>_</STRONG><EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>num</EM><STRONG>_</STRONG><EM>lines</EM><STRONG>);</STRONG>
+ <B>int</B> <B>redrawwin(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>wredrawln(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>beg</I><B>_</B><I>line</I><B>,</B> <B>int</B> <I>num</I><B>_</B><I>lines</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-refresh_wrefresh">refresh/wrefresh</a></H3><PRE>
- The <STRONG>refresh</STRONG> and <STRONG>wrefresh</STRONG> routines (or <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG>) must
+ The <B>refresh</B> and <B>wrefresh</B> routines (or <B>wnoutrefresh</B> and <B>doupdate</B>) must
be called to get actual output to the terminal, as other routines mere-
- ly manipulate data structures. The routine <STRONG>wrefresh</STRONG> copies the named
- window to the <EM>physical</EM> <EM>screen</EM>, taking into account what is already
- there to do optimizations. The <STRONG>refresh</STRONG> routine is the same, using <STRONG>std-</STRONG>
- <STRONG>scr</STRONG> as the default window. Unless <STRONG>leaveok</STRONG> has been enabled, the physi-
+ ly manipulate data structures. The routine <B>wrefresh</B> copies the named
+ window to the <I>physical</I> <I>screen</I>, taking into account what is already
+ there to do optimizations. The <B>refresh</B> routine is the same, using <B>std-</B>
+ <B>scr</B> as the default window. Unless <B>leaveok</B> has been enabled, the physi-
cal cursor of the terminal is left at the location of the cursor for
that window.
</PRE><H3><a name="h3-wnoutrefresh_doupdate">wnoutrefresh/doupdate</a></H3><PRE>
- The <STRONG>wnoutrefresh</STRONG> and <STRONG>doupdate</STRONG> routines allow multiple updates with more
- efficiency than <STRONG>wrefresh</STRONG> alone. In addition to all the window struc-
- tures, <STRONG>curses</STRONG> keeps two data structures representing the terminal
+ The <B>wnoutrefresh</B> and <B>doupdate</B> routines allow multiple updates with more
+ efficiency than <B>wrefresh</B> alone. In addition to all the window struc-
+ tures, <B>curses</B> keeps two data structures representing the terminal
screen:
- <STRONG>o</STRONG> a <EM>physical</EM> <EM>screen</EM>, describing what is actually on the screen, and
+ <B>o</B> a <I>physical</I> <I>screen</I>, describing what is actually on the screen, and
- <STRONG>o</STRONG> a <EM>virtual</EM> <EM>screen</EM>, describing what the programmer wants to have on
+ <B>o</B> a <I>virtual</I> <I>screen</I>, describing what the programmer wants to have on
the screen.
- The routine <STRONG>wrefresh</STRONG> works by
+ The routine <B>wrefresh</B> works by
- <STRONG>o</STRONG> first calling <STRONG>wnoutrefresh</STRONG>, which copies the named window to the
- <EM>virtual</EM> <EM>screen</EM>, and
+ <B>o</B> first calling <B>wnoutrefresh</B>, which copies the named window to the
+ <I>virtual</I> <I>screen</I>, and
- <STRONG>o</STRONG> then calling <STRONG>doupdate</STRONG>, which compares the <EM>virtual</EM> <EM>screen</EM> to the
- <EM>physical</EM> <EM>screen</EM> and does the actual update.
+ <B>o</B> then calling <B>doupdate</B>, which compares the <I>virtual</I> <I>screen</I> to the
+ <I>physical</I> <I>screen</I> and does the actual update.
If the programmer wishes to output several windows at once, a series of
- calls to <STRONG>wrefresh</STRONG> results in alternating calls to <STRONG>wnoutrefresh</STRONG> and
- <STRONG>doupdate</STRONG>, causing several bursts of output to the screen. By first
- calling <STRONG>wnoutrefresh</STRONG> for each window, it is then possible to call <STRONG>doup-</STRONG>
- <STRONG>date</STRONG> once, resulting in only one burst of output, with fewer total
+ calls to <B>wrefresh</B> results in alternating calls to <B>wnoutrefresh</B> and
+ <B>doupdate</B>, causing several bursts of output to the screen. By first
+ calling <B>wnoutrefresh</B> for each window, it is then possible to call <B>doup-</B>
+ <B>date</B> once, resulting in only one burst of output, with fewer total
characters transmitted and less CPU time used.
- If the <EM>win</EM> argument to <STRONG>wrefresh</STRONG> is the <EM>physical</EM> <EM>screen</EM> (i.e., the glob-
- al variable <STRONG>curscr</STRONG>), the screen is immediately cleared and repainted
+ If the <I>win</I> argument to <B>wrefresh</B> is the <I>physical</I> <I>screen</I> (i.e., the glob-
+ al variable <B>curscr</B>), the screen is immediately cleared and repainted
from scratch.
The phrase "copies the named window to the virtual screen" above is am-
- biguous. What actually happens is that all <EM>touched</EM> (changed) lines in
+ biguous. What actually happens is that all <I>touched</I> (changed) lines in
the window are copied to the virtual screen. This affects programs
that use overlapping windows; it means that if two windows overlap, you
can refresh them in either order and the overlap region will be modi-
fied only when it is explicitly changed. (But see the section on
- <STRONG>PORTABILITY</STRONG> below for a warning about exploiting this behavior.)
+ <B>PORTABILITY</B> below for a warning about exploiting this behavior.)
</PRE><H3><a name="h3-wredrawln_redrawwin">wredrawln/redrawwin</a></H3><PRE>
- The <STRONG>wredrawln</STRONG> routine indicates to <STRONG>curses</STRONG> that some screen lines are
+ The <B>wredrawln</B> routine indicates to <B>curses</B> that some screen lines are
corrupted and should be thrown away before anything is written over
them. It touches the indicated lines (marking them changed). The rou-
- tine <STRONG>redrawwin</STRONG> touches the entire window.
+ tine <B>redrawwin</B> touches the entire window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ Routines that return an integer return <B>ERR</B> upon failure, and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful com-
pletion.
X/Open does not define any error conditions. In this implementation
- <STRONG>wnoutrefresh</STRONG>
+ <B>wnoutrefresh</B>
returns an error if the window pointer is null, or if the win-
dow is really a pad.
- <STRONG>wredrawln</STRONG>
- returns an error if the associated call to <STRONG>touchln</STRONG> returns an
+ <B>wredrawln</B>
+ returns an error if the associated call to <B>touchln</B> returns an
error.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>refresh</STRONG> and <STRONG>redrawwin</STRONG> may be macros.
+ Note that <B>refresh</B> and <B>redrawwin</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses standard, Issue 4 describes these functions.
- Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
+ Whether <B>wnoutrefresh</B> copies to the virtual screen the entire contents
of a window or just its changed portions has never been well-documented
in historic curses versions (including SVr4). It might be unwise to
rely on either behavior in programs that might have to be linked with
- other curses implementations. Instead, you can do an explicit <STRONG>touchwin</STRONG>
- before the <STRONG>wnoutrefresh</STRONG> call to guarantee an entire-contents copy any-
+ other curses implementations. Instead, you can do an explicit <B>touchwin</B>
+ before the <B>wnoutrefresh</B> call to guarantee an entire-contents copy any-
where.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B> <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scanw 3x</TITLE>
+<TITLE>curs_scanw 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scanw 3x</H1>
+<H1 class="no-header">curs_scanw 3X</H1>
<PRE>
-<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+<B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B> <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>, <STRONG>mvwscanw</STRONG>, <STRONG>vwscanw</STRONG>, <STRONG>vw_scanw</STRONG> - convert formatted
- input from a <STRONG>curses</STRONG> window
+ <B>scanw</B>, <B>wscanw</B>, <B>mvscanw</B>, <B>mvwscanw</B>, <B>vwscanw</B>, <B>vw_scanw</B> - convert formatted
+ input from a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>scanw(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvscanw(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <B>int</B> <B>scanw(const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>wscanw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>mvscanw(int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>mvwscanw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>...);</B>
- <STRONG>int</STRONG> <STRONG>vw_scanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+ <B>int</B> <B>vw_scanw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>va_list</B> <I>varglist</I><B>);</B>
/* obsolete */
- <STRONG>int</STRONG> <STRONG>vwscanw(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>fmt</EM><STRONG>,</STRONG> <STRONG>va_list</STRONG> <EM>varglist</EM><STRONG>);</STRONG>
+ <B>int</B> <B>vwscanw(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>fmt</I><B>,</B> <B>va_list</B> <I>varglist</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> and <STRONG>mvscanw</STRONG> routines are analogous to <STRONG>scanf</STRONG> [see
- <STRONG>scanf(3)</STRONG>]. The effect of these routines is as though <STRONG>wgetstr</STRONG> were
+ The <B>scanw</B>, <B>wscanw</B> and <B>mvscanw</B> routines are analogous to <B>scanf</B> [see
+ <B>scanf(3)</B>]. The effect of these routines is as though <B>wgetstr</B> were
called on the window, and the resulting line used as input for
- <STRONG>sscanf(3)</STRONG>. Fields which do not map to a variable in the <EM>fmt</EM> field are
+ <B>sscanf(3)</B>. Fields which do not map to a variable in the <I>fmt</I> field are
lost.
- The <STRONG>vwscanw</STRONG> and <STRONG>vw_scanw</STRONG> routines are analogous to <STRONG>vscanf(3)</STRONG>. They
- perform a <STRONG>wscanw</STRONG> using a variable argument list. The third argument is
- a <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, a pointer to a list of arguments, as defined in <STRONG><stdarg.h></STRONG>.
+ The <B>vwscanw</B> and <B>vw_scanw</B> routines are analogous to <B>vscanf(3)</B>. They
+ perform a <B>wscanw</B> using a variable argument list. The third argument is
+ a <I>va</I><B>_</B><I>list</I>, a pointer to a list of arguments, as defined in <B><stdarg.h></B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>vwscanw</STRONG> returns <STRONG>ERR</STRONG> on failure and an integer equal to the number of
+ <B>vwscanw</B> returns <B>ERR</B> on failure and an integer equal to the number of
fields scanned on success.
- Applications may use the return value from the <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG>, <STRONG>mvscanw</STRONG>
- and <STRONG>mvwscanw</STRONG> routines to determine the number of fields which were
+ Applications may use the return value from the <B>scanw</B>, <B>wscanw</B>, <B>mvscanw</B>
+ and <B>mvwscanw</B> routines to determine the number of fields which were
mapped in the call.
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- While <STRONG>scanw</STRONG> was implemented in 4BSD, none of the BSD releases used it
+ While <B>scanw</B> was implemented in 4BSD, none of the BSD releases used it
until 4.4BSD (in a game). That early version of curses was before the
ANSI C standard. It did not use <varargs.h>, though that was
available. In 1991 (a couple of years after SVr4 was generally
Even with this improvement, BSD curses did not use function prototypes
(or even declare functions) in the <curses.h> header until 1992.
- SVr2 documented <STRONG>scanw</STRONG>, <STRONG>wscanw</STRONG> tersely as "scanf through <EM>stdscr</EM>" and
- tersely as "scanf through <EM>win</EM>", respectively.
+ SVr2 documented <B>scanw</B>, <B>wscanw</B> tersely as "scanf through <I>stdscr</I>" and
+ tersely as "scanf through <I>win</I>", respectively.
- SVr3 added <STRONG>mvscanw</STRONG>, and <STRONG>mvwscanw</STRONG>, with a three-line summary saying that
- they were analogous to <STRONG>scanf(3)</STRONG>, explaining that the string which would
- be output from <STRONG>scanf(3)</STRONG> would instead be output using <STRONG>waddstr</STRONG> on the
- given window. SVr3 also added <STRONG>vwscanw</STRONG>, saying that the third parameter
- is a <STRONG>va_list</STRONG>, defined in <varargs.h>, and referring the reader to the
- manual pages for <EM>varargs</EM> and <EM>vprintf</EM> for detailed descriptions.
- (Because the SVr3 documentation does not mention <EM>vscanf</EM>, that reference
- to <EM>vprintf</EM> may not be an error).
+ SVr3 added <B>mvscanw</B>, and <B>mvwscanw</B>, with a three-line summary saying that
+ they were analogous to <B>scanf(3)</B>, explaining that the string which would
+ be output from <B>scanf(3)</B> would instead be output using <B>waddstr</B> on the
+ given window. SVr3 also added <B>vwscanw</B>, saying that the third parameter
+ is a <B>va_list</B>, defined in <varargs.h>, and referring the reader to the
+ manual pages for <I>varargs</I> and <I>vprintf</I> for detailed descriptions.
+ (Because the SVr3 documentation does not mention <I>vscanf</I>, that reference
+ to <I>vprintf</I> may not be an error).
- SVr4 added no new variations of <STRONG>scanw</STRONG>, but provided for using
- <varargs.h> or <stdarg.h> to define the <STRONG>va_list</STRONG> type.
+ SVr4 added no new variations of <B>scanw</B>, but provided for using
+ <varargs.h> or <stdarg.h> to define the <B>va_list</B> type.
- X/Open Curses added <STRONG>vw_scanw</STRONG> to replace <STRONG>vwscanw</STRONG>, stating that its
- <STRONG>va_list</STRONG> definition requires <stdarg.h>.
+ X/Open Curses added <B>vw_scanw</B> to replace <B>vwscanw</B>, stating that its
+ <B>va_list</B> definition requires <stdarg.h>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- In this implementation, <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> are equivalent, to support
- legacy applications. However, the latter (<STRONG>vwscanw</STRONG>) is obsolete:
+ In this implementation, <B>vw_scanw</B> and <B>vwscanw</B> are equivalent, to support
+ legacy applications. However, the latter (<B>vwscanw</B>) is obsolete:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 described these functions, noting
- that the function <STRONG>vwscanw</STRONG> is marked TO BE WITHDRAWN, and is to be
- replaced by a function <STRONG>vw_scanw</STRONG> using the <STRONG><stdarg.h></STRONG> interface.
+ <B>o</B> The XSI Curses standard, Issue 4 described these functions, noting
+ that the function <B>vwscanw</B> is marked TO BE WITHDRAWN, and is to be
+ replaced by a function <B>vw_scanw</B> using the <B><stdarg.h></B> interface.
- <STRONG>o</STRONG> The Single Unix Specification, Version 2 states that <STRONG>vw_scanw</STRONG> is
- preferred to <STRONG>vwscanw</STRONG> since the latter requires including
- <STRONG><varargs.h></STRONG>, which cannot be used in the same file as <STRONG><stdarg.h></STRONG>.
- This implementation uses <STRONG><stdarg.h></STRONG> for both, because that header
- is included in <STRONG><curses.h</STRONG>>.
+ <B>o</B> The Single Unix Specification, Version 2 states that <B>vw_scanw</B> is
+ preferred to <B>vwscanw</B> since the latter requires including
+ <B><varargs.h></B>, which cannot be used in the same file as <B><stdarg.h></B>.
+ This implementation uses <B><stdarg.h></B> for both, because that header
+ is included in <B><curses.h</B>>.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked <STRONG>vwscanw</STRONG> (along with
- <STRONG>vwprintw</STRONG> and the termcap interface) as withdrawn.
+ <B>o</B> X/Open Curses, Issue 5 (December 2007) marked <B>vwscanw</B> (along with
+ <B>vwprintw</B> and the termcap interface) as withdrawn.
Both XSI and The Single Unix Specification, Version 2 state that these
- functions return <STRONG>ERR</STRONG> or <STRONG>OK</STRONG>.
+ functions return <B>ERR</B> or <B>OK</B>.
- <STRONG>o</STRONG> Since the underlying <STRONG>scanf(3)</STRONG> can return the number of items
+ <B>o</B> Since the underlying <B>scanf(3)</B> can return the number of items
scanned, and the SVr4 code was documented to use this feature, this
is probably an editing error which was introduced in XSI, rather
than being done intentionally.
- <STRONG>o</STRONG> This implementation returns the number of items scanned, for
+ <B>o</B> This implementation returns the number of items scanned, for
compatibility with SVr4 curses. As of 2018, NetBSD curses also
returns the number of items scanned. Both ncurses and NetBSD
- curses call <STRONG>vsscanf</STRONG> to scan the string, which returns <STRONG>EOF</STRONG> on error.
+ curses call <B>vsscanf</B> to scan the string, which returns <B>EOF</B> on error.
- <STRONG>o</STRONG> Portable applications should only test if the return value is <STRONG>ERR</STRONG>,
- since the <STRONG>OK</STRONG> value (zero) is likely to be misleading.
+ <B>o</B> Portable applications should only test if the return value is <B>ERR</B>,
+ since the <B>OK</B> value (zero) is likely to be misleading.
One possible way to get useful results would be to use a "%n"
conversion at the end of the format string to ensure that something
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>, <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
- <STRONG>scanf(3)</STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>, <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>, <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>,
+ <B>scanf(3)</B>.
- <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scr_dump 3x</TITLE>
+<TITLE>curs_scr_dump 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scr_dump 3x</H1>
+<H1 class="no-header">curs_scr_dump 3X</H1>
<PRE>
-<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+<B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B> <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read (write) a <STRONG>curses</STRONG> screen
+ <B>scr_dump</B>, <B>scr_restore</B>, <B>scr_init</B>, <B>scr_set</B> - read (write) a <B>curses</B> screen
from (to) a file
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
+ <B>int</B> <B>scr_dump(const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>scr_restore(const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>scr_init(const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>scr_set(const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>scr_dump</STRONG> routine dumps the current contents of the <EM>virtual</EM> <EM>screen</EM>
- to the file <EM>filename</EM>.
+ The <B>scr_dump</B> routine dumps the current contents of the <I>virtual</I> <I>screen</I>
+ to the file <I>filename</I>.
- The <STRONG>scr_restore</STRONG> routine sets the <EM>virtual</EM> <EM>screen</EM> to the contents of
- <EM>filename</EM>, which must have been written using <STRONG>scr_dump</STRONG>. The next call
- to <STRONG>doupdate</STRONG> restores the <EM>physical</EM> <EM>screen</EM> to the way it looked in the
+ The <B>scr_restore</B> routine sets the <I>virtual</I> <I>screen</I> to the contents of
+ <I>filename</I>, which must have been written using <B>scr_dump</B>. The next call
+ to <B>doupdate</B> restores the <I>physical</I> <I>screen</I> to the way it looked in the
dump file.
- The <STRONG>scr_init</STRONG> routine reads in the contents of <EM>filename</EM> and uses them to
- initialize the <STRONG>curses</STRONG> data structures about what the terminal currently
- has on its screen. If the data is determined to be valid, <STRONG>curses</STRONG> bases
+ The <B>scr_init</B> routine reads in the contents of <I>filename</I> and uses them to
+ initialize the <B>curses</B> data structures about what the terminal currently
+ has on its screen. If the data is determined to be valid, <B>curses</B> bases
its next update of the screen on this information rather than clearing
- the screen and starting from scratch. <STRONG>scr_init</STRONG> is used after <STRONG>initscr</STRONG>
- or a <STRONG>system</STRONG> call to share the screen with another process which has
- done a <STRONG>scr_dump</STRONG> after its <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> call. The data is declared in-
+ the screen and starting from scratch. <B>scr_init</B> is used after <B>initscr</B>
+ or a <B>system</B> call to share the screen with another process which has
+ done a <B>scr_dump</B> after its <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B> call. The data is declared in-
valid
- <STRONG>o</STRONG> if the terminfo capabilities <STRONG>rmcup</STRONG> and <STRONG>nrrmc</STRONG> exist, also
+ <B>o</B> if the terminfo capabilities <B>rmcup</B> and <B>nrrmc</B> exist, also
- <STRONG>o</STRONG> if the terminal has been written to since the preceding <STRONG>scr_dump</STRONG>
+ <B>o</B> if the terminal has been written to since the preceding <B>scr_dump</B>
call.
- The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It
- tells the program that the information in <EM>filename</EM> is what is currently
+ The <B>scr_set</B> routine is a combination of <B>scr_restore</B> and <B>scr_init</B>. It
+ tells the program that the information in <I>filename</I> is what is currently
on the screen, and also what the program wants on the screen. This can
be thought of as a screen inheritance function.
- To read (write) a window from (to) a file, use the <STRONG>getwin</STRONG> and <STRONG>putwin</STRONG>
- routines [see <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>].
+ To read (write) a window from (to) a file, use the <B>getwin</B> and <B>putwin</B>
+ routines [see <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>].
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> upon success.
+ All routines return the integer <B>ERR</B> upon failure and <B>OK</B> upon success.
X/Open defines no error conditions. In this implementation, each will
return an error if the file cannot be opened.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros.
+ Note that <B>scr_init</B>, <B>scr_set</B>, and <B>scr_restore</B> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses standard, Issue 4, describes these functions (adding the
const qualifiers).
- The SVr4 docs merely say under <STRONG>scr_init</STRONG> that the dump data is also con-
+ The SVr4 docs merely say under <B>scr_init</B> that the dump data is also con-
sidered invalid "if the time-stamp of the tty is old" but do not define
"old".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
- <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG>system(3)</STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>,
+ <B><A HREF="scr_dump.5.html">scr_dump(5)</A></B>, <B>system(3)</B>
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scroll 3x</TITLE>
+<TITLE>curs_scroll 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scroll 3x</H1>
+<H1 class="no-header">curs_scroll 3X</H1>
<PRE>
-<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+<B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B> <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>scroll</STRONG>, <STRONG>scrl</STRONG>, <STRONG>wscrl</STRONG> - scroll a <STRONG>curses</STRONG> window
+ <B>scroll</B>, <B>scrl</B>, <B>wscrl</B> - scroll a <B>curses</B> window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>scroll(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>scroll(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>scrl(int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wscrl(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
+ <B>int</B> <B>scrl(int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>wscrl(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>scroll</STRONG> routine scrolls the window up one line. This involves mov-
+ The <B>scroll</B> routine scrolls the window up one line. This involves mov-
ing the lines in the window data structure. As an optimization, if the
- scrolling region of the window is the entire screen, the <EM>physical</EM>
- <EM>screen</EM> may be scrolled at the same time.
+ scrolling region of the window is the entire screen, the <I>physical</I>
+ <I>screen</I> may be scrolled at the same time.
- For positive <EM>n</EM>, the <STRONG>scrl</STRONG> and <STRONG>wscrl</STRONG> routines scroll the window up <EM>n</EM>
- lines (line <EM>i</EM>+<EM>n</EM> becomes <EM>i</EM>); otherwise scroll the window down <EM>n</EM> lines.
+ For positive <I>n</I>, the <B>scrl</B> and <B>wscrl</B> routines scroll the window up <I>n</I>
+ lines (line <I>i</I>+<I>n</I> becomes <I>i</I>); otherwise scroll the window down <I>n</I> lines.
This involves moving the lines in the window character image structure.
The current cursor position is not changed.
- For these functions to work, scrolling must be enabled via <STRONG>scrollok</STRONG>.
+ For these functions to work, scrolling must be enabled via <B>scrollok</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure, and <STRONG>OK</STRONG> (SVr4 only specifies "an
- integer value other than <STRONG>ERR</STRONG>") upon successful completion.
+ These routines return <B>ERR</B> upon failure, and <B>OK</B> (SVr4 only specifies "an
+ integer value other than <B>ERR</B>") upon successful completion.
X/Open defines no error conditions.
This implementation returns an error if the window pointer is null, or
- if scrolling is not enabled in the window, e.g., with <STRONG>scrollok</STRONG>.
+ if scrolling is not enabled in the window, e.g., with <B>scrollok</B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>scrl</STRONG> and <STRONG>scroll</STRONG> may be macros.
+ Note that <B>scrl</B> and <B>scroll</B> may be macros.
The SVr4 documentation says that the optimization of physically
scrolling immediately if the scroll region is the entire screen "is"
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
- <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.37 2020/12/30 18:37:43 tom Exp @
+ * @Id: curs_slk.3x,v 1.38 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_slk 3x</TITLE>
+<TITLE>curs_slk 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_slk 3x</H1>
+<H1 class="no-header">curs_slk 3X</H1>
<PRE>
-<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+<B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B> <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>slk_init</STRONG>, <STRONG>slk_set</STRONG>, <STRONG>slk_wset</STRONG>, <STRONG>slk_refresh</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_label</STRONG>,
- <STRONG>slk_clear</STRONG>, <STRONG>slk_restore</STRONG>, <STRONG>slk_touch</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>,
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attr_on</STRONG>, <STRONG>slk_attr_set</STRONG>, <STRONG>slk_attr_off</STRONG>, <STRONG>slk_attr</STRONG>,
- <STRONG>slk_color</STRONG>, <STRONG>extended_slk_color</STRONG> - <STRONG>curses</STRONG> soft label routines
+ <B>slk_init</B>, <B>slk_set</B>, <B>slk_wset</B>, <B>slk_refresh</B>, <B>slk_noutrefresh</B>, <B>slk_label</B>,
+ <B>slk_clear</B>, <B>slk_restore</B>, <B>slk_touch</B>, <B>slk_attron</B>, <B>slk_attrset</B>,
+ <B>slk_attroff</B>, <B>slk_attr_on</B>, <B>slk_attr_set</B>, <B>slk_attr_off</B>, <B>slk_attr</B>,
+ <B>slk_color</B>, <B>extended_slk_color</B> - <B>curses</B> soft label routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>slk_init(int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <B>int</B> <B>slk_init(int</B> <I>fmt</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>slk_set(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <B>int</B> <B>slk_set(int</B> <I>labnum</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>label</I><B>,</B> <B>int</B> <I>fmt</I><B>);</B>
/* extension */
- <STRONG>int</STRONG> <STRONG>slk_wset(int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
+ <B>int</B> <B>slk_wset(int</B> <I>labnum</I><B>,</B> <B>const</B> <B>wchar_t</B> <B>*</B><I>label</I><B>,</B> <B>int</B> <I>fmt</I><B>);</B>
- <STRONG>char</STRONG> <STRONG>*slk_label(int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
+ <B>char</B> <B>*slk_label(int</B> <I>labnum</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>slk_refresh(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_noutrefresh(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_clear(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_restore(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_touch(void);</STRONG>
+ <B>int</B> <B>slk_refresh(void);</B>
+ <B>int</B> <B>slk_noutrefresh(void);</B>
+ <B>int</B> <B>slk_clear(void);</B>
+ <B>int</B> <B>slk_restore(void);</B>
+ <B>int</B> <B>slk_touch(void);</B>
- <STRONG>int</STRONG> <STRONG>slk_attron(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attroff(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attrset(const</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_on(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_off(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attr_set(const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>slk_attron(const</B> <B>chtype</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>slk_attroff(const</B> <B>chtype</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>slk_attrset(const</B> <B>chtype</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>slk_attr_on(attr_t</B> <I>attrs</I><B>,</B> <B>void*</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>slk_attr_off(const</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>void</B> <B>*</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>slk_attr_set(const</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void*</B> <I>opts</I><B>);</B>
- <STRONG>attr_t</STRONG> <STRONG>slk_attr(void);</STRONG>
+ <B>attr_t</B> <B>slk_attr(void);</B>
- <STRONG>int</STRONG> <STRONG>slk_color(short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <B>int</B> <B>slk_color(short</B> <I>pair</I><B>);</B>
/* extension */
- <STRONG>int</STRONG> <STRONG>extended_slk_color(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <B>int</B> <B>extended_slk_color(int</B> <I>pair</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The slk* functions manipulate the set of soft function-key labels that
exist on many terminals. For those terminals that do not have soft la-
- bels, <STRONG>curses</STRONG> takes over the bottom line of <STRONG>stdscr</STRONG>, reducing the size of
- <STRONG>stdscr</STRONG> and the variable <STRONG>LINES</STRONG>. <STRONG>curses</STRONG> standardizes on eight labels of
+ bels, <B>curses</B> takes over the bottom line of <B>stdscr</B>, reducing the size of
+ <B>stdscr</B> and the variable <B>LINES</B>. <B>curses</B> standardizes on eight labels of
up to eight characters each. In addition to this, the ncurses imple-
mentation supports a mode where it simulates 12 labels of up to five
characters each. This is useful for PC-like enduser devices. ncurses
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
- The <STRONG>slk_init</STRONG> routine must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> is
- called. If <STRONG>initscr</STRONG> eventually uses a line from <STRONG>stdscr</STRONG> to emulate the
- soft labels, then <EM>fmt</EM> determines how the labels are arranged on the
+ The <B>slk_init</B> routine must be called before <B>initscr</B> or <B>newterm</B> is
+ called. If <B>initscr</B> eventually uses a line from <B>stdscr</B> to emulate the
+ soft labels, then <I>fmt</I> determines how the labels are arranged on the
screen:
- <STRONG>0</STRONG> indicates a 3-2-3 arrangement of the labels.
+ <B>0</B> indicates a 3-2-3 arrangement of the labels.
- <STRONG>1</STRONG> indicates a 4-4 arrangement
+ <B>1</B> indicates a 4-4 arrangement
- <STRONG>2</STRONG> indicates the PC-like 4-4-4 mode.
+ <B>2</B> indicates the PC-like 4-4-4 mode.
- <STRONG>3</STRONG> is again the PC-like 4-4-4 mode, but in addition an index line is
+ <B>3</B> is again the PC-like 4-4-4 mode, but in addition an index line is
generated, helping the user to identify the key numbers easily.
</PRE><H3><a name="h3-Labels">Labels</a></H3><PRE>
- The <STRONG>slk_set</STRONG> routine (and the <STRONG>slk_wset</STRONG> routine for the wide-character
+ The <B>slk_set</B> routine (and the <B>slk_wset</B> routine for the wide-character
library) has three parameters:
- <EM>labnum</EM>
- is the label number, from <STRONG>1</STRONG> to <STRONG>8</STRONG> (12 for <EM>fmt</EM> in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG>
- or <STRONG>3</STRONG>);
+ <I>labnum</I>
+ is the label number, from <B>1</B> to <B>8</B> (12 for <I>fmt</I> in <B>slk_init</B> is <B>2</B>
+ or <B>3</B>);
- <EM>label</EM>
- is be the string to put on the label, up to eight (five for <EM>fmt</EM>
- in <STRONG>slk_init</STRONG> is <STRONG>2</STRONG> or <STRONG>3</STRONG>) characters in length. A null string or
+ <I>label</I>
+ is be the string to put on the label, up to eight (five for <I>fmt</I>
+ in <B>slk_init</B> is <B>2</B> or <B>3</B>) characters in length. A null string or
a null pointer sets up a blank label.
- <EM>fmt</EM> is either <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>, indicating whether the label is to be
+ <I>fmt</I> is either <B>0</B>, <B>1</B>, or <B>2</B>, indicating whether the label is to be
left-justified, centered, or right-justified, respectively,
within the label.
- The <STRONG>slk_label</STRONG> routine returns the current label for label number <EM>lab-</EM>
- <EM>num</EM>, with leading and trailing blanks stripped.
+ The <B>slk_label</B> routine returns the current label for label number <I>lab-</I>
+ <I>num</I>, with leading and trailing blanks stripped.
</PRE><H3><a name="h3-Screen-updates">Screen updates</a></H3><PRE>
- The <STRONG>slk_refresh</STRONG> and <STRONG>slk_noutrefresh</STRONG> routines correspond to the <STRONG>wrefresh</STRONG>
- and <STRONG>wnoutrefresh</STRONG> routines.
+ The <B>slk_refresh</B> and <B>slk_noutrefresh</B> routines correspond to the <B>wrefresh</B>
+ and <B>wnoutrefresh</B> routines.
- The <STRONG>slk_clear</STRONG> routine clears the soft labels from the screen.
+ The <B>slk_clear</B> routine clears the soft labels from the screen.
- The <STRONG>slk_restore</STRONG> routine restores the soft labels to the screen after a
- <STRONG>slk_clear</STRONG> has been performed.
+ The <B>slk_restore</B> routine restores the soft labels to the screen after a
+ <B>slk_clear</B> has been performed.
- The <STRONG>slk_touch</STRONG> routine forces all the soft labels to be output the next
- time a <STRONG>slk_noutrefresh</STRONG> is performed.
+ The <B>slk_touch</B> routine forces all the soft labels to be output the next
+ time a <B>slk_noutrefresh</B> is performed.
</PRE><H3><a name="h3-Video-attributes">Video attributes</a></H3><PRE>
- The <STRONG>slk_attron</STRONG>, <STRONG>slk_attrset</STRONG>, <STRONG>slk_attroff</STRONG> and <STRONG>slk_attr</STRONG> routines corre-
- spond to <STRONG>attron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>attroff</STRONG> and <STRONG>attr_get</STRONG>, respectively. They
+ The <B>slk_attron</B>, <B>slk_attrset</B>, <B>slk_attroff</B> and <B>slk_attr</B> routines corre-
+ spond to <B>attron</B>, <B>attrset</B>, <B>attroff</B> and <B>attr_get</B>, respectively. They
have an effect only if soft labels are simulated on the bottom line of
the screen. The default highlight for soft keys is A_STANDOUT (as in
System V curses, which does not document this fact).
</PRE><H3><a name="h3-Colors">Colors</a></H3><PRE>
- The <STRONG>slk_color</STRONG> routine corresponds to <STRONG>color_set</STRONG>. It has an effect only
+ The <B>slk_color</B> routine corresponds to <B>color_set</B>. It has an effect only
if soft labels are simulated on the bottom line of the screen.
- Because <STRONG>slk_color</STRONG> accepts only <STRONG>short</STRONG> (signed 16-bit integer) values,
- this implementation provides <STRONG>extended_slk_color</STRONG> which accepts an inte-
+ Because <B>slk_color</B> accepts only <B>short</B> (signed 16-bit integer) values,
+ this implementation provides <B>extended_slk_color</B> which accepts an inte-
ger value, e.g., 32-bits.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 specifies only "an
- integer value other than <STRONG>ERR</STRONG>") upon successful completion.
+ These routines return <B>ERR</B> upon failure and <B>OK</B> (SVr4 specifies only "an
+ integer value other than <B>ERR</B>") upon successful completion.
X/Open defines no error conditions. In this implementation
- <STRONG>slk_attr</STRONG>
+ <B>slk_attr</B>
returns the attribute used for the soft keys.
- <STRONG>slk_attroff</STRONG>, <STRONG>slk_attron</STRONG>, <STRONG>slk_clear</STRONG>, <STRONG>slk_noutrefresh</STRONG>, <STRONG>slk_refresh</STRONG>,
- <STRONG>slk_touch</STRONG>
+ <B>slk_attroff</B>, <B>slk_attron</B>, <B>slk_clear</B>, <B>slk_noutrefresh</B>, <B>slk_refresh</B>,
+ <B>slk_touch</B>
return an error if the terminal or the softkeys were not ini-
tialized.
- <STRONG>slk_attrset</STRONG>
+ <B>slk_attrset</B>
returns an error if the terminal or the softkeys were not ini-
tialized.
- <STRONG>slk_attr_set</STRONG>
+ <B>slk_attr_set</B>
returns an error if the terminal or the softkeys were not ini-
tialized, or the color pair is outside the range 0..COL-
OR_PAIRS-1.
- <STRONG>slk_color</STRONG>
+ <B>slk_color</B>
returns an error if the terminal or the softkeys were not ini-
tialized, or the color pair is outside the range 0..COL-
OR_PAIRS-1.
- <STRONG>slk_init</STRONG>
+ <B>slk_init</B>
returns an error if the format parameter is outside the range
0..3.
- <STRONG>slk_label</STRONG>
- returns <STRONG>NULL</STRONG> on error.
+ <B>slk_label</B>
+ returns <B>NULL</B> on error.
- <STRONG>slk_set</STRONG>
+ <B>slk_set</B>
returns an error if the terminal or the softkeys were not ini-
- tialized, or the <EM>labnum</EM> parameter is outside the range of label
+ tialized, or the <I>labnum</I> parameter is outside the range of label
counts, or if the format parameter is outside the range 0..2,
or if memory for the labels cannot be allocated.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- X/Open Curses documents the <EM>opts</EM> argument as reserved for future use,
+ X/Open Curses documents the <I>opts</I> argument as reserved for future use,
saying that it must be null. This implementation uses that parameter
in ABI 6 for the functions which have a color-pair parameter to support
extended color pairs.
- For functions which modify the color, e.g., <STRONG>slk_attr_set</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to set the color
- pair instead of the <STRONG>short</STRONG> pair parameter.
+ For functions which modify the color, e.g., <B>slk_attr_set</B>, if <I>opts</I> is
+ set it is treated as a pointer to <B>int</B>, and used to set the color
+ pair instead of the <B>short</B> pair parameter.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Most applications would use <STRONG>slk_noutrefresh</STRONG> because a <STRONG>wrefresh</STRONG> is like-
+ Most applications would use <B>slk_noutrefresh</B> because a <B>wrefresh</B> is like-
ly to follow soon.
The XSI Curses standard, Issue 4, described the soft-key functions,
with some differences from SVr4 curses:
- <STRONG>o</STRONG> It added functions like the SVr4 attribute-manipulation functions
- <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, <STRONG>slk_attrset</STRONG>, but which use <STRONG>attr_t</STRONG> parame-
- ters (rather than <STRONG>chtype</STRONG>), along with a reserved <EM>opts</EM> parameter.
+ <B>o</B> It added functions like the SVr4 attribute-manipulation functions
+ <B>slk_attron</B>, <B>slk_attroff</B>, <B>slk_attrset</B>, but which use <B>attr_t</B> parame-
+ ters (rather than <B>chtype</B>), along with a reserved <I>opts</I> parameter.
Two of these new functions (unlike the SVr4 functions) have no pro-
- vision for color: <STRONG>slk_attr_on</STRONG> and <STRONG>slk_attr_off</STRONG>.
+ vision for color: <B>slk_attr_on</B> and <B>slk_attr_off</B>.
- The third function (<STRONG>slk_attr_set</STRONG>) has a color-pair parameter.
+ The third function (<B>slk_attr_set</B>) has a color-pair parameter.
- <STRONG>o</STRONG> It added <STRONG>const</STRONG> qualifiers to parameters (unnecessarily), and
+ <B>o</B> It added <B>const</B> qualifiers to parameters (unnecessarily), and
- <STRONG>o</STRONG> It added <STRONG>slk_color</STRONG>.
+ <B>o</B> It added <B>slk_color</B>.
- The format codes <STRONG>2</STRONG> and <STRONG>3</STRONG> for <STRONG>slk_init</STRONG> and the function <STRONG>slk_attr</STRONG> are
+ The format codes <B>2</B> and <B>3</B> for <B>slk_init</B> and the function <B>slk_attr</B> are
specific to ncurses.
X/Open Curses does not specify a limit for the number of colors and
- color pairs which a terminal can support. However, in its use of <STRONG>short</STRONG>
+ color pairs which a terminal can support. However, in its use of <B>short</B>
for the parameters, it carries over SVr4's implementation detail for
the compiled terminfo database, which uses signed 16-bit numbers. This
implementation provides extended versions of those functions which use
- <STRONG>short</STRONG> parameters, allowing applications to use larger color- and pair-
+ <B>short</B> parameters, allowing applications to use larger color- and pair-
numbers.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>,
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_sp_funcs 3x</TITLE>
+<TITLE>curs_sp_funcs 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_sp_funcs 3x</H1>
+<H1 class="no-header">curs_sp_funcs 3X</H1>
<PRE>
-<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+<B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B> <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
+ curs_sp_funcs - <B>curses</B> screen-pointer extension
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
-
- <STRONG>int</STRONG> <STRONG>alloc_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>visibility</EM>);
- <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
-
- <STRONG>void</STRONG> <STRONG>filter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>find_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <STRONG>event);</STRONG>
- <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FILE*</STRONG> <EM>filep</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>tenths</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_extended_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
-
- <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
-
- <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
- <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nrows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>);</STRONG>
- <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
- <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>outfd</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>infd</EM><STRONG>);</STRONG>
- <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>void</STRONG> <STRONG>nofilter_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>short*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>reset_color_pairs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>init</EM><STRONG>)(WINDOW*</STRONG> <EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>));</STRONG>
- <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void*</STRONG><EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>chtype</STRONG> <EM>a</EM><STRONG>);</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>slk_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>slk_label_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>labnum</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <EM>label</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fmt</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
-
- <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,MEVENT</STRONG> <STRONG>*</STRONG> <STRONG>event);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>level</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>use_tioctl_sp(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
- <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
-
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
-
- <STRONG>FORM*</STRONG> <STRONG>new_form_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
-
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
-
- <STRONG>MENU*</STRONG> <STRONG>new_menu_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
-
- <STRONG>#include</STRONG> <STRONG><panel.h></STRONG>
-
- <STRONG>PANEL*</STRONG> <STRONG>ceiling_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>update_panels_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
-
- <STRONG>#include</STRONG> <STRONG><term.h></STRONG>
-
- <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>TERMINAL*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tgoto_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+
+ <B>int</B> <B>alloc_pair_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>assume_default_colors_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>baudrate_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>beep_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>bool</B> <B>can_change_color_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>cbreak_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>color_content_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>short</B> <I>color</I><B>,</B> <B>short*</B> <I>r</I><B>,</B> <B>short*</B> <I>g</I><B>,</B> <B>short*</B> <I>b</I><B>);</B>
+ <B>int</B> <B>curs_set_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>visibility</I>);
+ <B>int</B> <B>def_prog_mode_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>def_shell_mode_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>int</B> <B>define_key_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B> <I>definition</I><B>,</B> <B>int</B> <I>keycode</I><B>);</B>
+ <B>int</B> <B>delay_output_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>ms</I><B>);</B>
+ <B>int</B> <B>doupdate_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>echo_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>endwin_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>char</B> <B>erasechar_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>erasewchar_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>wchar_t</B> <B>*</B><I>ch</I><B>);</B>
+ <B>int</B> <B>extended_color_content_sp(SCREEN</B> <B>*</B> <I>sp</I><B>,</B> <B>int</B> <I>color</I><B>,</B> <B>int</B> <B>*</B> <I>r</I><B>,</B> <B>int</B> <B>*</B> <I>g</I><B>,</B> <B>int</B> <B>*</B> <I>b</I><B>);</B>
+ <B>int</B> <B>extended_pair_content_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>pair</I><B>,</B> <B>int</B> <B>*</B> <I>fg</I><B>,</B> <B>int</B> <B>*</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>extended_slk_color_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>pair</I><B>);</B>
+
+ <B>void</B> <B>filter_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>find_pair_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>flash_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>flushinp_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>free_pair_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>pair</I><B>);</B>
+ <B>int</B> <B>get_escdelay_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>getmouse_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>MEVENT*</B> <B>event);</B>
+ <B>WINDOW*</B> <B>getwin_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>FILE*</B> <I>filep</I><B>);</B>
+ <B>int</B> <B>halfdelay_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>tenths</I><B>);</B>
+ <B>bool</B> <B>has_colors_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>bool</B> <B>has_ic_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>bool</B> <B>has_il_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>has_key_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>ch</I><B>);</B>
+ <B>bool</B> <B>has_mouse_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>init_color_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>short</B> <I>color</I><B>,</B> <B>short</B> <I>r</I><B>,</B> <B>short</B> <I>g</I><B>,</B> <B>short</B> <I>b</I><B>);</B>
+ <B>int</B> <B>init_extended_color_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>color</I><B>,</B> <B>int</B> <I>r</I><B>,</B> <B>int</B> <I>g</I><B>,</B> <B>int</B> <I>b</I><B>);</B>
+ <B>int</B> <B>init_extended_pair_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>pair</I><B>,</B> <B>int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>init_pair_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>short</B> <I>fg</I><B>,</B> <B>short</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>intrflush_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>WINDOW*</B> <I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>bool</B> <B>is_term_resized_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
+
+ <B>bool</B> <B>isendwin_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>key_defined_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>definition</I><B>);</B>
+ <B>char*</B> <B>keybound_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>keycode</I><B>,</B> <B>int</B> <I>count</I><B>);</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>keyname_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>c</I><B>);</B>
+ <B>int</B> <B>keyok_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>keycode</I><B>,</B> <B>bool</B> <I>enable</I><B>);</B>
+ <B>char</B> <B>killchar_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>killwchar_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>wchar_t</B> <B>*</B><I>ch</I><B>);</B>
+ <B>char*</B> <B>longname_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>mcprint_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>char</B> <B>*</B><I>data</I><B>,</B> <B>int</B> <I>len</I><B>);</B>
+ <B>int</B> <B>mouseinterval_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>erval</I><B>);</B>
+
+ <B>mmask_t</B> <B>mousemask_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>mmask_t</B> <I>newmask</I><B>,</B> <B>mmask_t</B> <B>*</B><I>oldmask</I><B>);</B>
+ <B>int</B> <B>mvcur_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>oldrow</I><B>,</B> <B>int</B> <I>oldcol</I><B>,</B> <B>int</B> <I>newrow</I><B>,</B> <B>int</B> <I>newcol</I><B>);</B>
+ <B>int</B> <B>napms_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>ms</I><B>);</B>
+ <B>WINDOW*</B> <B>newpad_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>nrows</I><B>,</B> <B>int</B> <I>ncols</I><B>);</B>
+ <B>SCREEN*</B> <B>new_prescr(void);</B>
+ <B>SCREEN*</B> <B>newterm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>type</I><B>,</B> <B>FILE</B> <B>*</B><I>outfd</I><B>,</B> <B>FILE</B> <B>*</B><I>infd</I><B>);</B>
+ <B>WINDOW*</B> <B>newwin_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>x</I><B>);</B>
+ <B>int</B> <B>nl_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>nocbreak_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>noecho_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>void</B> <B>nofilter_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>nonl_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>void</B> <B>noqiflush_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>noraw_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>pair_content_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>short*</B> <I>fg</I><B>,</B> <B>short*</B> <I>bg</I><B>);</B>
+ <B>void</B> <B>qiflush_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>raw_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>reset_prog_mode_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>void</B> <B>reset_color_pairs_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>reset_shell_mode_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>int</B> <B>resetty_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>resize_term_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
+ <B>int</B> <B>resizeterm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
+ <B>int</B> <B>ripoffline_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>line</I><B>,</B> <B>int</B> <B>(*</B><I>init</I><B>)(WINDOW*</B> <I>win</I><B>,</B> <B>int</B> <I>fmt</I><B>));</B>
+ <B>int</B> <B>savetty_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>scr_init_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>scr_restore_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>scr_set_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>filename</I><B>);</B>
+ <B>int</B> <B>set_escdelay_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>ms</I><B>);</B>
+ <B>int</B> <B>set_tabsize_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>cols</I><B>);</B>
+
+ <B>int</B> <B>slk_attr_set_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void*</B><I>opts</I><B>);</B>
+ <B>int</B> <B>slk_attrset_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>chtype</B> <I>a</I><B>);</B>
+ <B>int</B> <B>slk_attroff_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>chtype</B> <I>a</I><B>);</B>
+ <B>int</B> <B>slk_attron_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>chtype</B> <I>a</I><B>);</B>
+ <B>attr_t</B> <B>slk_attr_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>slk_clear_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>slk_color_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>short</B> <I>pair</I><B>);</B>
+ <B>int</B> <B>slk_init_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>fmt</I><B>);</B>
+ <B>char*</B> <B>slk_label_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>labnum</I><B>);</B>
+ <B>int</B> <B>slk_noutrefresh_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>int</B> <B>slk_refresh_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>slk_restore_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>slk_set_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>labnum</I><B>,</B> <B>const</B> <B>char</B> <B>*</B> <I>label</I><B>,</B> <B>int</B> <I>fmt</I><B>);</B>
+ <B>int</B> <B>slk_touch_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>start_color_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>attr_t</B> <B>term_attrs_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>chtype</B> <B>termattrs_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>char*</B> <B>termname_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>int</B> <B>typeahead_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>fd</I><B>);</B>
+ <B>int</B> <B>unget_wch_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>wchar_t</B> <I>wch</I><B>);</B>
+
+ <B>int</B> <B>ungetch_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>ch</I><B>);</B>
+ <B>int</B> <B>ungetmouse_sp(SCREEN*</B> <I>sp</I><B>,MEVENT</B> <B>*</B> <B>event);</B>
+ <B>int</B> <B>use_default_colors_sp(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>void</B> <B>use_env_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>use_legacy_coding_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>int</B> <I>level</I><B>);</B>
+ <B>void</B> <B>use_tioctl_sp(SCREEN</B> <B>*</B><I>sp</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>int</B> <B>vid_attr_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>vid_puts_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B> <I>opts</I><B>,</B> <B>NCURSES_SP_OUTC</B> <I>putc</I><B>);</B>
+ <B>int</B> <B>vidattr_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>chtype</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>vidputs_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>chtype</B> <I>attrs</I><B>,</B> <B>NCURSES_SP_OUTC</B> <I>putc</I><B>);</B>
+ <B>wchar_t*</B> <B>wunctrl_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>cchar_t</B> <B>*</B><I>ch</I><B>);</B>
+
+ <B>#include</B> <B><form.h></B>
+
+ <B>FORM*</B> <B>new_form_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>FIELD</B> <B>**</B><I>fields</I><B>);</B>
+
+ <B>#include</B> <B><menu.h></B>
+
+ <B>MENU*</B> <B>new_menu_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>ITEM</B> <B>**</B><I>items</I><B>);</B>
+
+ <B>#include</B> <B><panel.h></B>
+
+ <B>PANEL*</B> <B>ceiling_panel(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>PANEL*</B> <B>ground_panel(SCREEN*</B> <I>sp</I><B>);</B>
+ <B>void</B> <B>update_panels_sp(SCREEN*</B> <I>sp</I><B>);</B>
+
+ <B>#include</B> <B><term.h></B>
+
+ <B>int</B> <B>del_curterm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>TERMINAL</B> <B>*</B><I>oterm</I><B>);</B>
+ <B>int</B> <B>putp_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
+ <B>int</B> <B>restartterm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>NCURSES_CONST</B> <B>char*</B><I>term</I><B>,</B> <B>int</B> <I>filedes</I><B>,</B> <B>int</B> <B>*</B><I>errret</I><B>);</B>
+ <B>TERMINAL*</B> <B>set_curterm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>TERMINAL*</B><I>nterm</I><B>);</B>
+ <B>int</B> <B>tgetent_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>char</B> <B>*</B><I>bp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>name</I><B>);</B>
+ <B>int</B> <B>tgetflag_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>int</B> <B>tgetnum_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>char*</B> <B>tgetstr_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>,</B> <B>char</B> <B>**</B><I>area</I><B>);</B>
+ <B>char*</B> <B>tgoto_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>,</B> <B>int</B> <I>col</I><B>,</B> <B>int</B> <I>row</I><B>);</B>
+ <B>int</B> <B>tigetflag_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>int</B> <B>tigetnum_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>char*</B> <B>tigetstr_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
/* may instead use 9 long parameters */
- <STRONG>char*</STRONG> <STRONG>tparm_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
+ <B>char*</B> <B>tparm_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>tputs_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>affcnt</I><B>,</B> <B>NCURSES_SP_OUTC</B> <I>putc</I><B>);</B>
- <STRONG>#include</STRONG> <STRONG><unctrl.h></STRONG>
+ <B>#include</B> <B><unctrl.h></B>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <B>NCURSES_CONST</B> <B>char*</B> <B>unctrl_sp(SCREEN*</B> <I>sp</I><B>,</B> <B>chtype</B> <I>c</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
new_prescr
when creating a new screen, the library uses static variables
- which have been preset, e.g., by <STRONG><A HREF="curs_util.3x.html">use_env(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">filter(3x)</A></STRONG>, etc.
+ which have been preset, e.g., by <B><A HREF="curs_util.3X.html">use_env(3X)</A></B>, <B><A HREF="curs_util.3X.html">filter(3X)</A></B>, etc.
With the screen-pointer extension, there are situations where it
must create a current screen before the unextended library does.
- The <STRONG>new_prescr</STRONG> function is used internally to handle these cases.
+ The <B>new_prescr</B> function is used internally to handle these cases.
It is also provided as an entrypoint to allow applications to cus-
tomize the library initialization.
extension is provided.
NCURSES_SP_NAME
- The new functions are named using the macro <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>, which
+ The new functions are named using the macro <I>NCURSES</I><B>_</B><I>SP</I><B>_</B><I>NAME</I>, which
hides the actual implementation. Currently this adds a "_sp" suf-
fix to the name of the unextended function. This manual page in-
dexes the extensions showing the full name. However the proper
NCURSES_SP_OUTC
This is a new function-pointer type to use in the screen-pointer
- functions where an <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM> is used in the unextended library.
+ functions where an <I>NCURSES</I><B>_</B><I>OUTC</I> is used in the unextended library.
NCURSES_OUTC
This is a function-pointer type used for the cases where a func-
- tion passes characters to the output stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">vidputs(3x)</A></STRONG>.
+ tion passes characters to the output stream, e.g., <B><A HREF="curs_terminfo.3X.html">vidputs(3X)</A></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines are specific to ncurses. They were not supported on
Version 7, BSD or System V implementations. It is recommended that any
- code depending on ncurses extensions be conditioned using <EM>NCURS-</EM>
- <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
+ code depending on ncurses extensions be conditioned using <I>NCURS-</I>
+ <I>ES</I><B>_</B><I>SP</I><B>_</B><I>FUNCS</I>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>, <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>.
- <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termattrs 3x</TITLE>
+<TITLE>curs_termattrs 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termattrs 3x</H1>
+<H1 class="no-header">curs_termattrs 3X</H1>
<PRE>
-<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+<B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B> <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>baudrate</STRONG>, <STRONG>erasechar</STRONG>, <STRONG>erasewchar</STRONG>, <STRONG>has_ic</STRONG>, <STRONG>has_il</STRONG>, <STRONG>killchar</STRONG>, <STRONG>killwchar</STRONG>,
- <STRONG>longname</STRONG>, <STRONG>term_attrs</STRONG>, <STRONG>termattrs</STRONG>, <STRONG>termname</STRONG> - <STRONG>curses</STRONG> environment query
+ <B>baudrate</B>, <B>erasechar</B>, <B>erasewchar</B>, <B>has_ic</B>, <B>has_il</B>, <B>killchar</B>, <B>killwchar</B>,
+ <B>longname</B>, <B>term_attrs</B>, <B>termattrs</B>, <B>termname</B> - <B>curses</B> environment query
routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG>
- <STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>killchar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*longname(void);</STRONG>
- <STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*termname(void);</STRONG>
+ <B>int</B> <B>baudrate(void);</B>
+ <B>char</B> <B>erasechar(void);</B>
+ <B>int</B> <B>erasewchar(wchar_t</B> <B>*</B><I>ch</I><B>);</B>
+ <B>bool</B> <B>has_ic(void);</B>
+ <B>bool</B> <B>has_il(void);</B>
+ <B>char</B> <B>killchar(void);</B>
+ <B>int</B> <B>killwchar(wchar_t</B> <B>*</B><I>ch</I><B>);</B>
+ <B>char</B> <B>*longname(void);</B>
+ <B>attr_t</B> <B>term_attrs(void);</B>
+ <B>chtype</B> <B>termattrs(void);</B>
+ <B>char</B> <B>*termname(void);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-baudrate">baudrate</a></H3><PRE>
- The <STRONG>baudrate</STRONG> routine returns the output speed of the terminal. The
- number returned is in bits per second, for example <STRONG>9600</STRONG>, and is an
+ The <B>baudrate</B> routine returns the output speed of the terminal. The
+ number returned is in bits per second, for example <B>9600</B>, and is an
integer.
</PRE><H3><a name="h3-erasechar_-erasewchar">erasechar, erasewchar</a></H3><PRE>
- The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
+ The <B>erasechar</B> routine returns the user's current erase character.
- The <STRONG>erasewchar</STRONG> routine stores the current erase character in the
- location referenced by <EM>ch</EM>. If no erase character has been defined, the
- routine fails and the location referenced by <EM>ch</EM> is not changed.
+ The <B>erasewchar</B> routine stores the current erase character in the
+ location referenced by <I>ch</I>. If no erase character has been defined, the
+ routine fails and the location referenced by <I>ch</I> is not changed.
</PRE><H3><a name="h3-has_is_-has_il">has_is, has_il</a></H3><PRE>
- The <STRONG>has_ic</STRONG> routine is true if the terminal has insert- and delete-
+ The <B>has_ic</B> routine is true if the terminal has insert- and delete-
character capabilities.
- The <STRONG>has_il</STRONG> routine is true if the terminal has insert- and delete-line
+ The <B>has_il</B> routine is true if the terminal has insert- and delete-line
capabilities, or can simulate them using scrolling regions. This might
be used to determine if it would be appropriate to turn on physical
- scrolling using <STRONG>scrollok</STRONG>.
+ scrolling using <B>scrollok</B>.
</PRE><H3><a name="h3-killchar_-killwchar">killchar, killwchar</a></H3><PRE>
- The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
+ The <B>killchar</B> routine returns the user's current line kill character.
- The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the
- location referenced by <EM>ch</EM>. If no line-kill character has been defined,
- the routine fails and the location referenced by <EM>ch</EM> is not changed.
+ The <B>killwchar</B> routine stores the current line-kill character in the
+ location referenced by <I>ch</I>. If no line-kill character has been defined,
+ the routine fails and the location referenced by <I>ch</I> is not changed.
</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
- The <STRONG>longname</STRONG> routine returns a pointer to a static area containing a
+ The <B>longname</B> routine returns a pointer to a static area containing a
verbose description of the current terminal. The maximum length of a
verbose description is 128 characters. It is defined only after the
- call to <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. The area is overwritten by each call to
- <STRONG>newterm</STRONG> and is not restored by <STRONG>set_term</STRONG>, so the value should be saved
- between calls to <STRONG>newterm</STRONG> if <STRONG>longname</STRONG> is going to be used with multiple
+ call to <B>initscr</B> or <B>newterm</B>. The area is overwritten by each call to
+ <B>newterm</B> and is not restored by <B>set_term</B>, so the value should be saved
+ between calls to <B>newterm</B> if <B>longname</B> is going to be used with multiple
terminals.
</PRE><H3><a name="h3-termattrs_-term_attrs">termattrs, term_attrs</a></H3><PRE>
If a given terminal does not support a video attribute that an
- application program is trying to use, <STRONG>curses</STRONG> may substitute a different
- video attribute for it. The <STRONG>termattrs</STRONG> and <STRONG>term_attrs</STRONG> functions return
- a logical <STRONG>OR</STRONG> of all video attributes supported by the terminal using <EM>A</EM><STRONG>_</STRONG>
- and <EM>WA</EM><STRONG>_</STRONG> constants respectively. This information is useful when a
- <STRONG>curses</STRONG> program needs complete control over the appearance of the
+ application program is trying to use, <B>curses</B> may substitute a different
+ video attribute for it. The <B>termattrs</B> and <B>term_attrs</B> functions return
+ a logical <B>OR</B> of all video attributes supported by the terminal using <I>A</I><B>_</B>
+ and <I>WA</I><B>_</B> constants respectively. This information is useful when a
+ <B>curses</B> program needs complete control over the appearance of the
screen.
</PRE><H3><a name="h3-termname">termname</a></H3><PRE>
- The <STRONG>termname</STRONG> routine returns the terminal name used by <STRONG>setupterm</STRONG>.
+ The <B>termname</B> routine returns the terminal name used by <B>setupterm</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>longname</STRONG> and <STRONG>termname</STRONG> return <STRONG>NULL</STRONG> on error.
+ <B>longname</B> and <B>termname</B> return <B>NULL</B> on error.
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful
+ Routines that return an integer return <B>ERR</B> upon failure and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful
completion.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>termattrs</STRONG> may be a macro.
+ Note that <B>termattrs</B> may be a macro.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
The XSI Curses standard, Issue 4 describes these functions. It changes
- the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
- curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
+ the return type of <B>termattrs</B> to the new type <B>attr_t</B>. Most versions of
+ curses truncate the result returned by <B>termname</B> to 14 characters.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
- <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termcap 3x</TITLE>
+<TITLE>curs_termcap 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termcap 3x</H1>
+<H1 class="no-header">curs_termcap 3X</H1>
<PRE>
-<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+<B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B> <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>PC</STRONG>, <STRONG>UP</STRONG>, <STRONG>BC</STRONG>, <STRONG>ospeed</STRONG>, <STRONG>tgetent</STRONG>, <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>, <STRONG>tgetstr</STRONG>, <STRONG>tgoto</STRONG>, <STRONG>tputs</STRONG> -
- <STRONG>curses</STRONG> emulation of termcap
+ <B>PC</B>, <B>UP</B>, <B>BC</B>, <B>ospeed</B>, <B>tgetent</B>, <B>tgetflag</B>, <B>tgetnum</B>, <B>tgetstr</B>, <B>tgoto</B>, <B>tputs</B> -
+ <B>curses</B> emulation of termcap
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>#include</STRONG> <STRONG><term.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
+ <B>#include</B> <B><term.h></B>
- <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>PC;</STRONG>
- <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>UP;</STRONG>
- <STRONG>extern</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>BC;</STRONG>
- <STRONG>extern</STRONG> <STRONG>short</STRONG> <STRONG>ospeed;</STRONG>
+ <B>extern</B> <B>char</B> <B>PC;</B>
+ <B>extern</B> <B>char</B> <B>*</B> <B>UP;</B>
+ <B>extern</B> <B>char</B> <B>*</B> <B>BC;</B>
+ <B>extern</B> <B>short</B> <B>ospeed;</B>
- <STRONG>int</STRONG> <STRONG>tgetent(char</STRONG> <STRONG>*</STRONG><EM>bp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tgetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tgetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>id</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>**</STRONG><EM>area</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tgoto(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>cap</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>col</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
+ <B>int</B> <B>tgetent(char</B> <B>*</B><I>bp</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>name</I><B>);</B>
+ <B>int</B> <B>tgetflag(const</B> <B>char</B> <B>*</B><I>id</I><B>);</B>
+ <B>int</B> <B>tgetnum(const</B> <B>char</B> <B>*</B><I>id</I><B>);</B>
+ <B>char</B> <B>*tgetstr(const</B> <B>char</B> <B>*</B><I>id</I><B>,</B> <B>char</B> <B>**</B><I>area</I><B>);</B>
+ <B>char</B> <B>*tgoto(const</B> <B>char</B> <B>*</B><I>cap</I><B>,</B> <B>int</B> <I>col</I><B>,</B> <B>int</B> <I>row</I><B>);</B>
+ <B>int</B> <B>tputs(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>affcnt</I><B>,</B> <B>int</B> <B>(*</B><I>putc</I><B>)(int));</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These routines are included as a conversion aid for programs that use
- the <EM>termcap</EM> library. Their parameters are the same, but the routines
- are emulated using the <EM>terminfo</EM> database. Thus, they can only be used
+ the <I>termcap</I> library. Their parameters are the same, but the routines
+ are emulated using the <I>terminfo</I> database. Thus, they can only be used
to query the capabilities of entries for which a terminfo entry has
been compiled.
</PRE><H3><a name="h3-INITIALIZATION">INITIALIZATION</a></H3><PRE>
- The <STRONG>tgetent</STRONG> routine loads the entry for <EM>name</EM>. It returns:
+ The <B>tgetent</B> routine loads the entry for <I>name</I>. It returns:
1 on success,
-1 if the terminfo database could not be found.
- This differs from the <EM>termcap</EM> library in two ways:
+ This differs from the <I>termcap</I> library in two ways:
- <STRONG>o</STRONG> The emulation ignores the buffer pointer <EM>bp</EM>. The <EM>termcap</EM> li-
+ <B>o</B> The emulation ignores the buffer pointer <I>bp</I>. The <I>termcap</I> li-
brary would store a copy of the terminal description in the area
referenced by this pointer. However, ncurses stores its termi-
nal descriptions in compiled binary form, which is not the same
thing.
- <STRONG>o</STRONG> There is a difference in return codes. The <EM>termcap</EM> library does
- not check if the terminal description is marked with the <EM>generic</EM>
+ <B>o</B> There is a difference in return codes. The <I>termcap</I> library does
+ not check if the terminal description is marked with the <I>generic</I>
capability, or if the terminal description has cursor-address-
ing.
</PRE><H3><a name="h3-CAPABILITY-VALUES">CAPABILITY VALUES</a></H3><PRE>
- The <STRONG>tgetflag</STRONG> routine gets the boolean entry for <EM>id</EM>, or zero if it is
+ The <B>tgetflag</B> routine gets the boolean entry for <I>id</I>, or zero if it is
not available.
- The <STRONG>tgetnum</STRONG> routine gets the numeric entry for <EM>id</EM>, or -1 if it is not
+ The <B>tgetnum</B> routine gets the numeric entry for <I>id</I>, or -1 if it is not
available.
- The <STRONG>tgetstr</STRONG> routine returns the string entry for <EM>id</EM>, or zero if it is
- not available. Use <STRONG>tputs</STRONG> to output the returned string. The <EM>area</EM> pa-
+ The <B>tgetstr</B> routine returns the string entry for <I>id</I>, or zero if it is
+ not available. Use <B>tputs</B> to output the returned string. The <I>area</I> pa-
rameter is used as follows:
- <STRONG>o</STRONG> It is assumed to be the address of a pointer to a buffer managed
+ <B>o</B> It is assumed to be the address of a pointer to a buffer managed
by the calling application.
- <STRONG>o</STRONG> However, ncurses checks to ensure that <STRONG>area</STRONG> is not NULL, and al-
+ <B>o</B> However, ncurses checks to ensure that <B>area</B> is not NULL, and al-
so that the resulting buffer pointer is not NULL. If either
- check fails, the <EM>area</EM> parameter is ignored.
+ check fails, the <I>area</I> parameter is ignored.
- <STRONG>o</STRONG> If the checks succeed, ncurses also copies the return value to
- the buffer pointed to by <EM>area</EM>, and the <EM>area</EM> value will be updat-
+ <B>o</B> If the checks succeed, ncurses also copies the return value to
+ the buffer pointed to by <I>area</I>, and the <I>area</I> value will be updat-
ed to point past the null ending this value.
- <STRONG>o</STRONG> The return value itself is an address in the terminal descrip-
+ <B>o</B> The return value itself is an address in the terminal descrip-
tion which is loaded into memory.
- Only the first two characters of the <STRONG>id</STRONG> parameter of <STRONG>tgetflag</STRONG>, <STRONG>tgetnum</STRONG>
- and <STRONG>tgetstr</STRONG> are compared in lookups.
+ Only the first two characters of the <B>id</B> parameter of <B>tgetflag</B>, <B>tgetnum</B>
+ and <B>tgetstr</B> are compared in lookups.
</PRE><H3><a name="h3-FORMATTING-CAPABILITIES">FORMATTING CAPABILITIES</a></H3><PRE>
- The <STRONG>tgoto</STRONG> routine expands the given capability using the parameters.
+ The <B>tgoto</B> routine expands the given capability using the parameters.
- <STRONG>o</STRONG> Because the capability may have padding characters, the output of
- <STRONG>tgoto</STRONG> should be passed to <STRONG>tputs</STRONG> rather than some other output func-
- tion such as <STRONG>printf</STRONG>.
+ <B>o</B> Because the capability may have padding characters, the output of
+ <B>tgoto</B> should be passed to <B>tputs</B> rather than some other output func-
+ tion such as <B>printf</B>.
- <STRONG>o</STRONG> While <STRONG>tgoto</STRONG> is assumed to be used for the two-parameter cursor po-
+ <B>o</B> While <B>tgoto</B> is assumed to be used for the two-parameter cursor po-
sitioning capability, termcap applications also use it for single-
parameter capabilities.
- Doing this shows a quirk in <STRONG>tgoto</STRONG>: most hardware terminals use cur-
- sor addressing with <EM>row</EM> first, but the original developers of the
- termcap interface chose to put the <EM>column</EM> parameter first. The
- <STRONG>tgoto</STRONG> function swaps the order of parameters. It does this also
+ Doing this shows a quirk in <B>tgoto</B>: most hardware terminals use cur-
+ sor addressing with <I>row</I> first, but the original developers of the
+ termcap interface chose to put the <I>column</I> parameter first. The
+ <B>tgoto</B> function swaps the order of parameters. It does this also
for calls requiring only a single parameter. In that case, the
first parameter is merely a placeholder.
- <STRONG>o</STRONG> Normally the ncurses library is compiled with terminfo support. In
- that case, <STRONG>tgoto</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> (a more capable formatter).
+ <B>o</B> Normally the ncurses library is compiled with terminfo support. In
+ that case, <B>tgoto</B> uses <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B> (a more capable formatter).
- However, <STRONG>tparm</STRONG> is not a <EM>termcap</EM> feature, and portable <EM>termcap</EM> ap-
+ However, <B>tparm</B> is not a <I>termcap</I> feature, and portable <I>termcap</I> ap-
plications should not rely upon its availability.
- The <STRONG>tputs</STRONG> routine is described on the <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+ The <B>tputs</B> routine is described on the <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B> manual page.
It can retrieve capabilities by either termcap or terminfo name.
</PRE><H3><a name="h3-GLOBAL-VARIABLES">GLOBAL VARIABLES</a></H3><PRE>
- The variables <STRONG>PC</STRONG>, <STRONG>UP</STRONG> and <STRONG>BC</STRONG> are set by <STRONG>tgetent</STRONG> to the terminfo entry's
- data for <STRONG>pad_char</STRONG>, <STRONG>cursor_up</STRONG> and <STRONG>backspace_if_not_bs</STRONG>, respectively. <STRONG>UP</STRONG>
- is not used by ncurses. <STRONG>PC</STRONG> is used in the <STRONG>tdelay_output</STRONG> function. <STRONG>BC</STRONG>
- is used in the <STRONG>tgoto</STRONG> emulation. The variable <STRONG>ospeed</STRONG> is set by ncurses
+ The variables <B>PC</B>, <B>UP</B> and <B>BC</B> are set by <B>tgetent</B> to the terminfo entry's
+ data for <B>pad_char</B>, <B>cursor_up</B> and <B>backspace_if_not_bs</B>, respectively. <B>UP</B>
+ is not used by ncurses. <B>PC</B> is used in the <B>tdelay_output</B> function. <B>BC</B>
+ is used in the <B>tgoto</B> emulation. The variable <B>ospeed</B> is set by ncurses
in a system-specific coding to reflect the terminal speed.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Except where explicitly noted, routines that return an integer return
- <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other
- than <STRONG>ERR</STRONG>") upon successful completion.
+ <B>ERR</B> upon failure and <B>OK</B> (SVr4 only specifies "an integer value other
+ than <B>ERR</B>") upon successful completion.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers return <B>NULL</B> on error.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- If you call <STRONG>tgetstr</STRONG> to fetch <STRONG>ca</STRONG> or any other parameterized string, be
+ If you call <B>tgetstr</B> to fetch <B>ca</B> or any other parameterized string, be
aware that it will be returned in terminfo notation, not the older and
not-quite-compatible termcap notation. This will not cause problems if
- all you do with it is call <STRONG>tgoto</STRONG> or <STRONG>tparm</STRONG>, which both expand terminfo-
- style strings as terminfo. (The <STRONG>tgoto</STRONG> function, if configured to sup-
+ all you do with it is call <B>tgoto</B> or <B>tparm</B>, which both expand terminfo-
+ style strings as terminfo. (The <B>tgoto</B> function, if configured to sup-
port termcap, will check if the string is indeed terminfo-style by
looking for "%p" parameters or "$<..>" delays, and invoke a termcap-
style parser if the string does not appear to be terminfo).
Because terminfo conventions for representing padding in string capa-
bilities differ from termcap's, users can be surprised:
- <STRONG>o</STRONG> <STRONG>tputs("50")</STRONG> in a terminfo system will put out a literal "50" rather
+ <B>o</B> <B>tputs("50")</B> in a terminfo system will put out a literal "50" rather
than busy-waiting for 50 milliseconds.
- <STRONG>o</STRONG> However, if ncurses is configured to support termcap, it may also
+ <B>o</B> However, if ncurses is configured to support termcap, it may also
have been configured to support the BSD-style padding.
- In that case, <STRONG>tputs</STRONG> inspects strings passed to it, looking for dig-
+ In that case, <B>tputs</B> inspects strings passed to it, looking for dig-
its at the beginning of the string.
- <STRONG>tputs("50")</STRONG> in a termcap system may wait for 50 milliseconds rather
+ <B>tputs("50")</B> in a termcap system may wait for 50 milliseconds rather
than put out a literal "50"
- Note that termcap has nothing analogous to terminfo's <STRONG>sgr</STRONG> string. One
- consequence of this is that termcap applications assume <STRONG>me</STRONG> (terminfo
- <STRONG>sgr0</STRONG>) does not reset the alternate character set. This implementation
+ Note that termcap has nothing analogous to terminfo's <B>sgr</B> string. One
+ consequence of this is that termcap applications assume <B>me</B> (terminfo
+ <B>sgr0</B>) does not reset the alternate character set. This implementation
checks for, and modifies the data shown to the termcap interface to ac-
commodate termcap's limitation in this respect.
These functions are provided for supporting legacy applications, and
should not be used in new programs:
- <STRONG>o</STRONG> The XSI Curses standard, Issue 4 describes these functions. Howev-
+ <B>o</B> The XSI Curses standard, Issue 4 describes these functions. Howev-
er, they are marked TO BE WITHDRAWN and may be removed in future
versions.
- <STRONG>o</STRONG> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
- (along with <STRONG>vwprintw</STRONG> and <STRONG>vwscanw</STRONG>) as withdrawn.
+ <B>o</B> X/Open Curses, Issue 5 (December 2007) marked the termcap interface
+ (along with <B>vwprintw</B> and <B>vwscanw</B>) as withdrawn.
Neither the XSI Curses standard nor the SVr4 man pages documented the
- return values of <STRONG>tgetent</STRONG> correctly, though all three were in fact re-
+ return values of <B>tgetent</B> correctly, though all three were in fact re-
turned ever since SVr1. In particular, an omission in the XSI Curses
- documentation has been misinterpreted to mean that <STRONG>tgetent</STRONG> returns <STRONG>OK</STRONG>
- or <STRONG>ERR</STRONG>. Because the purpose of these functions is to provide compati-
- bility with the <EM>termcap</EM> library, that is a defect in XCurses, Issue 4,
+ documentation has been misinterpreted to mean that <B>tgetent</B> returns <B>OK</B>
+ or <B>ERR</B>. Because the purpose of these functions is to provide compati-
+ bility with the <I>termcap</I> library, that is a defect in XCurses, Issue 4,
Version 2 rather than in ncurses.
External variables are provided for support of certain termcap applica-
tions. However, termcap applications' use of those variables is poorly
documented, e.g., not distinguishing between input and output. In par-
- ticular, some applications are reported to declare and/or modify <STRONG>os-</STRONG>
- <STRONG>peed</STRONG>.
+ ticular, some applications are reported to declare and/or modify <B>os-</B>
+ <B>peed</B>.
- The comment that only the first two characters of the <STRONG>id</STRONG> parameter are
+ The comment that only the first two characters of the <B>id</B> parameter are
used escapes many application developers. The original BSD 4.2 termcap
library (and historical relics thereof) did not require a trailing null
- NUL on the parameter name passed to <STRONG>tgetstr</STRONG>, <STRONG>tgetnum</STRONG> and <STRONG>tgetflag</STRONG>.
+ NUL on the parameter name passed to <B>tgetstr</B>, <B>tgetnum</B> and <B>tgetflag</B>.
Some applications assume that the termcap interface does not require
the trailing NUL for the parameter name. Taking into account these is-
sues:
- <STRONG>o</STRONG> As a special case, <STRONG>tgetflag</STRONG> matched against a single-character
+ <B>o</B> As a special case, <B>tgetflag</B> matched against a single-character
identifier provided that was at the end of the terminal descrip-
tion. You should not rely upon this behavior in portable programs.
This implementation disallows matches against single-character ca-
pability names.
- <STRONG>o</STRONG> This implementation disallows matches by the termcap interface
+ <B>o</B> This implementation disallows matches by the termcap interface
against extended capability names which are longer than two charac-
ters.
- The BSD termcap function <STRONG>tgetent</STRONG> returns the text of a termcap entry in
+ The BSD termcap function <B>tgetent</B> returns the text of a termcap entry in
the buffer passed as an argument. This library (like other terminfo
implementations) does not store terminal descriptions as text. It sets
the buffer contents to a null-terminated string.
was written several years before C was standardized. However, there
were two different termcap.h header files in the BSD sources:
- <STRONG>o</STRONG> One was used internally by the <EM>jove</EM> editor in 2BSD through 4.4BSD.
+ <B>o</B> One was used internally by the <I>jove</I> editor in 2BSD through 4.4BSD.
It defined global symbols for the termcap variables which it used.
- <STRONG>o</STRONG> The other appeared in 4.4BSD Lite Release 2 (mid-1993) as part of
- <EM>libedit</EM> (also known as the <EM>editline</EM> library). The CSRG source his-
- tory shows that this was added in mid-1992. The <EM>libedit</EM> header
- file was used internally, as a convenience for compiling the <EM>edit-</EM>
- <EM>line</EM> library. It declared function prototypes, but no global vari-
+ <B>o</B> The other appeared in 4.4BSD Lite Release 2 (mid-1993) as part of
+ <I>libedit</I> (also known as the <I>editline</I> library). The CSRG source his-
+ tory shows that this was added in mid-1992. The <I>libedit</I> header
+ file was used internally, as a convenience for compiling the <I>edit-</I>
+ <I>line</I> library. It declared function prototypes, but no global vari-
ables.
- The header file from <EM>libedit</EM> was added to NetBSD's termcap library in
+ The header file from <I>libedit</I> was added to NetBSD's termcap library in
mid-1994.
Meanwhile, GNU termcap was under development, starting in 1990. The
first release (termcap 1.0) in 1991 included a termcap.h header. The
second release (termcap 1.1) in September 1992 modified the header to
- use <STRONG>const</STRONG> for the function prototypes in the header where one would ex-
+ use <B>const</B> for the function prototypes in the header where one would ex-
pect the parameters to be read-only. This was a difference versus the
- original BSD termcap. The prototype for <STRONG>tputs</STRONG> also differed, but in
- that instance, it was <EM>libedit</EM> which differed from BSD termcap.
+ original BSD termcap. The prototype for <B>tputs</B> also differed, but in
+ that instance, it was <I>libedit</I> which differed from BSD termcap.
- A copy of GNU termcap 1.3 was bundled with <EM>bash</EM> in mid-1993, to support
- the <EM>readline</EM> library.
+ A copy of GNU termcap 1.3 was bundled with <I>bash</I> in mid-1993, to support
+ the <I>readline</I> library.
A termcap.h file was provided in ncurses 1.8.1 (November 1993). That
- reflected influence by <EM>emacs</EM> (rather than <EM>jove</EM>) and GNU termcap:
+ reflected influence by <I>emacs</I> (rather than <I>jove</I>) and GNU termcap:
- <STRONG>o</STRONG> it provided declarations for a few global symbols used by <EM>emacs</EM>
+ <B>o</B> it provided declarations for a few global symbols used by <I>emacs</I>
- <STRONG>o</STRONG> it provided function prototypes (using <STRONG>const</STRONG>).
+ <B>o</B> it provided function prototypes (using <B>const</B>).
- <STRONG>o</STRONG> a prototype for <STRONG>tparam</STRONG> (a GNU termcap feature) was provided.
+ <B>o</B> a prototype for <B>tparam</B> (a GNU termcap feature) was provided.
- Later (in mid-1996) the <STRONG>tparam</STRONG> function was removed from ncurses. As a
+ Later (in mid-1996) the <B>tparam</B> function was removed from ncurses. As a
result, there are differences between any of the four implementations,
which must be taken into account by programs which can work with all
termcap library interfaces.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B>putc(3)</B>, <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
https://invisible-island.net/ncurses/tctest.html
- <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_terminfo.3x,v 1.74 2021/03/06 16:05:19 tom Exp @
+ * @Id: curs_terminfo.3x,v 1.75 2021/06/17 21:11:08 tom Exp @
* ***************************************************************************
* ***************************************************************************
* ***************************************************************************
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_terminfo 3x</TITLE>
+<TITLE>curs_terminfo 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_terminfo 3x</H1>
+<H1 class="no-header">curs_terminfo 3X</H1>
<PRE>
-<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+<B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B> <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>del_curterm</STRONG>, <STRONG>mvcur</STRONG>, <STRONG>putp</STRONG>, <STRONG>restartterm</STRONG>, <STRONG>set_curterm</STRONG>, <STRONG>setupterm</STRONG>,
- <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG>, <STRONG>tigetstr</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tparm</STRONG>, <STRONG>tputs</STRONG>, <STRONG>vid_attr</STRONG>,
- <STRONG>vid_puts</STRONG>, <STRONG>vidattr</STRONG>, <STRONG>vidputs</STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
+ <B>del_curterm</B>, <B>mvcur</B>, <B>putp</B>, <B>restartterm</B>, <B>set_curterm</B>, <B>setupterm</B>,
+ <B>tigetflag</B>, <B>tigetnum</B>, <B>tigetstr</B>, <B>tiparm</B>, <B>tparm</B>, <B>tputs</B>, <B>vid_attr</B>,
+ <B>vid_puts</B>, <B>vidattr</B>, <B>vidputs</B> - <B>curses</B> interfaces to terminfo database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>#include</STRONG> <STRONG><term.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
+ <B>#include</B> <B><term.h></B>
- <STRONG>TERMINAL</STRONG> <STRONG>*cur_term;</STRONG>
+ <B>TERMINAL</B> <B>*cur_term;</B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>boolnames[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>boolcodes[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>boolfnames[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>numnames[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>numcodes[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>numfnames[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>strnames[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>strcodes[];</B>
+ <B>const</B> <B>char</B> <B>*</B> <B>const</B> <B>strfnames[];</B>
- <STRONG>int</STRONG> <STRONG>setupterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
- <STRONG>TERMINAL</STRONG> <STRONG>*set_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>nterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>del_curterm(TERMINAL</STRONG> <STRONG>*</STRONG><EM>oterm</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>restartterm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>filedes</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>errret</EM><STRONG>);</STRONG>
+ <B>int</B> <B>setupterm(const</B> <B>char</B> <B>*</B><I>term</I><B>,</B> <B>int</B> <I>filedes</I><B>,</B> <B>int</B> <B>*</B><I>errret</I><B>);</B>
+ <B>TERMINAL</B> <B>*set_curterm(TERMINAL</B> <B>*</B><I>nterm</I><B>);</B>
+ <B>int</B> <B>del_curterm(TERMINAL</B> <B>*</B><I>oterm</I><B>);</B>
+ <B>int</B> <B>restartterm(const</B> <B>char</B> <B>*</B><I>term</I><B>,</B> <B>int</B> <I>filedes</I><B>,</B> <B>int</B> <B>*</B><I>errret</I><B>);</B>
- <STRONG>char</STRONG> <STRONG>*tparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
- <STRONG>int</STRONG> <STRONG>tputs(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>affcnt</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
- <STRONG>int</STRONG> <STRONG>putp(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>);</STRONG>
+ <B>char</B> <B>*tparm(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>...);</B>
+ <B>int</B> <B>tputs(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>int</B> <I>affcnt</I><B>,</B> <B>int</B> <B>(*</B><I>putc</I><B>)(int));</B>
+ <B>int</B> <B>putp(const</B> <B>char</B> <B>*</B><I>str</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>vidputs(chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
- <STRONG>int</STRONG> <STRONG>vidattr(chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>vid_puts(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>(*</STRONG><EM>putc</EM><STRONG>)(int));</STRONG>
- <STRONG>int</STRONG> <STRONG>vid_attr(attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>vidputs(chtype</B> <I>attrs</I><B>,</B> <B>int</B> <B>(*</B><I>putc</I><B>)(int));</B>
+ <B>int</B> <B>vidattr(chtype</B> <I>attrs</I><B>);</B>
+ <B>int</B> <B>vid_puts(attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>,</B> <B>int</B> <B>(*</B><I>putc</I><B>)(int));</B>
+ <B>int</B> <B>vid_attr(attr_t</B> <I>attrs</I><B>,</B> <B>short</B> <I>pair</I><B>,</B> <B>void</B> <B>*</B><I>opts</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>mvcur(int</STRONG> <EM>oldrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>oldcol</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>newrow</EM>, int <EM>newcol</EM><STRONG>);</STRONG>
+ <B>int</B> <B>mvcur(int</B> <I>oldrow</I><B>,</B> <B>int</B> <I>oldcol</I><B>,</B> <B>int</B> <I>newrow</I>, int <I>newcol</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>tigetflag(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>tigetnum(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*tigetstr(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>capname</EM><STRONG>);</STRONG>
+ <B>int</B> <B>tigetflag(const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>int</B> <B>tigetnum(const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
+ <B>char</B> <B>*tigetstr(const</B> <B>char</B> <B>*</B><I>capname</I><B>);</B>
- <STRONG>char</STRONG> <STRONG>*tiparm(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <B>char</B> <B>*tiparm(const</B> <B>char</B> <B>*</B><I>str</I><B>,</B> <B>...);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These low-level routines must be called by programs that have to deal
- directly with the <STRONG>terminfo</STRONG> database to handle certain terminal capabil-
+ directly with the <B>terminfo</B> database to handle certain terminal capabil-
ities, such as programming function keys. For all other functionality,
- <STRONG>curses</STRONG> routines are more suitable and their use is recommended.
+ <B>curses</B> routines are more suitable and their use is recommended.
None of these functions use (or are aware of) multibyte character
strings such as UTF-8:
- <STRONG>o</STRONG> capability names use the POSIX portable character set
+ <B>o</B> capability names use the POSIX portable character set
- <STRONG>o</STRONG> capability string values have no associated encoding; they are
+ <B>o</B> capability string values have no associated encoding; they are
strings of 8-bit characters.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
- Initially, <STRONG>setupterm</STRONG> should be called. The high-level curses functions
- <STRONG>initscr</STRONG> and <STRONG>newterm</STRONG> call <STRONG>setupterm</STRONG> to initialize the low-level set of
- terminal-dependent variables [listed in <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>].
+ Initially, <B>setupterm</B> should be called. The high-level curses functions
+ <B>initscr</B> and <B>newterm</B> call <B>setupterm</B> to initialize the low-level set of
+ terminal-dependent variables [listed in <B><A HREF="terminfo.5.html">terminfo(5)</A></B>].
Applications can use the terminal capabilities either directly (via
- header definitions), or by special functions. The header files <STRONG>curs-</STRONG>
- <STRONG>es.h</STRONG> and <STRONG>term.h</STRONG> should be included (in this order) to get the defini-
+ header definitions), or by special functions. The header files <B>curs-</B>
+ <B>es.h</B> and <B>term.h</B> should be included (in this order) to get the defini-
tions for these strings, numbers, and flags.
- The <STRONG>terminfo</STRONG> variables <STRONG>lines</STRONG> and <STRONG>columns</STRONG> are initialized by <STRONG>setupterm</STRONG>
+ The <B>terminfo</B> variables <B>lines</B> and <B>columns</B> are initialized by <B>setupterm</B>
as follows:
- <STRONG>o</STRONG> If <STRONG>use_env(FALSE)</STRONG> has been called, values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG>
- specified in <STRONG>terminfo</STRONG> are used.
+ <B>o</B> If <B>use_env(FALSE)</B> has been called, values for <B>lines</B> and <B>columns</B>
+ specified in <B>terminfo</B> are used.
- <STRONG>o</STRONG> Otherwise, if the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> exist,
+ <B>o</B> Otherwise, if the environment variables <B>LINES</B> and <B>COLUMNS</B> exist,
their values are used. If these environment variables do not exist
and the program is running in a window, the current window size is
used. Otherwise, if the environment variables do not exist, the
- values for <STRONG>lines</STRONG> and <STRONG>columns</STRONG> specified in the <STRONG>terminfo</STRONG> database are
+ values for <B>lines</B> and <B>columns</B> specified in the <B>terminfo</B> database are
used.
- Parameterized strings should be passed through <STRONG>tparm</STRONG> to instantiate
- them. All <STRONG>terminfo</STRONG> strings (including the output of <STRONG>tparm</STRONG>) should be
- printed with <STRONG>tputs</STRONG> or <STRONG>putp</STRONG>. Call <STRONG>reset_shell_mode</STRONG> to restore the tty
- modes before exiting [see <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>].
+ Parameterized strings should be passed through <B>tparm</B> to instantiate
+ them. All <B>terminfo</B> strings (including the output of <B>tparm</B>) should be
+ printed with <B>tputs</B> or <B>putp</B>. Call <B>reset_shell_mode</B> to restore the tty
+ modes before exiting [see <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>].
Programs which use cursor addressing should
- <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> upon startup and
+ <B>o</B> output <B>enter_ca_mode</B> upon startup and
- <STRONG>o</STRONG> output <STRONG>exit_ca_mode</STRONG> before exiting.
+ <B>o</B> output <B>exit_ca_mode</B> before exiting.
Programs which execute shell subprocesses should
- <STRONG>o</STRONG> call <STRONG>reset_shell_mode</STRONG> and output <STRONG>exit_ca_mode</STRONG> before the shell is
+ <B>o</B> call <B>reset_shell_mode</B> and output <B>exit_ca_mode</B> before the shell is
called and
- <STRONG>o</STRONG> output <STRONG>enter_ca_mode</STRONG> and call <STRONG>reset_prog_mode</STRONG> after returning from
+ <B>o</B> output <B>enter_ca_mode</B> and call <B>reset_prog_mode</B> after returning from
the shell.
- The <STRONG>setupterm</STRONG> routine reads in the <STRONG>terminfo</STRONG> database, initializing the
- <STRONG>terminfo</STRONG> structures, but does not set up the output virtualization
- structures used by <STRONG>curses</STRONG>. These are its parameters:
+ The <B>setupterm</B> routine reads in the <B>terminfo</B> database, initializing the
+ <B>terminfo</B> structures, but does not set up the output virtualization
+ structures used by <B>curses</B>. These are its parameters:
- <EM>term</EM> is the terminal type, a character string. If <EM>term</EM> is null, the
- environment variable <STRONG>TERM</STRONG> is used.
+ <I>term</I> is the terminal type, a character string. If <I>term</I> is null, the
+ environment variable <B>TERM</B> is used.
- <EM>filedes</EM>
+ <I>filedes</I>
is the file descriptor used for all output.
- <EM>errret</EM>
+ <I>errret</I>
points to an optional location where an error status can be re-
- turned to the caller. If <EM>errret</EM> is not null, then <STRONG>setupterm</STRONG>
- returns <STRONG>OK</STRONG> or <STRONG>ERR</STRONG> and stores a status value in the integer
- pointed to by <EM>errret</EM>. A return value of <STRONG>OK</STRONG> combined with sta-
- tus of <STRONG>1</STRONG> in <EM>errret</EM> is normal.
+ turned to the caller. If <I>errret</I> is not null, then <B>setupterm</B>
+ returns <B>OK</B> or <B>ERR</B> and stores a status value in the integer
+ pointed to by <I>errret</I>. A return value of <B>OK</B> combined with sta-
+ tus of <B>1</B> in <I>errret</I> is normal.
- If <STRONG>ERR</STRONG> is returned, examine <EM>errret</EM>:
+ If <B>ERR</B> is returned, examine <I>errret</I>:
- <STRONG>1</STRONG> means that the terminal is hardcopy, cannot be used for
+ <B>1</B> means that the terminal is hardcopy, cannot be used for
curses applications.
- <STRONG>setupterm</STRONG> determines if the entry is a hardcopy type by
- checking the <STRONG>hc</STRONG> (<STRONG>hardcopy</STRONG>) capability.
+ <B>setupterm</B> determines if the entry is a hardcopy type by
+ checking the <B>hc</B> (<B>hardcopy</B>) capability.
- <STRONG>0</STRONG> means that the terminal could not be found, or that it is
+ <B>0</B> means that the terminal could not be found, or that it is
a generic type, having too little information for curses
applications to run.
- <STRONG>setupterm</STRONG> determines if the entry is a generic type by
- checking the <STRONG>gn</STRONG> (<STRONG>generic</STRONG>) capability.
+ <B>setupterm</B> determines if the entry is a generic type by
+ checking the <B>gn</B> (<B>generic</B>) capability.
- <STRONG>-1</STRONG> means that the <STRONG>terminfo</STRONG> database could not be found.
+ <B>-1</B> means that the <B>terminfo</B> database could not be found.
- If <EM>errret</EM> is null, <STRONG>setupterm</STRONG> prints an error message upon find-
+ If <I>errret</I> is null, <B>setupterm</B> prints an error message upon find-
ing an error and exits. Thus, the simplest call is:
- <STRONG>setupterm((char</STRONG> <STRONG>*)0,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0);</STRONG>,
+ <B>setupterm((char</B> <B>*)0,</B> <B>1,</B> <B>(int</B> <B>*)0);</B>,
- which uses all the defaults and sends the output to <STRONG>stdout</STRONG>.
+ which uses all the defaults and sends the output to <B>stdout</B>.
</PRE><H3><a name="h3-The-Terminal-State">The Terminal State</a></H3><PRE>
- The <STRONG>setupterm</STRONG> routine stores its information about the terminal in a
- <STRONG>TERMINAL</STRONG> structure pointed to by the global variable <STRONG>cur_term</STRONG>. If it
+ The <B>setupterm</B> routine stores its information about the terminal in a
+ <B>TERMINAL</B> structure pointed to by the global variable <B>cur_term</B>. If it
detects an error, or decides that the terminal is unsuitable (hardcopy
or generic), it discards this information, making it not available to
applications.
- If <STRONG>setupterm</STRONG> is called repeatedly for the same terminal type, it will
+ If <B>setupterm</B> is called repeatedly for the same terminal type, it will
reuse the information. It maintains only one copy of a given termi-
nal's capabilities in memory. If it is called for different terminal
- types, <STRONG>setupterm</STRONG> allocates new storage for each set of terminal capa-
+ types, <B>setupterm</B> allocates new storage for each set of terminal capa-
bilities.
- The <STRONG>set_curterm</STRONG> routine sets <STRONG>cur_term</STRONG> to <EM>nterm</EM>, and makes all of the
- <STRONG>terminfo</STRONG> boolean, numeric, and string variables use the values from
- <EM>nterm</EM>. It returns the old value of <STRONG>cur_term</STRONG>.
+ The <B>set_curterm</B> routine sets <B>cur_term</B> to <I>nterm</I>, and makes all of the
+ <B>terminfo</B> boolean, numeric, and string variables use the values from
+ <I>nterm</I>. It returns the old value of <B>cur_term</B>.
- The <STRONG>del_curterm</STRONG> routine frees the space pointed to by <EM>oterm</EM> and makes
- it available for further use. If <EM>oterm</EM> is the same as <STRONG>cur_term</STRONG>, refer-
- ences to any of the <STRONG>terminfo</STRONG> boolean, numeric, and string variables
- thereafter may refer to invalid memory locations until another <STRONG>se-</STRONG>
- <STRONG>tupterm</STRONG> has been called.
+ The <B>del_curterm</B> routine frees the space pointed to by <I>oterm</I> and makes
+ it available for further use. If <I>oterm</I> is the same as <B>cur_term</B>, refer-
+ ences to any of the <B>terminfo</B> boolean, numeric, and string variables
+ thereafter may refer to invalid memory locations until another <B>se-</B>
+ <B>tupterm</B> has been called.
- The <STRONG>restartterm</STRONG> routine is similar to <STRONG>setupterm</STRONG> and <STRONG>initscr</STRONG>, except
+ The <B>restartterm</B> routine is similar to <B>setupterm</B> and <B>initscr</B>, except
that it is called after restoring memory to a previous state (for exam-
- ple, when reloading a game saved as a core image dump). <STRONG>restartterm</STRONG>
+ ple, when reloading a game saved as a core image dump). <B>restartterm</B>
assumes that the windows and the input and output options are the same
as when memory was saved, but the terminal type and baud rate may be
- different. Accordingly, <STRONG>restartterm</STRONG> saves various tty state bits,
- calls <STRONG>setupterm</STRONG>, and then restores the bits.
+ different. Accordingly, <B>restartterm</B> saves various tty state bits,
+ calls <B>setupterm</B>, and then restores the bits.
</PRE><H3><a name="h3-Formatting-Output">Formatting Output</a></H3><PRE>
- The <STRONG>tparm</STRONG> routine instantiates the string <EM>str</EM> with parameters <EM>pi</EM>. A
- pointer is returned to the result of <EM>str</EM> with the parameters applied.
+ The <B>tparm</B> routine instantiates the string <I>str</I> with parameters <I>pi</I>. A
+ pointer is returned to the result of <I>str</I> with the parameters applied.
Application developers should keep in mind these quirks of the inter-
face:
- <STRONG>o</STRONG> Although <STRONG>tparm</STRONG>'s actual parameters may be integers or strings, the
- prototype expects <STRONG>long</STRONG> (integer) values.
+ <B>o</B> Although <B>tparm</B>'s actual parameters may be integers or strings, the
+ prototype expects <B>long</B> (integer) values.
- <STRONG>o</STRONG> Aside from the <STRONG>set_attributes</STRONG> (<STRONG>sgr</STRONG>) capability, most terminal capa-
+ <B>o</B> Aside from the <B>set_attributes</B> (<B>sgr</B>) capability, most terminal capa-
bilities require no more than one or two parameters.
- <STRONG>o</STRONG> Padding information is ignored by <STRONG>tparm</STRONG>; it is interpreted by
- <STRONG>tputs</STRONG>.
+ <B>o</B> Padding information is ignored by <B>tparm</B>; it is interpreted by
+ <B>tputs</B>.
- <STRONG>o</STRONG> The capability string is null-terminated. Use "\200" where an
+ <B>o</B> The capability string is null-terminated. Use "\200" where an
ASCII NUL is needed in the output.
- <STRONG>tiparm</STRONG> is a newer form of <STRONG>tparm</STRONG> which uses <EM><stdarg.h></EM> rather than a
+ <B>tiparm</B> is a newer form of <B>tparm</B> which uses <I><stdarg.h></I> rather than a
fixed-parameter list. Its numeric parameters are integers (int) rather
than longs.
</PRE><H3><a name="h3-Output-Functions">Output Functions</a></H3><PRE>
- The <STRONG>tputs</STRONG> routine applies padding information (i.e., by interpreting
+ The <B>tputs</B> routine applies padding information (i.e., by interpreting
marker embedded in the terminfo capability such as "$<5>" as 5 mil-
- liseconds) to the string <EM>str</EM> and outputs it:
+ liseconds) to the string <I>str</I> and outputs it:
- <STRONG>o</STRONG> The <EM>str</EM> parameter must be a terminfo string variable or the return
- value from <STRONG>tparm</STRONG>, <STRONG>tiparm</STRONG>, <STRONG>tgetstr</STRONG>, or <STRONG>tgoto</STRONG>.
+ <B>o</B> The <I>str</I> parameter must be a terminfo string variable or the return
+ value from <B>tparm</B>, <B>tiparm</B>, <B>tgetstr</B>, or <B>tgoto</B>.
- The <STRONG>tgetstr</STRONG> and <STRONG>tgoto</STRONG> functions are part of the <EM>termcap</EM> interface,
- which happens to share this function name with the <EM>terminfo</EM> inter-
+ The <B>tgetstr</B> and <B>tgoto</B> functions are part of the <I>termcap</I> interface,
+ which happens to share this function name with the <I>terminfo</I> inter-
face.
- <STRONG>o</STRONG> <EM>affcnt</EM> is the number of lines affected, or 1 if not applicable.
+ <B>o</B> <I>affcnt</I> is the number of lines affected, or 1 if not applicable.
- <STRONG>o</STRONG> <EM>putc</EM> is a <STRONG>putchar</STRONG>-like routine to which the characters are passed,
+ <B>o</B> <I>putc</I> is a <B>putchar</B>-like routine to which the characters are passed,
one at a time.
- The <STRONG>putp</STRONG> routine calls <STRONG>tputs(</STRONG><EM>str</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>putchar)</STRONG>. The output of <STRONG>putp</STRONG> al-
- ways goes to <STRONG>stdout</STRONG>, rather than the <EM>filedes</EM> specified in <STRONG>setupterm</STRONG>.
+ The <B>putp</B> routine calls <B>tputs(</B><I>str</I><B>,</B> <B>1,</B> <B>putchar)</B>. The output of <B>putp</B> al-
+ ways goes to <B>stdout</B>, rather than the <I>filedes</I> specified in <B>setupterm</B>.
- The <STRONG>vidputs</STRONG> routine displays the string on the terminal in the video
- attribute mode <EM>attrs</EM>, which is any combination of the attributes listed
- in <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>. The characters are passed to the <STRONG>putchar</STRONG>-like routine
- <EM>putc</EM>.
+ The <B>vidputs</B> routine displays the string on the terminal in the video
+ attribute mode <I>attrs</I>, which is any combination of the attributes listed
+ in <B><A HREF="curses.3X.html">curses(3X)</A></B>. The characters are passed to the <B>putchar</B>-like routine
+ <I>putc</I>.
- The <STRONG>vidattr</STRONG> routine is like the <STRONG>vidputs</STRONG> routine, except that it outputs
- through <STRONG>putchar</STRONG>.
+ The <B>vidattr</B> routine is like the <B>vidputs</B> routine, except that it outputs
+ through <B>putchar</B>.
- The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines correspond to vidattr and vidputs,
+ The <B>vid_attr</B> and <B>vid_puts</B> routines correspond to vidattr and vidputs,
respectively. They use a set of arguments for representing the video
attributes plus color, i.e.,
- <STRONG>o</STRONG> <EM>attrs</EM> of type <STRONG>attr_t</STRONG> for the attributes and
+ <B>o</B> <I>attrs</I> of type <B>attr_t</B> for the attributes and
- <STRONG>o</STRONG> <EM>pair</EM> of type <STRONG>short</STRONG> for the color-pair number.
+ <B>o</B> <I>pair</I> of type <B>short</B> for the color-pair number.
- The <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> routines are designed to use the attribute
- constants with the <EM>WA</EM><STRONG>_</STRONG> prefix.
+ The <B>vid_attr</B> and <B>vid_puts</B> routines are designed to use the attribute
+ constants with the <I>WA</I><B>_</B> prefix.
- X/Open Curses reserves the <EM>opts</EM> argument for future use, saying that
+ X/Open Curses reserves the <I>opts</I> argument for future use, saying that
applications must provide a null pointer for that argument. As an ex-
- tension, this implementation allows <EM>opts</EM> to be used as a pointer to
- <STRONG>int</STRONG>, which overrides the <EM>pair</EM> (<STRONG>short</STRONG>) argument.
+ tension, this implementation allows <I>opts</I> to be used as a pointer to
+ <B>int</B>, which overrides the <I>pair</I> (<B>short</B>) argument.
- The <STRONG>mvcur</STRONG> routine provides low-level cursor motion. It takes effect
+ The <B>mvcur</B> routine provides low-level cursor motion. It takes effect
immediately (rather than at the next refresh).
- While <STRONG>putp</STRONG> and <STRONG>mvcur</STRONG> are low-level functions which do not use the high-
- level curses state, they are declared in <STRONG><curses.h></STRONG> because SystemV did
- this (see <STRONG>HISTORY</STRONG>).
+ While <B>putp</B> and <B>mvcur</B> are low-level functions which do not use the high-
+ level curses state, they are declared in <B><curses.h></B> because SystemV did
+ this (see <B>HISTORY</B>).
</PRE><H3><a name="h3-Terminal-Capability-Functions">Terminal Capability Functions</a></H3><PRE>
- The <STRONG>tigetflag</STRONG>, <STRONG>tigetnum</STRONG> and <STRONG>tigetstr</STRONG> routines return the value of the
- capability corresponding to the <STRONG>terminfo</STRONG> <EM>capname</EM> passed to them, such
- as <STRONG>xenl</STRONG>. The <EM>capname</EM> for each capability is given in the table column
- entitled <EM>capname</EM> code in the capabilities section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ The <B>tigetflag</B>, <B>tigetnum</B> and <B>tigetstr</B> routines return the value of the
+ capability corresponding to the <B>terminfo</B> <I>capname</I> passed to them, such
+ as <B>xenl</B>. The <I>capname</I> for each capability is given in the table column
+ entitled <I>capname</I> code in the capabilities section of <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
These routines return special values to denote errors.
- The <STRONG>tigetflag</STRONG> routine returns
+ The <B>tigetflag</B> routine returns
- <STRONG>-1</STRONG> if <EM>capname</EM> is not a boolean capability, or
+ <B>-1</B> if <I>capname</I> is not a boolean capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
+ <B>0</B> if it is canceled or absent from the terminal description.
- The <STRONG>tigetnum</STRONG> routine returns
+ The <B>tigetnum</B> routine returns
- <STRONG>-2</STRONG> if <EM>capname</EM> is not a numeric capability, or
+ <B>-2</B> if <I>capname</I> is not a numeric capability, or
- <STRONG>-1</STRONG> if it is canceled or absent from the terminal description.
+ <B>-1</B> if it is canceled or absent from the terminal description.
- The <STRONG>tigetstr</STRONG> routine returns
+ The <B>tigetstr</B> routine returns
- <STRONG>(char</STRONG> <STRONG>*)-1</STRONG>
- if <EM>capname</EM> is not a string capability, or
+ <B>(char</B> <B>*)-1</B>
+ if <I>capname</I> is not a string capability, or
- <STRONG>0</STRONG> if it is canceled or absent from the terminal description.
+ <B>0</B> if it is canceled or absent from the terminal description.
</PRE><H3><a name="h3-Terminal-Capability-Names">Terminal Capability Names</a></H3><PRE>
These null-terminated arrays contain
- <STRONG>o</STRONG> the short terminfo names ("codes"),
+ <B>o</B> the short terminfo names ("codes"),
- <STRONG>o</STRONG> the <STRONG>termcap</STRONG> names ("names"), and
+ <B>o</B> the <B>termcap</B> names ("names"), and
- <STRONG>o</STRONG> the long terminfo names ("fnames")
+ <B>o</B> the long terminfo names ("fnames")
- for each of the predefined <STRONG>terminfo</STRONG> variables:
+ for each of the predefined <B>terminfo</B> variables:
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*boolnames[]</STRONG>, <STRONG>*boolcodes[]</STRONG>, <STRONG>*boolfnames[]</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*numnames[]</STRONG>, <STRONG>*numcodes[]</STRONG>, <STRONG>*numfnames[]</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*strnames[]</STRONG>, <STRONG>*strcodes[]</STRONG>, <STRONG>*strfnames[]</STRONG>
+ <B>const</B> <B>char</B> <B>*boolnames[]</B>, <B>*boolcodes[]</B>, <B>*boolfnames[]</B>
+ <B>const</B> <B>char</B> <B>*numnames[]</B>, <B>*numcodes[]</B>, <B>*numfnames[]</B>
+ <B>const</B> <B>char</B> <B>*strnames[]</B>, <B>*strcodes[]</B>, <B>*strfnames[]</B>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> (SVr4
- only specifies "an integer value other than <STRONG>ERR</STRONG>") upon successful com-
+ Routines that return an integer return <B>ERR</B> upon failure and <B>OK</B> (SVr4
+ only specifies "an integer value other than <B>ERR</B>") upon successful com-
pletion, unless otherwise noted in the preceding routine descriptions.
- Routines that return pointers always return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers always return <B>NULL</B> on error.
X/Open defines no error conditions. In this implementation
- <STRONG>del_curterm</STRONG>
+ <B>del_curterm</B>
returns an error if its terminal parameter is null.
- <STRONG>putp</STRONG> calls <STRONG>tputs</STRONG>, returning the same error-codes.
+ <B>putp</B> calls <B>tputs</B>, returning the same error-codes.
- <STRONG>restartterm</STRONG>
- returns an error if the associated call to <STRONG>setupterm</STRONG> returns an
+ <B>restartterm</B>
+ returns an error if the associated call to <B>setupterm</B> returns an
error.
- <STRONG>setupterm</STRONG>
+ <B>setupterm</B>
returns an error if it cannot allocate enough memory, or create
the initial windows (stdscr, curscr, newscr). Other error con-
ditions are documented above.
- <STRONG>tputs</STRONG>
+ <B>tputs</B>
returns an error if the string parameter is null. It does not
- detect I/O errors: X/Open states that <STRONG>tputs</STRONG> ignores the return
- value of the output function <EM>putc</EM>.
+ detect I/O errors: X/Open states that <B>tputs</B> ignores the return
+ value of the output function <I>putc</I>.
</PRE><H3><a name="h3-Compatibility-macros">Compatibility macros</a></H3><PRE>
This implementation provides a few macros for compatibility with sys-
- tems before SVr4 (see <STRONG>HISTORY</STRONG>). Those include <STRONG>crmode</STRONG>, <STRONG>fixterm</STRONG>,
- <STRONG>gettmode</STRONG>, <STRONG>nocrmode</STRONG>, <STRONG>resetterm</STRONG>, <STRONG>saveterm</STRONG>, and <STRONG>setterm</STRONG>.
+ tems before SVr4 (see <B>HISTORY</B>). Those include <B>crmode</B>, <B>fixterm</B>,
+ <B>gettmode</B>, <B>nocrmode</B>, <B>resetterm</B>, <B>saveterm</B>, and <B>setterm</B>.
- In SVr4, those are found in <STRONG><curses.h></STRONG>, but except for <STRONG>setterm</STRONG>, are
- likewise macros. The one function, <STRONG>setterm</STRONG>, is mentioned in the manual
- page. The manual page notes that the <STRONG>setterm</STRONG> routine was replaced by
- <STRONG>setupterm</STRONG>, stating that the call:
+ In SVr4, those are found in <B><curses.h></B>, but except for <B>setterm</B>, are
+ likewise macros. The one function, <B>setterm</B>, is mentioned in the manual
+ page. The manual page notes that the <B>setterm</B> routine was replaced by
+ <B>setupterm</B>, stating that the call:
- <STRONG>setupterm(</STRONG><EM>term</EM><STRONG>,</STRONG> <STRONG>1,</STRONG> <STRONG>(int</STRONG> <STRONG>*)0)</STRONG>
+ <B>setupterm(</B><I>term</I><B>,</B> <B>1,</B> <B>(int</B> <B>*)0)</B>
- provides the same functionality as <STRONG>setterm(</STRONG><EM>term</EM><STRONG>)</STRONG>, and is not recommend-
+ provides the same functionality as <B>setterm(</B><I>term</I><B>)</B>, and is not recommend-
ed for new programs. This implementation provides each of those sym-
bols as macros for BSD compatibility,
SVr2 introduced the terminfo feature. Its programming manual mentioned
these low-level functions:
- <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ <B>Function</B> <B>Description</B>
------------------------------------------------------------
fixterm restore tty to "in curses" state
gettmode establish current tty modes
mvcur low level cursor motion
- putp utility function that uses <STRONG>tputs</STRONG> to send char-
- acters via <STRONG>putchar</STRONG>.
+ putp utility function that uses <B>tputs</B> to send char-
+ acters via <B>putchar</B>.
resetterm set tty modes to "out of curses" state
resetty reset tty flags to stored value
saveterm save current modes as "in curses" state
setupterm establish terminal with given type
tparm instantiate a string expression with parameters
tputs apply padding information to a string
- vidattr like <STRONG>vidputs</STRONG>, but outputs through <STRONG>putchar</STRONG>
+ vidattr like <B>vidputs</B>, but outputs through <B>putchar</B>
vidputs output a string to put terminal in a specified
video attribute mode
The programming manual also mentioned functions provided for termcap
compatibility (commenting that they "may go away at a later date"):
- <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ <B>Function</B> <B>Description</B>
------------------------------------------------
- tgetent look up termcap entry for given <EM>name</EM>
- tgetflag get boolean entry for given <EM>id</EM>
- tgetnum get numeric entry for given <EM>id</EM>
- tgetstr get string entry for given <EM>id</EM>
+ tgetent look up termcap entry for given <I>name</I>
+ tgetflag get boolean entry for given <I>id</I>
+ tgetnum get numeric entry for given <I>id</I>
+ tgetstr get string entry for given <I>id</I>
tgoto apply parameters to given capability
tputs apply padding to capability, calling
a function to put characters
- Early terminfo programs obtained capability values from the <STRONG>TERMINAL</STRONG>
- structure initialized by <STRONG>setupterm</STRONG>.
+ Early terminfo programs obtained capability values from the <B>TERMINAL</B>
+ structure initialized by <B>setupterm</B>.
SVr3 extended terminfo by adding functions to retrieve capability val-
ues (like the termcap interface), and reusing tgoto and tputs:
- <STRONG>Function</STRONG> <STRONG>Description</STRONG>
+ <B>Function</B> <B>Description</B>
-------------------------------------------
- tigetflag get boolean entry for given <EM>id</EM>
- tigetnum get numeric entry for given <EM>id</EM>
- tigetstr get string entry for given <EM>id</EM>
+ tigetflag get boolean entry for given <I>id</I>
+ tigetnum get numeric entry for given <I>id</I>
+ tigetstr get string entry for given <I>id</I>
SVr3 also replaced several of the SVr2 terminfo functions which had no
counterpart in the termcap interface, documenting them as obsolete:
- <STRONG>Function</STRONG> <STRONG>Replaced</STRONG> <STRONG>by</STRONG>
+ <B>Function</B> <B>Replaced</B> <B>by</B>
-----------------------------
crmode cbreak
fixterm reset_prog_mode
saveterm def_prog_mode
setterm setupterm
- SVr3 kept the <STRONG>mvcur</STRONG>, <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> functions, along with <STRONG>putp</STRONG>,
- <STRONG>tparm</STRONG> and <STRONG>tputs</STRONG>. The latter were needed to support padding, and han-
- dling functions such as <STRONG>vidattr</STRONG> (which used more than the two parame-
- ters supported by <STRONG>tgoto</STRONG>).
+ SVr3 kept the <B>mvcur</B>, <B>vidattr</B> and <B>vidputs</B> functions, along with <B>putp</B>,
+ <B>tparm</B> and <B>tputs</B>. The latter were needed to support padding, and han-
+ dling functions such as <B>vidattr</B> (which used more than the two parame-
+ ters supported by <B>tgoto</B>).
SVr3 introduced the functions for switching between terminal descrip-
- tions, e.g., <STRONG>set_curterm</STRONG>. The various global variables such as <STRONG>bool-</STRONG>
- <STRONG>names</STRONG> were mentioned in the programming manual at this point.
+ tions, e.g., <B>set_curterm</B>. The various global variables such as <B>bool-</B>
+ <B>names</B> were mentioned in the programming manual at this point.
- SVr4 added the <STRONG>vid_attr</STRONG> and <STRONG>vid_puts</STRONG> functions.
+ SVr4 added the <B>vid_attr</B> and <B>vid_puts</B> functions.
There are other low-level functions declared in the curses header files
on Unix systems, but none were documented. The functions marked "obso-
- lete" remained in use by the Unix <STRONG>vi</STRONG> editor.
+ lete" remained in use by the Unix <B>vi</B> editor.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-Legacy-functions">Legacy functions</a></H3><PRE>
- X/Open notes that <STRONG>vidattr</STRONG> and <STRONG>vidputs</STRONG> may be macros.
+ X/Open notes that <B>vidattr</B> and <B>vidputs</B> may be macros.
- The function <STRONG>setterm</STRONG> is not described by X/Open and must be considered
+ The function <B>setterm</B> is not described by X/Open and must be considered
non-portable. All other functions are as described by X/Open.
</PRE><H3><a name="h3-Legacy-data">Legacy data</a></H3><PRE>
- <STRONG>setupterm</STRONG> copies the terminal name to the array <STRONG>ttytype</STRONG>. This is not
+ <B>setupterm</B> copies the terminal name to the array <B>ttytype</B>. This is not
part of X/Open Curses, but is assumed by some applications.
Other implementions may not declare the capability name arrays. Some
provide them without declaring them. X/Open does not specify them.
- Extended terminal capability names, e.g., as defined by <STRONG>tic</STRONG> <STRONG>-x</STRONG>, are not
+ Extended terminal capability names, e.g., as defined by <B>tic</B> <B>-x</B>, are not
stored in the arrays described here.
</PRE><H3><a name="h3-Output-buffering">Output buffering</a></H3><PRE>
- Older versions of <STRONG>ncurses</STRONG> assumed that the file descriptor passed to
- <STRONG>setupterm</STRONG> from <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> uses buffered I/O, and would write to
+ Older versions of <B>ncurses</B> assumed that the file descriptor passed to
+ <B>setupterm</B> from <B>initscr</B> or <B>newterm</B> uses buffered I/O, and would write to
the corresponding stream. In addition to the limitation that the ter-
minal was left in block-buffered mode on exit (like System V curses),
- it was problematic because <STRONG>ncurses</STRONG> did not allow a reliable way to
+ it was problematic because <B>ncurses</B> did not allow a reliable way to
cleanup on receiving SIGTSTP.
The current version (ncurses6) uses output buffers managed directly by
- <STRONG>ncurses</STRONG>. Some of the low-level functions described in this manual page
+ <B>ncurses</B>. Some of the low-level functions described in this manual page
write to the standard output. They are not signal-safe. The high-lev-
- el functions in <STRONG>ncurses</STRONG> use alternate versions of these functions using
+ el functions in <B>ncurses</B> use alternate versions of these functions using
the more reliable buffering scheme.
rations, which were defined at the same time the C language was first
standardized in the late 1980s.
- <STRONG>o</STRONG> X/Open Curses uses <STRONG>const</STRONG> less effectively than a later design
+ <B>o</B> X/Open Curses uses <B>const</B> less effectively than a later design
might, in some cases applying it needlessly to values are already
constant, and in most cases overlooking parameters which normally
- would use <STRONG>const</STRONG>. Using constant parameters for functions which do
- not use <STRONG>const</STRONG> may prevent the program from compiling. On the other
- hand, <EM>writable</EM> <EM>strings</EM> are an obsolescent feature.
+ would use <B>const</B>. Using constant parameters for functions which do
+ not use <B>const</B> may prevent the program from compiling. On the other
+ hand, <I>writable</I> <I>strings</I> are an obsolescent feature.
As an extension, this implementation can be configured to change
- the function prototypes to use the <STRONG>const</STRONG> keyword. The ncurses ABI
+ the function prototypes to use the <B>const</B> keyword. The ncurses ABI
6 enables this feature by default.
- <STRONG>o</STRONG> X/Open Curses prototypes <STRONG>tparm</STRONG> with a fixed number of parameters,
+ <B>o</B> X/Open Curses prototypes <B>tparm</B> with a fixed number of parameters,
rather than a variable argument list.
This implementation uses a variable argument list, but can be con-
this purpose.
In response to review comments by Thomas E. Dickey, X/Open Curses
- Issue 7 proposed the <STRONG>tiparm</STRONG> function in mid-2009.
+ Issue 7 proposed the <B>tiparm</B> function in mid-2009.
</PRE><H3><a name="h3-Special-TERM-treatment">Special TERM treatment</a></H3><PRE>
If configured to use the terminal-driver, e.g., for the MinGW port,
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> interprets a missing/empty TERM variable as the special
+ <B>o</B> <B>setupterm</B> interprets a missing/empty TERM variable as the special
value "unknown".
- <STRONG>o</STRONG> <STRONG>setupterm</STRONG> allows explicit use of the the windows console driver by
+ <B>o</B> <B>setupterm</B> allows explicit use of the the windows console driver by
checking if $TERM is set to "#win32con" or an abbreviation of that
string.
</PRE><H3><a name="h3-Other-portability-issues">Other portability issues</a></H3><PRE>
- In System V Release 4, <STRONG>set_curterm</STRONG> has an <STRONG>int</STRONG> return type and returns
- <STRONG>OK</STRONG> or <STRONG>ERR</STRONG>. We have chosen to implement the X/Open Curses semantics.
+ In System V Release 4, <B>set_curterm</B> has an <B>int</B> return type and returns
+ <B>OK</B> or <B>ERR</B>. We have chosen to implement the X/Open Curses semantics.
- In System V Release 4, the third argument of <STRONG>tputs</STRONG> has the type <STRONG>int</STRONG>
- <STRONG>(*putc)(char)</STRONG>.
+ In System V Release 4, the third argument of <B>tputs</B> has the type <B>int</B>
+ <B>(*putc)(char)</B>.
At least one implementation of X/Open Curses (Solaris) returns a value
- other than <STRONG>OK</STRONG>/<STRONG>ERR</STRONG> from <STRONG>tputs</STRONG>. That returns the length of the string,
+ other than <B>OK</B>/<B>ERR</B> from <B>tputs</B>. That returns the length of the string,
and does no error-checking.
- X/Open notes that after calling <STRONG>mvcur</STRONG>, the curses state may not match
+ X/Open notes that after calling <B>mvcur</B>, the curses state may not match
the actual terminal state, and that an application should touch and re-
- fresh the window before resuming normal curses calls. Both <STRONG>ncurses</STRONG> and
- System V Release 4 curses implement <STRONG>mvcur</STRONG> using the SCREEN data allo-
- cated in either <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>. So though it is documented as a
- terminfo function, <STRONG>mvcur</STRONG> is really a curses function which is not well
+ fresh the window before resuming normal curses calls. Both <B>ncurses</B> and
+ System V Release 4 curses implement <B>mvcur</B> using the SCREEN data allo-
+ cated in either <B>initscr</B> or <B>newterm</B>. So though it is documented as a
+ terminfo function, <B>mvcur</B> is really a curses function which is not well
specified.
- X/Open states that the old location must be given for <STRONG>mvcur</STRONG>. This im-
+ X/Open states that the old location must be given for <B>mvcur</B>. This im-
plementation allows the caller to use -1's for the old ordinates. In
that case, the old location is unknown.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>,
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG>putc(3)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>, <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>,
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>, <B>putc(3)</B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 2008-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_threads 3x</TITLE>
+<TITLE>curs_threads 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_threads 3x</H1>
+<H1 class="no-header">curs_threads 3X</H1>
<PRE>
-<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+<B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B> <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curs_threads</STRONG> - <STRONG>curses</STRONG> thread support
+ <B>curs_threads</B> - <B>curses</B> thread support
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_WINDOW_CB)(WINDOW</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
- <STRONG>typedef</STRONG> <STRONG>int</STRONG> <STRONG>(*NCURSES_SCREEN_CB)(SCREEN</STRONG> <STRONG>*,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
+ <B>typedef</B> <B>int</B> <B>(*NCURSES_WINDOW_CB)(WINDOW</B> <B>*,</B> <B>void</B> <B>*);</B>
+ <B>typedef</B> <B>int</B> <B>(*NCURSES_SCREEN_CB)(SCREEN</B> <B>*,</B> <B>void</B> <B>*);</B>
- <STRONG>int</STRONG> <STRONG>get_escdelay(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_escdelay(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_tabsize(int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
+ <B>int</B> <B>get_escdelay(void);</B>
+ <B>int</B> <B>set_escdelay(int</B> <I>ms</I><B>);</B>
+ <B>int</B> <B>set_tabsize(int</B> <I>cols</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>use_screen(SCREEN</STRONG> <STRONG>*</STRONG><EM>scr</EM><STRONG>,</STRONG> <STRONG>NCURSES_SCREEN_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>use_window(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>NCURSES_WINDOW_CB</STRONG> <EM>func</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>);</STRONG>
+ <B>int</B> <B>use_screen(SCREEN</B> <B>*</B><I>scr</I><B>,</B> <B>NCURSES_SCREEN_CB</B> <I>func</I><B>,</B> <B>void</B> <B>*</B><I>data</I><B>);</B>
+ <B>int</B> <B>use_window(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>NCURSES_WINDOW_CB</B> <I>func</I><B>,</B> <B>void</B> <B>*</B><I>data</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This implementation can be configured to provide rudimentary support
for multi-threaded applications. This makes a different set of li-
- braries, e.g., <EM>libncursest</EM> since the binary interfaces are different.
+ braries, e.g., <I>libncursest</I> since the binary interfaces are different.
Rather than modify the interfaces to pass a thread specifier to each
function, it adds a few functions which can be used in any configura-
tion which hide the mutex's needed to prevent concurrent use of the
global variables when configured for threading.
- In addition to forcing access to members of the <STRONG>WINDOW</STRONG> structure to be
- via functions (see <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>), it makes functions of the common
+ In addition to forcing access to members of the <B>WINDOW</B> structure to be
+ via functions (see <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>), it makes functions of the common
global variables, e.g., COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES,
TABSIZE curscr, newscr and ttytype. Those variables are maintained as
- read-only values, stored in the <STRONG>SCREEN</STRONG> structure.
+ read-only values, stored in the <B>SCREEN</B> structure.
Even this is not enough to make a thread-safe application using curses.
A multi-threaded application would be expected to have threads updating
here address these special situations.
The ESCDELAY and TABSIZE global variables are modified by some applica-
- tions. To modify them in any configuration, use the <STRONG>set_escdelay</STRONG> or
- <STRONG>set_tabsize</STRONG> functions. Other global variables are not modifiable.
+ tions. To modify them in any configuration, use the <B>set_escdelay</B> or
+ <B>set_tabsize</B> functions. Other global variables are not modifiable.
- The <STRONG>get_escdelay</STRONG> function returns the value for ESCDELAY.
+ The <B>get_escdelay</B> function returns the value for ESCDELAY.
- The <STRONG>use_window</STRONG> and <STRONG>use_screen</STRONG> functions provide coarse granularity mu-
- texes for their respective <STRONG>WINDOW</STRONG> and <STRONG>SCREEN</STRONG> parameters, and call a us-
- er-supplied function, passing it a <EM>data</EM> parameter, and returning the
+ The <B>use_window</B> and <B>use_screen</B> functions provide coarse granularity mu-
+ texes for their respective <B>WINDOW</B> and <B>SCREEN</B> parameters, and call a us-
+ er-supplied function, passing it a <I>data</I> parameter, and returning the
value from the user-supplied function to the application.
tered during operation. In addition, they use data which is maintained
within a hierarchy of scopes.
- <STRONG>o</STRONG> global data, e.g., used in the low-level terminfo or termcap in-
+ <B>o</B> global data, e.g., used in the low-level terminfo or termcap in-
terfaces.
- <STRONG>o</STRONG> terminal data, e.g., associated with a call to <EM>set</EM><STRONG>_</STRONG><EM>curterm</EM>. The
+ <B>o</B> terminal data, e.g., associated with a call to <I>set</I><B>_</B><I>curterm</I>. The
terminal data are initialized when screens are created.
- <STRONG>o</STRONG> screen data, e.g., associated with a call to <EM>newterm</EM> or <EM>initscr</EM>.
+ <B>o</B> screen data, e.g., associated with a call to <I>newterm</I> or <I>initscr</I>.
- <STRONG>o</STRONG> window data, e.g., associated with a call to <EM>newwin</EM> or <EM>subwin</EM>.
+ <B>o</B> window data, e.g., associated with a call to <I>newwin</I> or <I>subwin</I>.
Windows are associated with screens. Pads are not necessarily
associated with a particular screen.
Most curses applications operate on one or more windows within a
single screen.
- <STRONG>o</STRONG> reentrant, i.e., it uses only the data passed as parameters.
+ <B>o</B> reentrant, i.e., it uses only the data passed as parameters.
This table lists the scope of data used for each symbol in the ncurses
library when it is configured to support threading:
COLOR_PAIR reentrant
COLOR_PAIRS screen (readonly)
COLS screen (readonly)
- ESCDELAY screen (readonly, see <EM>set</EM><STRONG>_</STRONG><EM>escdelay</EM>)
+ ESCDELAY screen (readonly, see <I>set</I><B>_</B><I>escdelay</I>)
LINES screen (readonly)
PAIR_NUMBER reentrant
PC global
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These functions all return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>, except as noted.
+ These functions all return <B>TRUE</B> or <B>FALSE</B>, except as noted.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp @
+ * @Id: curs_touch.3x,v 1.24 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_touch 3x</TITLE>
+<TITLE>curs_touch 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_touch 3x</H1>
+<H1 class="no-header">curs_touch 3X</H1>
<PRE>
-<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+<B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B> <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>touchwin</STRONG>, <STRONG>touchline</STRONG>, <STRONG>untouchwin</STRONG>, <STRONG>wtouchln</STRONG>, <STRONG>is_linetouched</STRONG>,
- <STRONG>is_wintouched</STRONG> - <STRONG>curses</STRONG> refresh control routines
+ <B>touchwin</B>, <B>touchline</B>, <B>untouchwin</B>, <B>wtouchln</B>, <B>is_linetouched</B>,
+ <B>is_wintouched</B> - <B>curses</B> refresh control routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>touchline(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>start</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count</EM><STRONG>);</STRONG>
+ <B>int</B> <B>touchline(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>start</I><B>,</B> <B>int</B> <I>count</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>touchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>wtouchln(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>changed</EM><STRONG>);</STRONG>
+ <B>int</B> <B>touchwin(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>wtouchln(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>n</I><B>,</B> <B>int</B> <I>changed</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>untouchwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>int</B> <B>untouchwin(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>bool</STRONG> <STRONG>is_linetouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>line</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>is_wintouched(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>is_linetouched(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>line</I><B>);</B>
+ <B>bool</B> <B>is_wintouched(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>touchwin</STRONG> and <STRONG>touchline</STRONG> routines throw away all optimization infor-
+ The <B>touchwin</B> and <B>touchline</B> routines throw away all optimization infor-
mation about which parts of the window have been touched, by pretending
that the entire window has been drawn on. This is sometimes necessary
when using overlapping windows, since a change to one window affects
the other window, but the records of which lines have been changed in
- the other window do not reflect the change. The routine <STRONG>touchline</STRONG> only
- pretends that <EM>count</EM> lines have been changed, beginning with line <EM>start</EM>.
+ the other window do not reflect the change. The routine <B>touchline</B> only
+ pretends that <I>count</I> lines have been changed, beginning with line <I>start</I>.
- The <STRONG>untouchwin</STRONG> routine marks all lines in the window as unchanged since
- the last call to <STRONG>wrefresh</STRONG>.
+ The <B>untouchwin</B> routine marks all lines in the window as unchanged since
+ the last call to <B>wrefresh</B>.
- The <STRONG>wtouchln</STRONG> routine makes <EM>n</EM> lines in the window, starting at line <EM>y</EM>,
- look as if they have (<EM>changed</EM><STRONG>=1</STRONG>) or have not (<EM>changed</EM><STRONG>=0</STRONG>) been changed
- since the last call to <STRONG>wrefresh</STRONG>.
+ The <B>wtouchln</B> routine makes <I>n</I> lines in the window, starting at line <I>y</I>,
+ look as if they have (<I>changed</I><B>=1</B>) or have not (<I>changed</I><B>=0</B>) been changed
+ since the last call to <B>wrefresh</B>.
- The <STRONG>is_linetouched</STRONG> and <STRONG>is_wintouched</STRONG> routines return <STRONG>TRUE</STRONG> if the speci-
- fied line/window was modified since the last call to <STRONG>wrefresh</STRONG>; other-
- wise they return <STRONG>FALSE</STRONG>. In addition, <STRONG>is_linetouched</STRONG> returns <STRONG>ERR</STRONG> if
- <EM>line</EM> is not valid for the given window.
+ The <B>is_linetouched</B> and <B>is_wintouched</B> routines return <B>TRUE</B> if the speci-
+ fied line/window was modified since the last call to <B>wrefresh</B>; other-
+ wise they return <B>FALSE</B>. In addition, <B>is_linetouched</B> returns <B>ERR</B> if
+ <I>line</I> is not valid for the given window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an integer value
- other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted in
+ All routines return the integer <B>ERR</B> upon failure and an integer value
+ other than <B>ERR</B> upon successful completion, unless otherwise noted in
the preceding routine descriptions.
X/Open does not define any error conditions. In this implementation
- <STRONG>is_linetouched</STRONG>
+ <B>is_linetouched</B>
returns an error if the window pointer is null, or if the line
number is outside the window.
- The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
+ The constant <B>ERR</B> is distinct from <B>TRUE</B> and <B>FALSE</B>, which are the
normal return values of this function. Because the function
- returns a <STRONG>bool</STRONG>, returning <STRONG>ERR</STRONG> (which is neither <STRONG>TRUE</STRONG> nor <STRONG>FALSE</STRONG>)
+ returns a <B>bool</B>, returning <B>ERR</B> (which is neither <B>TRUE</B> nor <B>FALSE</B>)
may not be supported by the compiler.
To provide error-checking and also match the X/Open function
- prototype, the <STRONG>ERR</STRONG> is provided by a macro named <STRONG>is_linetouched</STRONG>.
- The actual function returns <STRONG>FALSE</STRONG> when it detects an error.
+ prototype, the <B>ERR</B> is provided by a macro named <B>is_linetouched</B>.
+ The actual function returns <B>FALSE</B> when it detects an error.
- <STRONG>wtouchln</STRONG>
+ <B>wtouchln</B>
returns an error if the window pointer is null, or if the line
number is outside the window.
These functions were introduced by SVr4. The Solaris curses header
file, for instance, defines both an actual function and macro for each.
The macros give the same result as the actual functions. SVr4 curses
- does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
+ does not check the window parameter <I>win</I> to ensure that it is not <B>NULL</B>;
otherwise this implementation behaves the same as SVr4.
The XSI Curses standard, Issue 4 describes these functions, but defines
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- All of these routines except <STRONG>wtouchln</STRONG> may be macros.
+ All of these routines except <B>wtouchln</B> may be macros.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>.
- <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2000-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_trace 3x</TITLE>
+<TITLE>curs_trace 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_trace 3x</H1>
+<H1 class="no-header">curs_trace 3X</H1>
<PRE>
-<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+<B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B> <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>curses_trace</STRONG>, <STRONG>trace</STRONG>, <STRONG>_tracef</STRONG>, <STRONG>_traceattr</STRONG>, <STRONG>_traceattr2</STRONG>, <STRONG>_tracecchar_t</STRONG>,
- <STRONG>_tracecchar_t2</STRONG>, <STRONG>_tracechar</STRONG>, <STRONG>_tracechtype</STRONG>, <STRONG>_tracechtype2</STRONG>, <STRONG>_nc_tracebits</STRONG>,
- <STRONG>_tracedump</STRONG>, <STRONG>_tracemouse</STRONG> - <STRONG>curses</STRONG> debugging routines
+ <B>curses_trace</B>, <B>trace</B>, <B>_tracef</B>, <B>_traceattr</B>, <B>_traceattr2</B>, <B>_tracecchar_t</B>,
+ <B>_tracecchar_t2</B>, <B>_tracechar</B>, <B>_tracechtype</B>, <B>_tracechtype2</B>, <B>_nc_tracebits</B>,
+ <B>_tracedump</B>, <B>_tracemouse</B> - <B>curses</B> debugging routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <B>unsigned</B> <B>curses_trace(const</B> <B>unsigned</B> <I>param</I><B>);</B>
- <STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <B>void</B> <B>_tracef(const</B> <B>char</B> <B>*</B><I>format</I><B>,</B> <B>...);</B>
- <STRONG>char</STRONG> <STRONG>*_traceattr(attr_t</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <B>char</B> <B>*_traceattr(attr_t</B> <I>attr</I><B>);</B>
+ <B>char</B> <B>*_traceattr2(int</B> <I>buffer</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
+ <B>char</B> <B>*_tracecchar_t(const</B> <B>cchar_t</B> <B>*</B><I>string</I><B>);</B>
+ <B>char</B> <B>*_tracecchar_t2(int</B> <I>buffer</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>string</I><B>);</B>
+ <B>char</B> <B>*_tracechar(int</B> <I>ch</I><B>);</B>
+ <B>char</B> <B>*_tracechtype(chtype</B> <I>ch</I><B>);</B>
+ <B>char</B> <B>*_tracechtype2(int</B> <I>buffer</I><B>,</B> <B>chtype</B> <I>ch</I><B>);</B>
- <STRONG>void</STRONG> <STRONG>_tracedump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>label</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_nc_tracebits(void);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
+ <B>void</B> <B>_tracedump(const</B> <B>char</B> <B>*</B><I>label</I><B>,</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>char</B> <B>*_nc_tracebits(void);</B>
+ <B>char</B> <B>*_tracemouse(const</B> <B>MEVENT</B> <B>*</B><I>event</I><B>);</B>
/* deprecated */
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <B>void</B> <B>trace(const</B> <B>unsigned</B> <B>int</B> <I>param</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <EM>curses</EM> <EM>trace</EM> routines are used for debugging the ncurses libraries,
+ The <I>curses</I> <I>trace</I> routines are used for debugging the ncurses libraries,
as well as applications which use the ncurses libraries. Some limita-
tions apply:
- <STRONG>o</STRONG> Aside from <STRONG>curses_trace</STRONG>, the other functions are normally available
- only with the debugging library e.g., <EM>libncurses</EM><STRONG>_</STRONG><EM>g.a</EM>.
+ <B>o</B> Aside from <B>curses_trace</B>, the other functions are normally available
+ only with the debugging library e.g., <I>libncurses</I><B>_</B><I>g.a</I>.
All of the trace functions may be compiled into any model (shared,
- static, profile) by defining the symbol <STRONG>TRACE</STRONG>.
+ static, profile) by defining the symbol <B>TRACE</B>.
- <STRONG>o</STRONG> Additionally, the functions which use <STRONG>cchar_t</STRONG> are only available
+ <B>o</B> Additionally, the functions which use <B>cchar_t</B> are only available
with the wide-character configuration of the libraries.
</PRE><H3><a name="h3-Functions">Functions</a></H3><PRE>
The principal parts of this interface are
- <STRONG>o</STRONG> <STRONG>curses_trace</STRONG>, which selectively enables different tracing features,
+ <B>o</B> <B>curses_trace</B>, which selectively enables different tracing features,
and
- <STRONG>o</STRONG> <STRONG>_tracef</STRONG>, which writes formatted data to the <EM>trace</EM> file.
+ <B>o</B> <B>_tracef</B>, which writes formatted data to the <I>trace</I> file.
The other functions either return a pointer to a string-area (allo-
cated by the corresponding function), or return no value (such as
- <STRONG>_tracedump</STRONG>, which implements the screen dump for <STRONG>TRACE_UPDATE</STRONG>).
+ <B>_tracedump</B>, which implements the screen dump for <B>TRACE_UPDATE</B>).
The caller should not free these strings, since the allocation is
reused on successive calls. To work around the problem of a single
string-area per function, some use a buffer-number parameter,
telling the library to allocate additional string-areas.
- The <STRONG>curses_trace</STRONG> function is always available, whether or not the other
+ The <B>curses_trace</B> function is always available, whether or not the other
trace functions are available:
- <STRONG>o</STRONG> If tracing is available, calling <STRONG>curses_trace</STRONG> with a nonzero param-
+ <B>o</B> If tracing is available, calling <B>curses_trace</B> with a nonzero param-
eter updates the trace mask, and returns the previous trace mask.
When the trace mask is nonzero, ncurses creates the file "trace" in
the current directory for output. If the file already exists, no
tracing is done.
- <STRONG>o</STRONG> If tracing is not available, <STRONG>curses_trace</STRONG> returns zero (0).
+ <B>o</B> If tracing is not available, <B>curses_trace</B> returns zero (0).
</PRE><H3><a name="h3-Trace-Parameter">Trace Parameter</a></H3><PRE>
The trace parameter is formed by OR'ing values from the list of
- <STRONG>TRACE_</STRONG><EM>xxx</EM> definitions in <STRONG><curses.h></STRONG>. These include:
+ <B>TRACE_</B><I>xxx</I> definitions in <B><curses.h></B>. These include:
- <STRONG>TRACE_DISABLE</STRONG>
+ <B>TRACE_DISABLE</B>
turn off tracing by passing a zero parameter.
The library flushes the output file, but retains an open file-de-
scriptor to the trace file so that it can resume tracing later if
- a nonzero parameter is passed to the <STRONG>curses_trace</STRONG> function.
+ a nonzero parameter is passed to the <B>curses_trace</B> function.
- <STRONG>TRACE_TIMES</STRONG>
+ <B>TRACE_TIMES</B>
trace user and system times of updates.
- <STRONG>TRACE_TPUTS</STRONG>
- trace <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> calls.
+ <B>TRACE_TPUTS</B>
+ trace <B><A HREF="curs_terminfo.3X.html">tputs(3X)</A></B> calls.
- <STRONG>TRACE_UPDATE</STRONG>
+ <B>TRACE_UPDATE</B>
trace update actions, old & new screens.
- <STRONG>TRACE_MOVE</STRONG>
+ <B>TRACE_MOVE</B>
trace cursor movement and scrolling.
- <STRONG>TRACE_CHARPUT</STRONG>
+ <B>TRACE_CHARPUT</B>
trace all character outputs.
- <STRONG>TRACE_ORDINARY</STRONG>
+ <B>TRACE_ORDINARY</B>
trace all update actions. The old and new screen contents are
written to the trace file for each refresh.
- <STRONG>TRACE_CALLS</STRONG>
+ <B>TRACE_CALLS</B>
trace all curses calls. The parameters for each call are traced,
as well as return values.
- <STRONG>TRACE_VIRTPUT</STRONG>
- trace virtual character puts, i.e., calls to <STRONG>addch</STRONG>.
+ <B>TRACE_VIRTPUT</B>
+ trace virtual character puts, i.e., calls to <B>addch</B>.
- <STRONG>TRACE_IEVENT</STRONG>
+ <B>TRACE_IEVENT</B>
trace low-level input processing, including timeouts.
- <STRONG>TRACE_BITS</STRONG>
+ <B>TRACE_BITS</B>
trace state of TTY control bits.
- <STRONG>TRACE_ICALLS</STRONG>
+ <B>TRACE_ICALLS</B>
trace internal/nested calls.
- <STRONG>TRACE_CCALLS</STRONG>
+ <B>TRACE_CCALLS</B>
trace per-character calls.
- <STRONG>TRACE_DATABASE</STRONG>
+ <B>TRACE_DATABASE</B>
trace read/write of terminfo/termcap data.
- <STRONG>TRACE_ATTRS</STRONG>
+ <B>TRACE_ATTRS</B>
trace changes to video attributes and colors.
- <STRONG>TRACE_MAXIMUM</STRONG>
+ <B>TRACE_MAXIMUM</B>
maximum trace level, enables all of the separate trace features.
- Some tracing features are enabled whenever the <STRONG>curses_trace</STRONG> parameter
+ Some tracing features are enabled whenever the <B>curses_trace</B> parameter
is nonzero. Some features overlap. The specific names are used as a
guideline.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
- These functions check the <STRONG>NCURSES_TRACE</STRONG> environment variable, to set
- the tracing feature as if <STRONG>curses_trace</STRONG> was called:
+ These functions check the <B>NCURSES_TRACE</B> environment variable, to set
+ the tracing feature as if <B>curses_trace</B> was called:
filter, initscr, new_prescr, newterm, nofilter, restartterm,
ripoffline, setupterm, slk_init, tgetent, use_env,
</PRE><H3><a name="h3-Command-line-Utilities">Command-line Utilities</a></H3><PRE>
- The command-line utilities such as <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> provide a verbose option
- which extends the set of messages written using the <STRONG>curses_trace</STRONG> func-
- tion. Both of these (<STRONG>-v</STRONG> and <STRONG>curses_trace</STRONG>) use the same variable
- (<STRONG>_nc_tracing</STRONG>), which determines the messages which are written.
+ The command-line utilities such as <B><A HREF="tic.1M.html">tic(1)</A></B> provide a verbose option
+ which extends the set of messages written using the <B>curses_trace</B> func-
+ tion. Both of these (<B>-v</B> and <B>curses_trace</B>) use the same variable
+ (<B>_nc_tracing</B>), which determines the messages which are written.
Because the command-line utilities may call initialization functions
- such as <STRONG>setupterm</STRONG>, <STRONG>tgetent</STRONG> or <STRONG>use_extended_names</STRONG>, some of their debug-
- ging output may be directed to the <EM>trace</EM> file if the <STRONG>NCURSES_TRACE</STRONG> en-
+ such as <B>setupterm</B>, <B>tgetent</B> or <B>use_extended_names</B>, some of their debug-
+ ging output may be directed to the <I>trace</I> file if the <B>NCURSES_TRACE</B> en-
vironment variable is set:
- <STRONG>o</STRONG> messages produced in the utility are written to the standard error.
+ <B>o</B> messages produced in the utility are written to the standard error.
- <STRONG>o</STRONG> messages produced by the underlying library are written to <EM>trace</EM>.
+ <B>o</B> messages produced by the underlying library are written to <I>trace</I>.
If ncurses is built without tracing, none of the latter are produced,
and fewer diagnostics are provided by the command-line utilities.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
Routines which return a value are designed to be used as parameters to
- the <STRONG>_tracef</STRONG> routine.
+ the <B>_tracef</B> routine.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
implementations are known to have similar features, but they are not
compatible with ncurses:
- <STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
+ <B>o</B> SVr4 provided <B>traceon</B> and <B>traceoff</B>, to control whether debugging
information was written to the "trace" file. While the functions
- were always available, this feature was only enabled if <STRONG>DEBUG</STRONG> was
+ were always available, this feature was only enabled if <B>DEBUG</B> was
defined when building the library.
The SVr4 tracing feature is undocumented.
- <STRONG>o</STRONG> PDCurses provides <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, which (like SVr4) are al-
+ <B>o</B> PDCurses provides <B>traceon</B> and <B>traceoff</B>, which (like SVr4) are al-
ways available, and enable tracing to the "trace" file only when a
debug-library is built.
does not mention SVr4, but the functions' inclusion in a header
file section labeled "Quasi-standard" hints at the origin.
- <STRONG>o</STRONG> NetBSD does not provide functions for enabling/disabling traces.
- It uses environment variables <STRONG>CURSES_TRACE_MASK</STRONG> and <STRONG>CURS-</STRONG>
- <STRONG>ES_TRACE_FILE</STRONG> to determine what is traced, and where the results
+ <B>o</B> NetBSD does not provide functions for enabling/disabling traces.
+ It uses environment variables <B>CURSES_TRACE_MASK</B> and <B>CURS-</B>
+ <B>ES_TRACE_FILE</B> to determine what is traced, and where the results
are written. This is available only when a debug-library is built.
The NetBSD tracing feature is undocumented.
_nc_tracebits, _tracedump, _tracemouse
- The original <STRONG>trace</STRONG> routine was deprecated because it often conflicted
+ The original <B>trace</B> routine was deprecated because it often conflicted
with application names.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>.
- <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_util 3x</TITLE>
+<TITLE>curs_util 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_util 3x</H1>
+<H1 class="no-header">curs_util 3X</H1>
<PRE>
-<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+<B><A HREF="curs_util.3X.html">curs_util(3X)</A></B> <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delay_output</STRONG>, <STRONG>filter</STRONG>, <STRONG>flushinp</STRONG>, <STRONG>getwin</STRONG>, <STRONG>key_name</STRONG>, <STRONG>keyname</STRONG>, <STRONG>nofilter</STRONG>,
- <STRONG>putwin</STRONG>, <STRONG>unctrl</STRONG>, <STRONG>use_env</STRONG>, <STRONG>use_tioctl</STRONG>, <STRONG>wunctrl</STRONG> - miscellaneous <STRONG>curses</STRONG>
+ <B>delay_output</B>, <B>filter</B>, <B>flushinp</B>, <B>getwin</B>, <B>key_name</B>, <B>keyname</B>, <B>nofilter</B>,
+ <B>putwin</B>, <B>unctrl</B>, <B>use_env</B>, <B>use_tioctl</B>, <B>wunctrl</B> - miscellaneous <B>curses</B>
utility routines
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*unctrl(chtype</B> <I>c</I><B>);</B>
+ <B>wchar_t</B> <B>*wunctrl(cchar_t</B> <B>*</B><I>c</I><B>);</B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*keyname(int</B> <I>c</I><B>);</B>
+ <B>const</B> <B>char</B> <B>*key_name(wchar_t</B> <I>w</I><B>);</B>
- <STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
- <STRONG>void</STRONG> <STRONG>nofilter(void);</STRONG>
+ <B>void</B> <B>filter(void);</B>
+ <B>void</B> <B>nofilter(void);</B>
- <STRONG>void</STRONG> <STRONG>use_env(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>use_tioctl(bool</STRONG> <EM>f</EM><STRONG>);</STRONG>
+ <B>void</B> <B>use_env(bool</B> <I>f</I><B>);</B>
+ <B>void</B> <B>use_tioctl(bool</B> <I>f</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>putwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*getwin(FILE</STRONG> <STRONG>*</STRONG><EM>filep</EM><STRONG>);</STRONG>
+ <B>int</B> <B>putwin(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>FILE</B> <B>*</B><I>filep</I><B>);</B>
+ <B>WINDOW</B> <B>*getwin(FILE</B> <B>*</B><I>filep</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>delay_output(int</STRONG> <EM>ms</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>flushinp(void);</STRONG>
+ <B>int</B> <B>delay_output(int</B> <I>ms</I><B>);</B>
+ <B>int</B> <B>flushinp(void);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
- The <STRONG>unctrl</STRONG> routine returns a character string which is a printable rep-
- resentation of the character <EM>c</EM>, ignoring attributes. Control charac-
- ters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation. Printing characters are dis-
- played as is. The corresponding <STRONG>wunctrl</STRONG> returns a printable represen-
+ The <B>unctrl</B> routine returns a character string which is a printable rep-
+ resentation of the character <I>c</I>, ignoring attributes. Control charac-
+ ters are displayed in the <B>^</B><I>X</I> notation. Printing characters are dis-
+ played as is. The corresponding <B>wunctrl</B> returns a printable represen-
tation of a wide character.
</PRE><H3><a name="h3-keyname_key_name">keyname/key_name</a></H3><PRE>
- The <STRONG>keyname</STRONG> routine returns a character string corresponding to the key
- <EM>c</EM>:
+ The <B>keyname</B> routine returns a character string corresponding to the key
+ <I>c</I>:
- <STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-char-
+ <B>o</B> Printable characters are displayed as themselves, e.g., a one-char-
acter string containing the key.
- <STRONG>o</STRONG> Control characters are displayed in the <STRONG>^</STRONG><EM>X</EM> notation.
+ <B>o</B> Control characters are displayed in the <B>^</B><I>X</I> notation.
- <STRONG>o</STRONG> DEL (character 127) is displayed as <STRONG>^?</STRONG>.
+ <B>o</B> DEL (character 127) is displayed as <B>^?</B>.
- <STRONG>o</STRONG> Values above 128 are either meta characters (if the screen has not
- been initialized, or if <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> has been called with a <STRONG>TRUE</STRONG> param-
- eter), shown in the <STRONG>M-</STRONG><EM>X</EM> notation, or are displayed as themselves.
+ <B>o</B> Values above 128 are either meta characters (if the screen has not
+ been initialized, or if <B><A HREF="curs_inopts.3X.html">meta(3X)</A></B> has been called with a <B>TRUE</B> param-
+ eter), shown in the <B>M-</B><I>X</I> notation, or are displayed as themselves.
In the latter case, the values may not be printable; this follows
the X/Open specification.
- <STRONG>o</STRONG> Values above 256 may be the names of the names of function keys.
+ <B>o</B> Values above 256 may be the names of the names of function keys.
- <STRONG>o</STRONG> Otherwise (if there is no corresponding name) the function returns
+ <B>o</B> Otherwise (if there is no corresponding name) the function returns
null, to denote an error. X/Open also lists an "UNKNOWN KEY" re-
turn value, which some implementations return rather than null.
- The corresponding <STRONG>key_name</STRONG> returns a character string corresponding to
- the wide-character value <EM>w</EM>. The two functions do not return the same
+ The corresponding <B>key_name</B> returns a character string corresponding to
+ the wide-character value <I>w</I>. The two functions do not return the same
set of strings; the latter returns null where the former would display
a meta character.
</PRE><H3><a name="h3-filter_nofilter">filter/nofilter</a></H3><PRE>
- The <STRONG>filter</STRONG> routine, if used, must be called before <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG>
- are called. Calling <STRONG>filter</STRONG> causes these changes in initialization:
+ The <B>filter</B> routine, if used, must be called before <B>initscr</B> or <B>newterm</B>
+ are called. Calling <B>filter</B> causes these changes in initialization:
- <STRONG>o</STRONG> <STRONG>LINES</STRONG> is set to 1;
+ <B>o</B> <B>LINES</B> is set to 1;
- <STRONG>o</STRONG> the capabilities <STRONG>clear</STRONG>, <STRONG>cud1</STRONG>, <STRONG>cud</STRONG>, <STRONG>cup</STRONG>, <STRONG>cuu1</STRONG>, <STRONG>cuu</STRONG>, <STRONG>vpa</STRONG> are dis-
+ <B>o</B> the capabilities <B>clear</B>, <B>cud1</B>, <B>cud</B>, <B>cup</B>, <B>cuu1</B>, <B>cuu</B>, <B>vpa</B> are dis-
abled;
- <STRONG>o</STRONG> the capability <STRONG>ed</STRONG> is disabled if <STRONG>bce</STRONG> is set;
+ <B>o</B> the capability <B>ed</B> is disabled if <B>bce</B> is set;
- <STRONG>o</STRONG> and the <STRONG>home</STRONG> string is set to the value of <STRONG>cr</STRONG>.
+ <B>o</B> and the <B>home</B> string is set to the value of <B>cr</B>.
- The <STRONG>nofilter</STRONG> routine cancels the effect of a preceding <STRONG>filter</STRONG> call.
+ The <B>nofilter</B> routine cancels the effect of a preceding <B>filter</B> call.
That allows the caller to initialize a screen on a different device,
- using a different value of <STRONG>$TERM</STRONG>. The limitation arises because the
- <STRONG>filter</STRONG> routine modifies the in-memory copy of the terminal information.
+ using a different value of <B>$TERM</B>. The limitation arises because the
+ <B>filter</B> routine modifies the in-memory copy of the terminal information.
</PRE><H3><a name="h3-use_env">use_env</a></H3><PRE>
- The <STRONG>use_env</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG> are called (because those compute the screen size). It modi-
- fies the way <STRONG>ncurses</STRONG> treats environment variables when determining the
+ The <B>use_env</B> routine, if used, should be called before <B>initscr</B> or
+ <B>newterm</B> are called (because those compute the screen size). It modi-
+ fies the way <B>ncurses</B> treats environment variables when determining the
screen size.
- <STRONG>o</STRONG> Normally <STRONG>ncurses</STRONG> looks first at the terminal database for the
+ <B>o</B> Normally <B>ncurses</B> looks first at the terminal database for the
screen size.
- If <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> for parameter, it stops here un-
- less <STRONG>use_tioctl</STRONG> was also called with <STRONG>TRUE</STRONG> for parameter.
+ If <B>use_env</B> was called with <B>FALSE</B> for parameter, it stops here un-
+ less <B>use_tioctl</B> was also called with <B>TRUE</B> for parameter.
- <STRONG>o</STRONG> Then it asks for the screen size via operating system calls. If
+ <B>o</B> Then it asks for the screen size via operating system calls. If
successful, it overrides the values from the terminal database.
- <STRONG>o</STRONG> Finally (unless <STRONG>use_env</STRONG> was called with <STRONG>FALSE</STRONG> parameter), <STRONG>ncurses</STRONG>
- examines the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables, using a value
+ <B>o</B> Finally (unless <B>use_env</B> was called with <B>FALSE</B> parameter), <B>ncurses</B>
+ examines the <B>LINES</B> or <B>COLUMNS</B> environment variables, using a value
in those to override the results from the operating system or ter-
minal database.
- <STRONG>Ncurses</STRONG> also updates the screen size in response to <STRONG>SIGWINCH</STRONG>, un-
- less overridden by the <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> environment variables,
+ <B>Ncurses</B> also updates the screen size in response to <B>SIGWINCH</B>, un-
+ less overridden by the <B>LINES</B> or <B>COLUMNS</B> environment variables,
</PRE><H3><a name="h3-use_tioctl">use_tioctl</a></H3><PRE>
- The <STRONG>use_tioctl</STRONG> routine, if used, should be called before <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG> are called (because those compute the screen size). After
- <STRONG>use_tioctl</STRONG> is called with <STRONG>TRUE</STRONG> as an argument, <STRONG>ncurses</STRONG> modifies the
+ The <B>use_tioctl</B> routine, if used, should be called before <B>initscr</B> or
+ <B>newterm</B> are called (because those compute the screen size). After
+ <B>use_tioctl</B> is called with <B>TRUE</B> as an argument, <B>ncurses</B> modifies the
last step in its computation of screen size as follows:
- <STRONG>o</STRONG> checks if the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables are set to a
+ <B>o</B> checks if the <B>LINES</B> and <B>COLUMNS</B> environment variables are set to a
number greater than zero.
- <STRONG>o</STRONG> for each, <STRONG>ncurses</STRONG> updates the corresponding environment variable
+ <B>o</B> for each, <B>ncurses</B> updates the corresponding environment variable
with the value that it has obtained via operating system call or
from the terminal database.
- <STRONG>o</STRONG> <STRONG>ncurses</STRONG> re-fetches the value of the environment variables so that
+ <B>o</B> <B>ncurses</B> re-fetches the value of the environment variables so that
it is still the environment variables which set the screen size.
- The <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> routines combine as summarized here:
+ The <B>use_env</B> and <B>use_tioctl</B> routines combine as summarized here:
- <EM>use</EM><STRONG>_</STRONG><EM>env</EM> <EM>use</EM><STRONG>_</STRONG><EM>tioctl</EM> <EM>Summary</EM>
+ <I>use</I><B>_</B><I>env</I> <I>use</I><B>_</B><I>tioctl</I> <I>Summary</I>
----------------------------------------------------------------
- TRUE FALSE This is the default behavior. <STRONG>ncurses</STRONG>
+ TRUE FALSE This is the default behavior. <B>ncurses</B>
uses operating system calls unless over-
ridden by $LINES or $COLUMNS environment
variables.
- TRUE TRUE <STRONG>ncurses</STRONG> updates $LINES and $COLUMNS
+ TRUE TRUE <B>ncurses</B> updates $LINES and $COLUMNS
based on operating system calls.
- FALSE TRUE <STRONG>ncurses</STRONG> ignores $LINES and $COLUMNS, us-
+ FALSE TRUE <B>ncurses</B> ignores $LINES and $COLUMNS, us-
es operating system calls to obtain
size.
- FALSE FALSE <STRONG>ncurses</STRONG> relies on the terminal database
+ FALSE FALSE <B>ncurses</B> relies on the terminal database
to determine size.
</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
- The <STRONG>putwin</STRONG> routine writes all data associated with window (or pad) <EM>win</EM>
- into the file to which <EM>filep</EM> points. This information can be later re-
- trieved using the <STRONG>getwin</STRONG> function.
+ The <B>putwin</B> routine writes all data associated with window (or pad) <I>win</I>
+ into the file to which <I>filep</I> points. This information can be later re-
+ trieved using the <B>getwin</B> function.
- The <STRONG>getwin</STRONG> routine reads window related data stored in the file by
- <STRONG>putwin</STRONG>. The routine then creates and initializes a new window using
+ The <B>getwin</B> routine reads window related data stored in the file by
+ <B>putwin</B>. The routine then creates and initializes a new window using
that data. It returns a pointer to the new window. There are a few
caveats:
- <STRONG>o</STRONG> the data written is a copy of the <STRONG>WINDOW</STRONG> structure, and its associ-
+ <B>o</B> the data written is a copy of the <B>WINDOW</B> structure, and its associ-
ated character cells. The format differs between the wide-charac-
- ter (<STRONG>ncursesw</STRONG>) and non-wide (<STRONG>ncurses</STRONG>) libraries. You can transfer
+ ter (<B>ncursesw</B>) and non-wide (<B>ncurses</B>) libraries. You can transfer
data between the two, however.
- <STRONG>o</STRONG> the retrieved window is always created as a top-level window (or
+ <B>o</B> the retrieved window is always created as a top-level window (or
pad), rather than a subwindow.
- <STRONG>o</STRONG> the window's character cells contain the color pair <EM>value</EM>, but not
- the actual color <EM>numbers</EM>. If cells in the retrieved window use
+ <B>o</B> the window's character cells contain the color pair <I>value</I>, but not
+ the actual color <I>numbers</I>. If cells in the retrieved window use
color pairs which have not been created in the application using
- <STRONG>init_pair</STRONG>, they will not be colored when the window is refreshed.
+ <B>init_pair</B>, they will not be colored when the window is refreshed.
</PRE><H3><a name="h3-delay_output">delay_output</a></H3><PRE>
- The <STRONG>delay_output</STRONG> routine inserts an <EM>ms</EM> millisecond pause in output.
+ The <B>delay_output</B> routine inserts an <I>ms</I> millisecond pause in output.
This routine should not be used extensively because padding characters
are used rather than a CPU pause. If no padding character is speci-
- fied, this uses <STRONG>napms</STRONG> to perform the delay.
+ fied, this uses <B>napms</B> to perform the delay.
</PRE><H3><a name="h3-flushinp">flushinp</a></H3><PRE>
- The <STRONG>flushinp</STRONG> routine throws away any typeahead that has been typed by
+ The <B>flushinp</B> routine throws away any typeahead that has been typed by
the user and has not yet been read by the program.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>flushinp</STRONG>, routines that return an integer return <STRONG>ERR</STRONG> upon
- failure and <STRONG>OK</STRONG> (SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>")
+ Except for <B>flushinp</B>, routines that return an integer return <B>ERR</B> upon
+ failure and <B>OK</B> (SVr4 specifies only "an integer value other than <B>ERR</B>")
upon successful completion.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers return <B>NULL</B> on error.
X/Open does not define any error conditions. In this implementation
- <STRONG>flushinp</STRONG>
+ <B>flushinp</B>
returns an error if the terminal was not initialized.
- <STRONG>putwin</STRONG>
- returns an error if the associated <STRONG>fwrite</STRONG> calls return an er-
+ <B>putwin</B>
+ returns an error if the associated <B>fwrite</B> calls return an er-
ror.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
- The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
+ The SVr4 documentation describes the action of <B>filter</B> only in the
vaguest terms. The description here is adapted from the XSI Curses
- standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+ standard (which erroneously fails to describe the disabling of <B>cuu</B>).
</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
- The <STRONG>keyname</STRONG> function may return the names of user-defined string capa-
- bilities which are defined in the terminfo entry via the <STRONG>-x</STRONG> option of
- <STRONG>tic</STRONG>. This implementation automatically assigns at run-time keycodes to
+ The <B>keyname</B> function may return the names of user-defined string capa-
+ bilities which are defined in the terminfo entry via the <B>-x</B> option of
+ <B>tic</B>. This implementation automatically assigns at run-time keycodes to
user-defined strings which begin with "k". The keycodes start at
KEY_MAX, but are not guaranteed to be the same value for different runs
because user-defined codes are merged from all terminal descriptions
- which have been loaded. The <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function controls
+ which have been loaded. The <B><A HREF="curs_extend.3X.html">use_extended_names(3X)</A></B> function controls
whether this data is loaded when the terminal description is read by
the library.
</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
- The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to <STRONG>ncurses</STRONG>. They
+ The <B>nofilter</B> and <B>use_tioctl</B> routines are specific to <B>ncurses</B>. They
were not supported on Version 7, BSD or System V implementations. It
- is recommended that any code depending on <STRONG>ncurses</STRONG> extensions be condi-
+ is recommended that any code depending on <B>ncurses</B> extensions be condi-
tioned using NCURSES_VERSION.
</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
- The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with portability:
+ The <B>putwin</B> and <B>getwin</B> functions have several issues with portability:
- <STRONG>o</STRONG> The files written and read by these functions use an implementa-
+ <B>o</B> The files written and read by these functions use an implementa-
tion-specific format. Although the format is an obvious target for
standardization, it has been overlooked.
Interestingly enough, according to the copyright dates in Solaris
- source, the functions (along with <STRONG>scr_init</STRONG>, etc.) originated with
+ source, the functions (along with <B>scr_init</B>, etc.) originated with
the University of California, Berkeley (in 1982) and were later (in
1988) incorporated into SVr4. Oddly, there are no such functions
in the 4.3BSD curses sources.
- <STRONG>o</STRONG> Most implementations simply dump the binary <STRONG>WINDOW</STRONG> structure to the
+ <B>o</B> Most implementations simply dump the binary <B>WINDOW</B> structure to the
file. These include SVr4 curses, NetBSD and PDCurses, as well as
- older <STRONG>ncurses</STRONG> versions. This implementation (as well as the X/Open
+ older <B>ncurses</B> versions. This implementation (as well as the X/Open
variant of Solaris curses, dated 1995) uses textual dumps.
The implementations which use binary dumps use block-I/O (the
- <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use textual dumps use
+ <B>fwrite</B> and <B>fread</B> functions). Those that use textual dumps use
buffered-I/O. A few applications may happen to write extra data in
the file using these functions. Doing that can run into problems
mixing block- and buffered-I/O. This implementation reduces the
</PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>
The XSI Curses standard, Issue 4 describes these functions. It states
- that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
+ that <B>unctrl</B> and <B>wunctrl</B> will return a null pointer if unsuccessful, but
does not define any error conditions. This implementation checks for
three cases:
- <STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
+ <B>o</B> the parameter is a 7-bit US-ASCII code. This is the case that
X/Open Curses documented.
- <STRONG>o</STRONG> the parameter is in the range 128-159, i.e., a C1 control code. If
- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> has been called with a <STRONG>2</STRONG> parameter, <STRONG>unctrl</STRONG>
+ <B>o</B> the parameter is in the range 128-159, i.e., a C1 control code. If
+ <B><A HREF="legacy_coding.3X.html">use_legacy_coding(3X)</A></B> has been called with a <B>2</B> parameter, <B>unctrl</B>
returns the parameter, i.e., a one-character string with the param-
eter as the first character. Otherwise, it returns "~@", "~A",
etc., analogous to "^@", "^A", C0 controls.
- X/Open Curses does not document whether <STRONG>unctrl</STRONG> can be called before
+ X/Open Curses does not document whether <B>unctrl</B> can be called before
initializing curses. This implementation permits that, and returns
the "~@", etc., values in that case.
- <STRONG>o</STRONG> parameter values outside the 0 to 255 range. <STRONG>unctrl</STRONG> returns a null
+ <B>o</B> parameter values outside the 0 to 255 range. <B>unctrl</B> returns a null
pointer.
- The strings returned by <STRONG>unctrl</STRONG> in this implementation are determined at
+ The strings returned by <B>unctrl</B> in this implementation are determined at
compile time, showing C1 controls from the upper-128 codes with a "~"
prefix rather than "^". Other implementations have different conven-
tions. For example, they may show both sets of control characters with
"^", and strip the parameter to 7 bits. Or they may ignore C1 controls
and treat all of the upper-128 codes as printable. This implementation
uses 8 bits but does not modify the string to reflect locale. The
- <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG> function allows the caller to change the output
- of <STRONG>unctrl</STRONG>.
+ <B><A HREF="legacy_coding.3X.html">use_legacy_coding(3X)</A></B> function allows the caller to change the output
+ of <B>unctrl</B>.
- Likewise, the <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> function allows the caller to change the output
- of <STRONG>keyname</STRONG>, i.e., it determines whether to use the "M-" prefix for
- "meta" keys (codes in the range 128 to 255). Both <STRONG>use_legacy_cod-</STRONG>
- <STRONG><A HREF="use_legacy_coding.3x.html">ing(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">meta(3x)</A></STRONG> succeed only after curses is initialized. X/Open
+ Likewise, the <B><A HREF="curs_inopts.3X.html">meta(3X)</A></B> function allows the caller to change the output
+ of <B>keyname</B>, i.e., it determines whether to use the "M-" prefix for
+ "meta" keys (codes in the range 128 to 255). Both <B>use_legacy_cod-</B>
+ <B><A HREF="use_legacy_coding.3X.html">ing(3X)</A></B> and <B><A HREF="curs_inopts.3X.html">meta(3X)</A></B> succeed only after curses is initialized. X/Open
Curses does not document the treatment of codes 128 to 159. When
- treating them as "meta" keys (or if <STRONG>keyname</STRONG> is called before initializ-
+ treating them as "meta" keys (or if <B>keyname</B> is called before initializ-
ing curses), this implementation returns strings "M-^@", "M-^A", etc.
- X/Open Curses documents <STRONG>unctrl</STRONG> as declared in <STRONG><unctrl.h></STRONG>, which <STRONG>ncurses</STRONG>
- does. However, <STRONG>ncurses</STRONG>' <STRONG><curses.h></STRONG> includes <STRONG><unctrl.h></STRONG>, matching the
+ X/Open Curses documents <B>unctrl</B> as declared in <B><unctrl.h></B>, which <B>ncurses</B>
+ does. However, <B>ncurses</B>' <B><curses.h></B> includes <B><unctrl.h></B>, matching the
behavior of SVr4 curses. Other implementations may not do that.
</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
- If <STRONG>ncurses</STRONG> is configured to provide the sp-functions extension, the
- state of <STRONG>use_env</STRONG> and <STRONG>use_tioctl</STRONG> may be updated before creating each
- <EM>screen</EM> rather than once only (<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>). This feature of
- <STRONG>use_env</STRONG> is not provided by other implementation of curses.
+ If <B>ncurses</B> is configured to provide the sp-functions extension, the
+ state of <B>use_env</B> and <B>use_tioctl</B> may be updated before creating each
+ <I>screen</I> rather than once only (<B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>). This feature of
+ <B>use_env</B> is not provided by other implementation of curses.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>legacy_cod-</STRONG>
- <STRONG><A HREF="legacy_coding.3x.html">ing(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>, <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>,
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>, <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>legacy_cod-</B>
+ <B><A HREF="legacy_coding.3X.html">ing(3X)</A></B>.
- <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_variables 3x</TITLE>
+<TITLE>curs_variables 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_variables 3x</H1>
+<H1 class="no-header">curs_variables 3X</H1>
<PRE>
-<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+<B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B> <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>COLORS</STRONG>, <STRONG>COLOR_PAIRS</STRONG>, <STRONG>COLS</STRONG>, <STRONG>ESCDELAY</STRONG>, <STRONG>LINES</STRONG>, <STRONG>TABSIZE</STRONG>, <STRONG>curscr</STRONG>, <STRONG>newscr</STRONG>,
- <STRONG>stdscr</STRONG> - <STRONG>curses</STRONG> global variables
+ <B>COLORS</B>, <B>COLOR_PAIRS</B>, <B>COLS</B>, <B>ESCDELAY</B>, <B>LINES</B>, <B>TABSIZE</B>, <B>curscr</B>, <B>newscr</B>,
+ <B>stdscr</B> - <B>curses</B> global variables
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>COLOR_PAIRS;</STRONG>
- <STRONG>int</STRONG> <STRONG>COLORS;</STRONG>
- <STRONG>int</STRONG> <STRONG>COLS;</STRONG>
- <STRONG>int</STRONG> <STRONG>ESCDELAY;</STRONG>
- <STRONG>int</STRONG> <STRONG>LINES;</STRONG>
- <STRONG>int</STRONG> <STRONG>TABSIZE;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>curscr;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>newscr;</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> <STRONG>stdscr;</STRONG>
+ <B>int</B> <B>COLOR_PAIRS;</B>
+ <B>int</B> <B>COLORS;</B>
+ <B>int</B> <B>COLS;</B>
+ <B>int</B> <B>ESCDELAY;</B>
+ <B>int</B> <B>LINES;</B>
+ <B>int</B> <B>TABSIZE;</B>
+ <B>WINDOW</B> <B>*</B> <B>curscr;</B>
+ <B>WINDOW</B> <B>*</B> <B>newscr;</B>
+ <B>WINDOW</B> <B>*</B> <B>stdscr;</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> library. A more
- complete description is given in the <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> manual page.
+ This page summarizes variables provided by the <B>curses</B> library. A more
+ complete description is given in the <B><A HREF="curses.3X.html">curses(3X)</A></B> manual page.
Depending on the configuration, these may be actual variables, or
- macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> and <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>) which provide read-
- only access to <EM>curses</EM>'s state. In either case, applications should
+ macros (see <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B> and <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>) which provide read-
+ only access to <I>curses</I>'s state. In either case, applications should
treat them as read-only to avoid confusing the library.
</PRE><H3><a name="h3-COLOR_PAIRS">COLOR_PAIRS</a></H3><PRE>
After initializing curses, this variable contains the number of color
pairs which the terminal can support. Usually the number of color
- pairs will be the product <STRONG>COLORS</STRONG>*<STRONG>COLORS</STRONG>, however this is not always
+ pairs will be the product <B>COLORS</B>*<B>COLORS</B>, however this is not always
true:
- <STRONG>o</STRONG> a few terminals use HLS colors, which do not follow this rule
+ <B>o</B> a few terminals use HLS colors, which do not follow this rule
- <STRONG>o</STRONG> terminals supporting a large number of colors are limited by the
- number of color pairs that can be represented in a <EM>signed</EM> <EM>short</EM>
+ <B>o</B> terminals supporting a large number of colors are limited by the
+ number of color pairs that can be represented in a <I>signed</I> <I>short</I>
value.
This variable holds the number of milliseconds to wait after reading an
escape character, to distinguish between an individual escape character
entered on the keyboard from escape sequences sent by cursor- and func-
- tion-keys (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>).
+ tion-keys (see <B><A HREF="curses.3X.html">curses(3X)</A></B>).
</PRE><H3><a name="h3-LINES">LINES</a></H3><PRE>
</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
- This variable holds the number of columns used by the <EM>curses</EM> library
+ This variable holds the number of columns used by the <I>curses</I> library
when converting a tab character to spaces as it adds the tab to a win-
- dow (see <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>.
+ dow (see <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>.
</PRE><H3><a name="h3-The-Current-Screen">The Current Screen</a></H3><PRE>
- This implementation of curses uses a special window <STRONG>curscr</STRONG> to record
+ This implementation of curses uses a special window <B>curscr</B> to record
its updates to the terminal screen.
- This is referred to as the "physical screen" in the <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages.
+ This is referred to as the "physical screen" in the <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ and <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B> manual pages.
</PRE><H3><a name="h3-The-New-Screen">The New Screen</a></H3><PRE>
- This implementation of curses uses a special window <STRONG>newscr</STRONG> to hold up-
- dates to the terminal screen before applying them to <STRONG>curscr</STRONG>.
+ This implementation of curses uses a special window <B>newscr</B> to hold up-
+ dates to the terminal screen before applying them to <B>curscr</B>.
- This is referred to as the "virtual screen" in the <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>,
- <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> and <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> manual pages.
+ This is referred to as the "virtual screen" in the <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>,
+ <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B> and <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B> manual pages.
</PRE><H3><a name="h3-The-Standard-Screen">The Standard Screen</a></H3><PRE>
- Upon initializing curses, a default window called <STRONG>stdscr</STRONG>, which is the
+ Upon initializing curses, a default window called <B>stdscr</B>, which is the
size of the terminal screen, is created. Many curses functions use
this window.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The curses library is initialized using either <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>, or
- <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>.
+ The curses library is initialized using either <B><A HREF="curs_initscr.3X.html">initscr(3X)</A></B>, or
+ <B><A HREF="curs_initscr.3X.html">newterm(3X)</A></B>.
- If <STRONG>curses</STRONG> is configured to use separate curses/terminfo libraries, most
+ If <B>curses</B> is configured to use separate curses/terminfo libraries, most
of these variables reside in the curses library.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG>TABSIZE</STRONG> is a feature of SVr4 curses which is not documented by X/Open
+ <B>TABSIZE</B> is a feature of SVr4 curses which is not documented by X/Open
curses.
- <STRONG>o</STRONG> In SVr4 curses, <STRONG>TABSIZE</STRONG> is initially set from the terminal descrip-
- tion's <STRONG>init_tabs</STRONG> capability. After that, it can be altered by the
+ <B>o</B> In SVr4 curses, <B>TABSIZE</B> is initially set from the terminal descrip-
+ tion's <B>init_tabs</B> capability. After that, it can be altered by the
applications using SVr4 curses.
- SVr4 curses uses the current value of <STRONG>TABSIZE</STRONG> to compute the posi-
- tion of tabstops for updating both the virtual screen with <STRONG>add-</STRONG>
- <STRONG><A HREF="addch.3x.html">ch(3x)</A></STRONG> as well as the physical screen with <STRONG><A HREF="curs_terminfo.3x.html">mvcur(3x)</A></STRONG>.
+ SVr4 curses uses the current value of <B>TABSIZE</B> to compute the posi-
+ tion of tabstops for updating both the virtual screen with <B>add-</B>
+ <B><A HREF="addch.3X.html">ch(3X)</A></B> as well as the physical screen with <B><A HREF="curs_terminfo.3X.html">mvcur(3X)</A></B>.
- <STRONG>o</STRONG> This implementation uses the current value of <STRONG>TABSIZE</STRONG> only for up-
- dating the virtual screen. It uses the terminal description's <STRONG>it</STRONG>
- (<STRONG>init_tabs</STRONG>) capability for computing hardware tabs (i.e., tab stops
+ <B>o</B> This implementation uses the current value of <B>TABSIZE</B> only for up-
+ dating the virtual screen. It uses the terminal description's <B>it</B>
+ (<B>init_tabs</B>) capability for computing hardware tabs (i.e., tab stops
on the physical screen).
- <STRONG>o</STRONG> Other implementations differ. For instance, NetBSD curses allows
- <STRONG>TABSIZE</STRONG> to be set through an environment variable. This implemen-
+ <B>o</B> Other implementations differ. For instance, NetBSD curses allows
+ <B>TABSIZE</B> to be set through an environment variable. This implemen-
tation does not.
- NetBSD curses does not support hardware tabs; it uses the <STRONG>init_tabs</STRONG>
- capability and the <STRONG>TABSIZE</STRONG> variable only for updating the virtual
+ NetBSD curses does not support hardware tabs; it uses the <B>init_tabs</B>
+ capability and the <B>TABSIZE</B> variable only for updating the virtual
screen.
- <STRONG>ESCDELAY</STRONG> is an extension in AIX curses:
+ <B>ESCDELAY</B> is an extension in AIX curses:
- <STRONG>o</STRONG> In AIX, the units for <STRONG>ESCDELAY</STRONG> are <EM>fifths</EM> of a millisecond.
+ <B>o</B> In AIX, the units for <B>ESCDELAY</B> are <I>fifths</I> of a millisecond.
- <STRONG>o</STRONG> The default value for AIX's <STRONG>ESCDELAY</STRONG> is 0.1 seconds.
+ <B>o</B> The default value for AIX's <B>ESCDELAY</B> is 0.1 seconds.
- <STRONG>o</STRONG> AIX also enforces a limit of 10,000 seconds for <STRONG>ESCDELAY</STRONG>; this im-
+ <B>o</B> AIX also enforces a limit of 10,000 seconds for <B>ESCDELAY</B>; this im-
plementation currently has no upper limit.
- This implementation has long used <STRONG>ESCDELAY</STRONG> with units of milliseconds,
+ This implementation has long used <B>ESCDELAY</B> with units of milliseconds,
making it impossible to be completely compatible with AIX. Likewise,
most users have either decided to override the value, or rely upon its
default value.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>,
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>, <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>, <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>,
+ <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp @
+ * @Id: curs_window.3x,v 1.23 2021/06/17 21:11:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_window 3x</TITLE>
+<TITLE>curs_window 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">curs_window 3x</H1>
+<H1 class="no-header">curs_window 3X</H1>
<PRE>
-<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+<B><A HREF="curs_window.3X.html">curs_window(3X)</A></B> <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>newwin</STRONG>, <STRONG>delwin</STRONG>, <STRONG>mvwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>dupwin</STRONG>, <STRONG>wsyncup</STRONG>,
- <STRONG>syncok</STRONG>, <STRONG>wcursyncup</STRONG>, <STRONG>wsyncdown</STRONG> - create <STRONG>curses</STRONG> windows
+ <B>newwin</B>, <B>delwin</B>, <B>mvwin</B>, <B>subwin</B>, <B>derwin</B>, <B>mvderwin</B>, <B>dupwin</B>, <B>wsyncup</B>,
+ <B>syncok</B>, <B>wcursyncup</B>, <B>wsyncdown</B> - create <B>curses</B> windows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
-
- <STRONG>WINDOW</STRONG> <STRONG>*newwin(</STRONG>
- <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>delwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*subwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*derwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>orig</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>nlines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ncols</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>begin</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvderwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>par</EM><STRONG>_</STRONG><EM>x</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*dupwin(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>syncok(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wcursyncup(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>wsyncdown(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>#include</B> <B><curses.h></B>
+
+ <B>WINDOW</B> <B>*newwin(</B>
+ <B>int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>,</B>
+ <B>int</B> <I>begin</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>x</I><B>);</B>
+ <B>int</B> <B>delwin(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>mvwin(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>);</B>
+ <B>WINDOW</B> <B>*subwin(WINDOW</B> <B>*</B><I>orig</I><B>,</B>
+ <B>int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>,</B>
+ <B>int</B> <I>begin</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>x</I><B>);</B>
+ <B>WINDOW</B> <B>*derwin(WINDOW</B> <B>*</B><I>orig</I><B>,</B>
+ <B>int</B> <I>nlines</I><B>,</B> <B>int</B> <I>ncols</I><B>,</B>
+ <B>int</B> <I>begin</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>begin</I><B>_</B><I>x</I><B>);</B>
+ <B>int</B> <B>mvderwin(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>par</I><B>_</B><I>y</I><B>,</B> <B>int</B> <I>par</I><B>_</B><I>x</I><B>);</B>
+ <B>WINDOW</B> <B>*dupwin(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>void</B> <B>wsyncup(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>int</B> <B>syncok(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>bool</B> <I>bf</I><B>);</B>
+ <B>void</B> <B>wcursyncup(WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>void</B> <B>wsyncdown(WINDOW</B> <B>*</B><I>win</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-newwin">newwin</a></H3><PRE>
- Calling <STRONG>newwin</STRONG> creates and returns a pointer to a new window with the
+ Calling <B>newwin</B> creates and returns a pointer to a new window with the
given number of lines and columns. The upper left-hand corner of the
window is at
- line <EM>begin</EM>_<EM>y</EM>,
- column <EM>begin</EM>_<EM>x</EM>
+ line <I>begin</I>_<I>y</I>,
+ column <I>begin</I>_<I>x</I>
- If either <EM>nlines</EM> or <EM>ncols</EM> is zero, they default to
- <STRONG>LINES</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>y</EM> and
- <STRONG>COLS</STRONG> <STRONG>-</STRONG> <EM>begin</EM>_<EM>x</EM>.
+ If either <I>nlines</I> or <I>ncols</I> is zero, they default to
+ <B>LINES</B> <B>-</B> <I>begin</I>_<I>y</I> and
+ <B>COLS</B> <B>-</B> <I>begin</I>_<I>x</I>.
- A new full-screen window is created by calling <STRONG>newwin(0,0,0,0)</STRONG>.
+ A new full-screen window is created by calling <B>newwin(0,0,0,0)</B>.
Regardless of the function used for creating a new window (e.g.,
- <STRONG>newwin</STRONG>, <STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>newpad</STRONG>), rather than a duplicate (with <STRONG>dupwin</STRONG>),
+ <B>newwin</B>, <B>subwin</B>, <B>derwin</B>, <B>newpad</B>), rather than a duplicate (with <B>dupwin</B>),
all of the window modes are initialized to the default values. These
functions set window modes after a window is created:
</PRE><H3><a name="h3-delwin">delwin</a></H3><PRE>
- Calling <STRONG>delwin</STRONG> deletes the named window, freeing all memory associated
+ Calling <B>delwin</B> deletes the named window, freeing all memory associated
with it (it does not actually erase the window's screen image). Sub-
windows must be deleted before the main window can be deleted.
</PRE><H3><a name="h3-mvwin">mvwin</a></H3><PRE>
- Calling <STRONG>mvwin</STRONG> moves the window so that the upper left-hand corner is at
- position (<EM>x</EM>, <EM>y</EM>). If the move would cause the window to be off the
+ Calling <B>mvwin</B> moves the window so that the upper left-hand corner is at
+ position (<I>x</I>, <I>y</I>). If the move would cause the window to be off the
screen, it is an error and the window is not moved. Moving subwindows
is allowed, but should be avoided.
</PRE><H3><a name="h3-subwin">subwin</a></H3><PRE>
- Calling <STRONG>subwin</STRONG> creates and returns a pointer to a new window with the
- given number of lines, <EM>nlines</EM>, and columns, <EM>ncols</EM>. The window is at
- position (<EM>begin</EM>_<EM>y</EM>, <EM>begin</EM>_<EM>x</EM>) on the screen. The subwindow shares memory
- with the window <EM>orig</EM>, so that changes made to one window will affect
- both windows. When using this routine, it is necessary to call <STRONG>touch-</STRONG>
- <STRONG>win</STRONG> or <STRONG>touchline</STRONG> on <EM>orig</EM> before calling <STRONG>wrefresh</STRONG> on the subwindow.
+ Calling <B>subwin</B> creates and returns a pointer to a new window with the
+ given number of lines, <I>nlines</I>, and columns, <I>ncols</I>. The window is at
+ position (<I>begin</I>_<I>y</I>, <I>begin</I>_<I>x</I>) on the screen. The subwindow shares memory
+ with the window <I>orig</I>, so that changes made to one window will affect
+ both windows. When using this routine, it is necessary to call <B>touch-</B>
+ <B>win</B> or <B>touchline</B> on <I>orig</I> before calling <B>wrefresh</B> on the subwindow.
</PRE><H3><a name="h3-derwin">derwin</a></H3><PRE>
- Calling <STRONG>derwin</STRONG> is the same as calling <STRONG>subwin,</STRONG> except that <EM>begin</EM>_<EM>y</EM> and
- <EM>begin</EM>_<EM>x</EM> are relative to the origin of the window <EM>orig</EM> rather than the
+ Calling <B>derwin</B> is the same as calling <B>subwin,</B> except that <I>begin</I>_<I>y</I> and
+ <I>begin</I>_<I>x</I> are relative to the origin of the window <I>orig</I> rather than the
screen. There is no difference between the subwindows and the derived
windows.
- Calling <STRONG>mvderwin</STRONG> moves a derived window (or subwindow) inside its par-
+ Calling <B>mvderwin</B> moves a derived window (or subwindow) inside its par-
ent window. The screen-relative parameters of the window are not
changed. This routine is used to display different parts of the parent
window at the same physical position on the screen.
</PRE><H3><a name="h3-dupwin">dupwin</a></H3><PRE>
- Calling <STRONG>dupwin</STRONG> creates an exact duplicate of the window <EM>win</EM>.
+ Calling <B>dupwin</B> creates an exact duplicate of the window <I>win</I>.
</PRE><H3><a name="h3-wsyncup">wsyncup</a></H3><PRE>
- Calling <STRONG>wsyncup</STRONG> touches all locations in ancestors of <EM>win</EM> that are
- changed in <EM>win</EM>. If <STRONG>syncok</STRONG> is called with second argument <STRONG>TRUE</STRONG> then
- <STRONG>wsyncup</STRONG> is called automatically whenever there is a change in the win-
+ Calling <B>wsyncup</B> touches all locations in ancestors of <I>win</I> that are
+ changed in <I>win</I>. If <B>syncok</B> is called with second argument <B>TRUE</B> then
+ <B>wsyncup</B> is called automatically whenever there is a change in the win-
dow.
</PRE><H3><a name="h3-wsyncdown">wsyncdown</a></H3><PRE>
- The <STRONG>wsyncdown</STRONG> routine touches each location in <EM>win</EM> that has been
- touched in any of its ancestor windows. This routine is called by <STRONG>wre-</STRONG>
- <STRONG>fresh</STRONG>, so it should almost never be necessary to call it manually.
+ The <B>wsyncdown</B> routine touches each location in <I>win</I> that has been
+ touched in any of its ancestor windows. This routine is called by <B>wre-</B>
+ <B>fresh</B>, so it should almost never be necessary to call it manually.
</PRE><H3><a name="h3-wcursyncup">wcursyncup</a></H3><PRE>
- The routine <STRONG>wcursyncup</STRONG> updates the current cursor position of all the
+ The routine <B>wcursyncup</B> updates the current cursor position of all the
ancestors of the window to reflect the current cursor position of the
window.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return the integer <STRONG>ERR</STRONG> upon failure and
- <STRONG>OK</STRONG> (SVr4 only specifies "an integer value other than <STRONG>ERR</STRONG>") upon suc-
+ Routines that return an integer return the integer <B>ERR</B> upon failure and
+ <B>OK</B> (SVr4 only specifies "an integer value other than <B>ERR</B>") upon suc-
cessful completion.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers return <B>NULL</B> on error.
X/Open defines no error conditions. In this implementation
- <STRONG>delwin</STRONG>
+ <B>delwin</B>
returns an error if the window pointer is null, or if the window
is the parent of another window.
- <STRONG>derwin</STRONG>
+ <B>derwin</B>
returns an error if the parent window pointer is null, or if any
of its ordinates or dimensions is negative, or if the resulting
window does not fit inside the parent window.
- <STRONG>dupwin</STRONG>
+ <B>dupwin</B>
returns an error if the window pointer is null.
This implementation also maintains a list of windows, and checks
- that the pointer passed to <STRONG>delwin</STRONG> is one that it created, return-
+ that the pointer passed to <B>delwin</B> is one that it created, return-
ing an error if it was not..
- <STRONG>mvderwin</STRONG>
+ <B>mvderwin</B>
returns an error if the window pointer is null, or if some part of
the window would be placed off-screen.
- <STRONG>mvwin</STRONG>
+ <B>mvwin</B>
returns an error if the window pointer is null, or if the window
is really a pad, or if some part of the window would be placed
off-screen.
- <STRONG>newwin</STRONG>
+ <B>newwin</B>
will fail if either of its beginning ordinates is negative, or if
either the number of lines or columns is negative.
- <STRONG>syncok</STRONG>
+ <B>syncok</B>
returns an error if the window pointer is null.
- <STRONG>subwin</STRONG>
+ <B>subwin</B>
returns an error if the parent window pointer is null, or if any
of its ordinates or dimensions is negative, or if the resulting
window does not fit inside the parent window.
The functions which return a window pointer may also fail if there is
insufficient memory for its data structures. Any of these functions
- will fail if the screen has not been initialized, i.e., with <STRONG>initscr</STRONG> or
- <STRONG>newterm</STRONG>.
+ will fail if the screen has not been initialized, i.e., with <B>initscr</B> or
+ <B>newterm</B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- If many small changes are made to the window, the <STRONG>wsyncup</STRONG> option could
+ If many small changes are made to the window, the <B>wsyncup</B> option could
degrade performance.
- Note that <STRONG>syncok</STRONG> may be a macro.
+ Note that <B>syncok</B> may be a macro.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- The subwindow functions (<STRONG>subwin</STRONG>, <STRONG>derwin</STRONG>, <STRONG>mvderwin</STRONG>, <STRONG>wsyncup</STRONG>, <STRONG>wsyncdown</STRONG>,
- <STRONG>wcursyncup</STRONG>, <STRONG>syncok</STRONG>) are flaky, incompletely implemented, and not well
+ The subwindow functions (<B>subwin</B>, <B>derwin</B>, <B>mvderwin</B>, <B>wsyncup</B>, <B>wsyncdown</B>,
+ <B>wcursyncup</B>, <B>syncok</B>) are flaky, incompletely implemented, and not well
tested.
- The System V curses documentation is very unclear about what <STRONG>wsyncup</STRONG>
- and <STRONG>wsyncdown</STRONG> actually do. It seems to imply that they are only sup-
+ The System V curses documentation is very unclear about what <B>wsyncup</B>
+ and <B>wsyncdown</B> actually do. It seems to imply that they are only sup-
posed to touch exactly those lines that are affected by ancestor
- changes. The language here, and the behavior of the <STRONG>curses</STRONG> implementa-
+ changes. The language here, and the behavior of the <B>curses</B> implementa-
tion, is patterned on the XPG4 curses standard. The weaker XPG4 spec
may result in slower updates.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
- <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2000-2011,2016 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>default_colors 3x</TITLE>
+<TITLE>default_colors 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">default_colors 3x</H1>
+<H1 class="no-header">default_colors 3X</H1>
<PRE>
-<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+<B><A HREF="default_colors.3X.html">default_colors(3X)</A></B> <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>use_default_colors</STRONG>, <STRONG>assume_default_colors</STRONG> - use terminal's default
+ <B>use_default_colors</B>, <B>assume_default_colors</B> - use terminal's default
colors
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>use_default_colors(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>assume_default_colors(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
+ <B>int</B> <B>use_default_colors(void);</B>
+ <B>int</B> <B>assume_default_colors(int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>use_default_colors</STRONG> and <STRONG>assume_default_colors</STRONG> functions are
+ The <B>use_default_colors</B> and <B>assume_default_colors</B> functions are
extensions to the curses library. They are used with terminals that
support ISO 6429 color, or equivalent. These terminals allow the
application to reset color to an unspecified default value (e.g., with
Applications that paint a colored background over the whole screen do
not take advantage of SGR 39 and SGR 49. Some applications are
designed to work with the default background, using colors only for
- text. For example, there are several implementations of the <STRONG>ls</STRONG> program
+ text. For example, there are several implementations of the <B>ls</B> program
which use colors to denote different file types or permissions. These
"color ls" programs do not necessarily modify the background color,
- typically using only the <STRONG>setaf</STRONG> terminfo capability to set the
+ typically using only the <B>setaf</B> terminfo capability to set the
foreground color. Full-screen applications that use default colors can
achieve similar visual effects.
- The first function, <STRONG>use_default_colors</STRONG> tells the curses library to
+ The first function, <B>use_default_colors</B> tells the curses library to
assign terminal default foreground/background colors to color number
-1. So init_pair(x,COLOR_RED,-1) will initialize pair x as red on
default background and init_pair(x,-1,COLOR_BLUE) will initialize pair
x as default foreground on blue.
- The other, <STRONG>assume_default_colors</STRONG> is a refinement which tells which
+ The other, <B>assume_default_colors</B> is a refinement which tells which
colors to paint for color pair 0. This function recognizes a special
color number -1, which denotes the default terminal color.
The following are equivalent:
- <EM>use</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors();</EM>
- <EM>assume</EM><STRONG>_</STRONG><EM>default</EM><STRONG>_</STRONG><EM>colors(-1,-1);</EM>
+ <I>use</I><B>_</B><I>default</I><B>_</B><I>colors();</I>
+ <I>assume</I><B>_</B><I>default</I><B>_</B><I>colors(-1,-1);</I>
These are ncurses extensions. For other curses implementations, color
number -1 does not mean anything, just as for ncurses before a
- successful call of <STRONG>use_default_colors</STRONG> or <STRONG>assume_default_colors</STRONG>.
+ successful call of <B>use_default_colors</B> or <B>assume_default_colors</B>.
Other curses implementations do not allow an application to modify
color pair 0. They assume that the background is COLOR_BLACK, but do
not ensure that the color pair 0 is painted to match the assumption.
- If your application does not use either <STRONG>use_default_colors</STRONG> or
- <STRONG>assume_default_colors</STRONG> ncurses will paint a white foreground (text) with
+ If your application does not use either <B>use_default_colors</B> or
+ <B>assume_default_colors</B> ncurses will paint a white foreground (text) with
black background for color pair 0.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These functions return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
- They will fail if either the terminal does not support the <STRONG>orig_pair</STRONG> or
- <STRONG>orig_colors</STRONG> capability. If the <STRONG>initialize_pair</STRONG> capability is not
+ These functions return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
+ They will fail if either the terminal does not support the <B>orig_pair</B> or
+ <B>orig_colors</B> capability. If the <B>initialize_pair</B> capability is not
found, this causes an error as well.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Associated with this extension, the <STRONG>init_pair</STRONG> function accepts negative
+ Associated with this extension, the <B>init_pair</B> function accepts negative
arguments to specify default foreground or background colors.
- The <STRONG>use_default_colors</STRONG> function was added to support <EM>ded</EM>. This is a
+ The <B>use_default_colors</B> function was added to support <I>ded</I>. This is a
full-screen application which uses curses to manage only part of the
screen. The bottom portion of the screen, which is of adjustable size,
is left uncolored to display the results from shell commands. The top
similar programs) provides a background color which does not
necessarily correspond to any of the ANSI colors. While a special
terminfo entry could be constructed using nine colors, there was no
- mechanism provided within curses to account for the related <STRONG>orig_pair</STRONG>
- and <STRONG>back_color_erase</STRONG> capabilities.
+ mechanism provided within curses to account for the related <B>orig_pair</B>
+ and <B>back_color_erase</B> capabilities.
- The <STRONG>assume_default_colors</STRONG> function was added to solve a different
+ The <B>assume_default_colors</B> function was added to solve a different
problem: support for applications which would use environment variables
and other configuration to bypass curses' notion of the terminal's
default colors, setting specific values.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG>ded(1)</STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+ <B>ded(1)</B>, <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>define_key 3x</TITLE>
+<TITLE>define_key 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">define_key 3x</H1>
+<H1 class="no-header">define_key 3X</H1>
<PRE>
-<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+<B><A HREF="define_key.3X.html">define_key(3X)</A></B> <B><A HREF="define_key.3X.html">define_key(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>define_key</STRONG> - define a keycode
+ <B>define_key</B> - define a keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>define_key(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>);</STRONG>
+ <B>int</B> <B>define_key(const</B> <B>char</B> <B>*</B><I>definition</I><B>,</B> <B>int</B> <I>keycode</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
The keycode must be greater than zero, and the string non-null,
- otherwise <STRONG>ERR</STRONG> is returned. <STRONG>ERR</STRONG> may also be returned if there is
+ otherwise <B>ERR</B> is returned. <B>ERR</B> may also be returned if there is
insufficient memory to allocate the data to store the definition. If
- no error is detected, <STRONG>OK</STRONG> is returned.
+ no error is detected, <B>OK</B> is returned.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
+ <B><A HREF="keyok.3X.html">keyok(3X)</A></B>, <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ <B><A HREF="define_key.3X.html">define_key(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form 3x</TITLE>
+<TITLE>form 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form 3x</H1>
+<H1 class="no-header">form 3X</H1>
<PRE>
-<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+<B><A HREF="form.3X.html">form(3X)</A></B> <B><A HREF="form.3X.html">form(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form</STRONG> - curses extension for programming forms
+ <B>form</B> - curses extension for programming forms
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>form</STRONG> library provides terminal-independent facilities for composing
+ The <B>form</B> library provides terminal-independent facilities for composing
form screens on character-cell terminals. The library includes: field
routines, which create and modify form fields; and form routines, which
group fields into forms, display forms on the screen, and handle
interaction with the user.
- The <STRONG>form</STRONG> library uses the <STRONG>curses</STRONG> libraries. To use the <STRONG>form</STRONG> library,
- link with the options <STRONG>-lform</STRONG> <STRONG>-lcurses</STRONG>.
+ The <B>form</B> library uses the <B>curses</B> libraries. To use the <B>form</B> library,
+ link with the options <B>-lform</B> <B>-lcurses</B>.
Your program should set up the locale, e.g.,
- <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+ <B>setlocale(LC_ALL,</B> <B>"");</B>
so that input/output processing will work.
- A curses initialization routine such as <STRONG>initscr</STRONG> must be called before
+ A curses initialization routine such as <B>initscr</B> must be called before
using any of these functions.
</PRE><H3><a name="h3-Current-Default-Values-for-Field-Attributes">Current Default Values for Field Attributes</a></H3><PRE>
- The <STRONG>form</STRONG> library maintains a default value for field attributes. You
- can get or set this default by calling the appropriate <STRONG>set_</STRONG> or
- retrieval routine with a <STRONG>NULL</STRONG> field pointer. Changing this default
- with a <STRONG>set_</STRONG> function affects future field creations, but does not
+ The <B>form</B> library maintains a default value for field attributes. You
+ can get or set this default by calling the appropriate <B>set_</B> or
+ retrieval routine with a <B>NULL</B> field pointer. Changing this default
+ with a <B>set_</B> function affects future field creations, but does not
change the rendering of fields already created.
</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
- The following table lists each <STRONG>form</STRONG> routine and the name of the manual
+ The following table lists each <B>form</B> routine and the name of the manual
page on which it is described. Routines flagged with "*" are ncurses-
specific, not present in SVr4.
- <STRONG>curses</STRONG> Routine Name Manual Page Name
+ <B>curses</B> Routine Name Manual Page Name
--------------------------------------------------
- current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- data_ahead <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- data_behind <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
- dup_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- dynamic_field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_arg <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_count <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_index <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- field_info <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
- field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_off <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_opts_on <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-
- form_driver <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
- form_driver_w <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>*
- form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_opts <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_off <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_opts_on <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
- form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- form_request_by_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>*
- form_request_name <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>*
- form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- free_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- free_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- free_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- link_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- link_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- move_field <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- new_field <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
- new_fieldtype <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- new_form <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
- new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- pos_form_cursor <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
- post_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
- scale_form <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_field_back <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_buffer <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_fore <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_just <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
- set_field_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_field_pad <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
- set_field_status <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_field_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_field_type <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
- set_field_userptr <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
- set_fieldtype_arg <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_fieldtype_choice <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
- set_form_fields <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
- set_form_init <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_opts <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
- set_form_page <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
- set_form_sub <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_form_term <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
- set_form_userptr <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
- set_form_win <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
- set_max_field <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
- set_new_page <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
- unfocus_current_field <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>*
- unpost_form <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ current_field <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
+ data_ahead <B><A HREF="form_data.3X.html">form_data(3X)</A></B>
+ data_behind <B><A HREF="form_data.3X.html">form_data(3X)</A></B>
+ dup_field <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
+ dynamic_field_info <B><A HREF="form_field_info.3X.html">form_field_info(3X)</A></B>
+ field_arg <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>
+ field_back <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ field_buffer <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
+ field_count <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
+ field_fore <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ field_index <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
+ field_info <B><A HREF="form_field_info.3X.html">form_field_info(3X)</A></B>
+ field_init <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ field_just <B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B>
+ field_opts <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
+ field_opts_off <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
+ field_opts_on <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
+ field_pad <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ field_status <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
+ field_term <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ field_type <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>
+ field_userptr <B><A HREF="form_field_userptr.3X.html">form_field_userptr(3X)</A></B>
+
+ form_driver <B><A HREF="form_driver.3X.html">form_driver(3X)</A></B>
+ form_driver_w <B><A HREF="form_driver.3X.html">form_driver(3X)</A></B>*
+ form_fields <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
+ form_init <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ form_opts <B><A HREF="form_opts.3X.html">form_opts(3X)</A></B>
+ form_opts_off <B><A HREF="form_opts.3X.html">form_opts(3X)</A></B>
+ form_opts_on <B><A HREF="form_opts.3X.html">form_opts(3X)</A></B>
+ form_page <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
+ form_request_by_name <B><A HREF="form_requestname.3X.html">form_requestname(3X)</A></B>*
+ form_request_name <B><A HREF="form_requestname.3X.html">form_requestname(3X)</A></B>*
+ form_sub <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
+ form_term <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ form_userptr <B><A HREF="form_userptr.3X.html">form_userptr(3X)</A></B>
+ form_win <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
+ free_field <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
+ free_fieldtype <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ free_form <B><A HREF="form_new.3X.html">form_new(3X)</A></B>
+ link_field <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
+ link_fieldtype <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ move_field <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
+ new_field <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
+ new_fieldtype <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ new_form <B><A HREF="form_new.3X.html">form_new(3X)</A></B>
+ new_page <B><A HREF="form_new_page.3X.html">form_new_page(3X)</A></B>
+ pos_form_cursor <B><A HREF="form_cursor.3X.html">form_cursor(3X)</A></B>
+ post_form <B><A HREF="form_post.3X.html">form_post(3X)</A></B>
+ scale_form <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
+ set_current_field <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
+ set_field_back <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ set_field_buffer <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
+ set_field_fore <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ set_field_init <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ set_field_just <B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B>
+ set_field_opts <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
+ set_field_pad <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
+ set_field_status <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
+ set_field_term <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ set_field_type <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>
+ set_field_userptr <B><A HREF="form_field_userptr.3X.html">form_field_userptr(3X)</A></B>
+ set_fieldtype_arg <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ set_fieldtype_choice <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
+ set_form_fields <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
+ set_form_init <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ set_form_opts <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
+ set_form_page <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
+ set_form_sub <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
+ set_form_term <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
+ set_form_userptr <B><A HREF="form_userptr.3X.html">form_userptr(3X)</A></B>
+ set_form_win <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
+ set_max_field <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
+ set_new_page <B><A HREF="form_new_page.3X.html">form_new_page(3X)</A></B>
+ unfocus_current_field <B><A HREF="form_page.3X.html">form_page(3X)</A></B>*
+ unpost_form <B><A HREF="form_post.3X.html">form_post(3X)</A></B>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error, and set <STRONG>errno</STRONG> to
+ Routines that return pointers return <B>NULL</B> on error, and set <B>errno</B> to
the corresponding error-code returned by functions returning an
integer. Routines that return an integer return one of the following
error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
The field is already connected to a form.
- <STRONG>E_INVALID_FIELD</STRONG>
+ <B>E_INVALID_FIELD</B>
Contents of a field are not valid.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No fields are connected to the form.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The form has not been posted.
- <STRONG>E_NO_ROOM</STRONG>
+ <B>E_NO_ROOM</B>
Form is too large for its window.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The form is already posted.
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The form driver could not process the request.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_UNKNOWN_COMMAND</STRONG>
+ <B>E_UNKNOWN_COMMAND</B>
The form driver code saw an unknown request code.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header files
- <STRONG><curses.h></STRONG> and <STRONG><eti.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header files
+ <B><curses.h></B> and <B><eti.h></B>.
In your library list, libform.a should be before libncurses.a; that is,
you want to say "-lform -lncurses", not the other way around (which
These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
- The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
- <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
+ The menu facility was documented in SVr4.2 in <I>Character</I> <I>User</I> <I>Interface</I>
+ <I>Programming</I> <I>(UNIX</I> <I>SVR4.2)</I>.
It is not part of X/Open Curses.
Aside from ncurses, there are few implementations:
- <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <B>o</B> systems based on SVr4 source code, e.g., Solaris.
- <STRONG>o</STRONG> NetBSD curses.
+ <B>o</B> NetBSD curses.
A few functions in this implementation are extensions added for
ncurses, but not provided by other implementations, e.g.,
- <STRONG>form_driver_w</STRONG>, <STRONG>unfocus_current_field</STRONG>.
+ <B>form_driver_w</B>, <B>unfocus_current_field</B>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ <B><A HREF="form.3X.html">form(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_cursor 3x</TITLE>
+<TITLE>form_cursor 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_cursor 3x</H1>
+<H1 class="no-header">form_cursor 3X</H1>
<PRE>
-<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+<B><A HREF="form_cursor.3X.html">form_cursor(3X)</A></B> <B><A HREF="form_cursor.3X.html">form_cursor(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>pos_form_cursor</STRONG> - position a form window cursor
+ <B>pos_form_cursor</B> - position a form window cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>pos_form_cursor(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>pos_form_cursor(FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>pos_form_cursor</STRONG> restores the cursor to the position
+ The function <B>pos_form_cursor</B> restores the cursor to the position
required for the forms driver to continue processing requests. This is
- useful after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+ useful after <B>curses</B> routines have been called to do screen-painting in
response to a form operation.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The form has not been posted.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ <B><A HREF="form_cursor.3X.html">form_cursor(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_data 3x</TITLE>
+<TITLE>form_data 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_data 3x</H1>
+<H1 class="no-header">form_data 3X</H1>
<PRE>
-<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+<B><A HREF="form_data.3X.html">form_data(3X)</A></B> <B><A HREF="form_data.3X.html">form_data(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>data_ahead</STRONG>, <STRONG>data_behind</STRONG> - test for off-screen data in given forms
+ <B>data_ahead</B>, <B>data_behind</B> - test for off-screen data in given forms
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>bool</STRONG> <STRONG>data_ahead(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>data_behind(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>data_ahead(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
+ <B>bool</B> <B>data_behind(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>data_ahead</STRONG> tests whether there is off-screen data ahead in
+ The function <B>data_ahead</B> tests whether there is off-screen data ahead in
the given form. It returns TRUE (1) or FALSE (0).
- The function <STRONG>data_behind</STRONG> tests whether there is off-screen data behind
+ The function <B>data_behind</B> tests whether there is off-screen data behind
in the given form. It returns TRUE (1) or FALSE (0).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ <B><A HREF="form_data.3X.html">form_data(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_driver 3x</TITLE>
+<TITLE>form_driver 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_driver 3x</H1>
+<H1 class="no-header">form_driver 3X</H1>
<PRE>
-<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+<B><A HREF="form_driver.3X.html">form_driver(3X)</A></B> <B><A HREF="form_driver.3X.html">form_driver(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_driver</STRONG>, <STRONG>form_driver_w</STRONG> - command-processing loop of the form system
+ <B>form_driver</B>, <B>form_driver_w</B> - command-processing loop of the form system
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <B>int</B> <B>form_driver(FORM</B> <B>*</B><I>form</I><B>,</B> <B>int</B> <I>c</I><B>);</B>
+ <B>int</B> <B>form_driver_w(FORM</B> <B>*</B><I>form</I><B>,</B> <B>int</B> <I>c</I><B>,</B> <B>wchar_t</B> <I>wch</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-form_driver">form_driver</a></H3><PRE>
Once a form has been posted (displayed), you should funnel input events
- to it through <STRONG>form_driver</STRONG>. This routine has three major input cases:
+ to it through <B>form_driver</B>. This routine has three major input cases:
- <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
- are constants defined in <STRONG><form.h></STRONG>, which are distinct from the key-
- and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+ <B>o</B> The input is a form navigation request. Navigation request codes
+ are constants defined in <B><form.h></B>, which are distinct from the key-
+ and character codes returned by <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B>.
- <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ <B>o</B> The input is a printable character. Printable characters (which
must be positive, less than 256) are checked according to the
program's locale settings.
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ <B>o</B> The input is the KEY_MOUSE special key associated with an mouse
event.
</PRE><H3><a name="h3-form_driver_w">form_driver_w</a></H3><PRE>
This extension simplifies the use of the forms library using wide
characters. The input is either a key code (a request) or a wide
- character returned by <STRONG><A HREF="curs_get_wch.3x.html">get_wch(3x)</A></STRONG>. The type must be passed as well, to
+ character returned by <B><A HREF="curs_get_wch.3X.html">get_wch(3X)</A></B>. The type must be passed as well, to
enable the library to determine whether the parameter is a wide
character or a request.
</PRE><H3><a name="h3-Form-driver-requests">Form-driver requests</a></H3><PRE>
The form driver requests are as follows:
- <EM>Name</EM> <EM>Description</EM>
+ <I>Name</I> <I>Description</I>
---------------------------------------------------------------------
REQ_BEG_FIELD Move to the beginning of the field.
REQ_BEG_LINE Move to the beginning of the line.
The form driver provides low-level control over updates to the form
fields. The form driver also provides for validating modified fields
to ensure that the contents meet whatever constraints an application
- may attach using <STRONG>set_field_type</STRONG>.
+ may attach using <B>set_field_type</B>.
You can validate a field without making any changes to it using
- <STRONG>REQ_VALIDATION</STRONG>. The form driver also validates a field in these cases:
+ <B>REQ_VALIDATION</B>. The form driver also validates a field in these cases:
- <STRONG>o</STRONG> a call to <STRONG>set_current_field</STRONG> attempts to move to a different field.
+ <B>o</B> a call to <B>set_current_field</B> attempts to move to a different field.
- <STRONG>o</STRONG> a call to <STRONG>set_current_page</STRONG> attempts to move to a different page of
+ <B>o</B> a call to <B>set_current_page</B> attempts to move to a different page of
the form.
- <STRONG>o</STRONG> a request attempts to move to a different field.
+ <B>o</B> a request attempts to move to a different field.
- <STRONG>o</STRONG> a request attempts to move to a different page of the form.
+ <B>o</B> a request attempts to move to a different page of the form.
In each case, the move fails if the field is invalid.
If you click at an field inside the display area of the form:
- <STRONG>o</STRONG> the form cursor is positioned to that field.
+ <B>o</B> the form cursor is positioned to that field.
- <STRONG>o</STRONG> If you double-click a field, the form cursor is positioned to
- that field and <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value
+ <B>o</B> If you double-click a field, the form cursor is positioned to
+ that field and <B>E_UNKNOWN_COMMAND</B> is returned. This return value
makes sense, because a double click usually means that an field-
specific action should be returned. It is exactly the purpose
of this return value to signal that an application specific
command should be executed.
- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>form_driver</STRONG> returns
+ <B>o</B> If a translation into a request was done, <B>form_driver</B> returns
the result of this request.
If you clicked outside the user window or the mouse event could not be
- translated into a form request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ translated into a form request an <B>E_REQUEST_DENIED</B> is returned.
</PRE><H3><a name="h3-Application-defined-commands">Application-defined commands</a></H3><PRE>
If the second argument is neither printable nor one of the above pre-
defined form requests, the driver assumes it is an application-specific
- command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>. Application-defined commands
- should be defined relative to <STRONG>MAX_COMMAND</STRONG>, the maximum value of these
+ command and returns <B>E_UNKNOWN_COMMAND</B>. Application-defined commands
+ should be defined relative to <B>MAX_COMMAND</B>, the maximum value of these
pre-defined requests.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>form_driver</STRONG> returns one of the following error codes:
+ <B>form_driver</B> returns one of the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The form has not been posted.
- <STRONG>E_INVALID_FIELD</STRONG>
+ <B>E_INVALID_FIELD</B>
Contents of field is invalid.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No fields are connected to the form.
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The form driver could not process the request.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_UNKNOWN_COMMAND</STRONG>
+ <B>E_UNKNOWN_COMMAND</B>
The form driver code saw an unknown request code.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>,
- <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>, <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>, <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>,
+ <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>, <B><A HREF="form_variables.3X.html">form_variables(3X)</A></B>, <B><A HREF="curs_getch.3X.html">getch(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header files
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header files
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ <B><A HREF="form_driver.3X.html">form_driver(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field 3x</TITLE>
+<TITLE>form_field 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field 3x</H1>
+<H1 class="no-header">form_field 3X</H1>
<PRE>
-<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+<B><A HREF="form_field.3X.html">form_field(3X)</A></B> <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_field</STRONG> - make and break connections between fields and forms
+ <B>form_field</B> - make and break connections between fields and forms
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_form_fields(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
- <STRONG>FIELD</STRONG> <STRONG>**form_fields(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>field_count(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>move_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fcol</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_fields(FORM</B> <B>*</B><I>form</I><B>,</B> <B>FIELD</B> <B>**</B><I>fields</I><B>);</B>
+ <B>FIELD</B> <B>**form_fields(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
+ <B>int</B> <B>field_count(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
+ <B>int</B> <B>move_field(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>frow</I><B>,</B> <B>int</B> <I>fcol</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_form_fields</STRONG> changes the field pointer array of the
- given <EM>form</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
+ The function <B>set_form_fields</B> changes the field pointer array of the
+ given <I>form</I>. The array must be terminated by a <B>NULL</B>.
- The function <STRONG>form_fields</STRONG> returns the field array of the given form.
+ The function <B>form_fields</B> returns the field array of the given form.
- The function <STRONG>field_count</STRONG> returns the count of fields in <EM>form</EM>.
+ The function <B>field_count</B> returns the count of fields in <I>form</I>.
- The function <STRONG>move_field</STRONG> moves the given field (which must be
+ The function <B>move_field</B> moves the given field (which must be
disconnected) to a specified location on the screen.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>form_fields</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set <STRONG>errno</STRONG>.
+ The function <B>form_fields</B> returns a pointer (which may be <B>NULL</B>). It
+ does not set <B>errno</B>.
- The function <STRONG>field_count</STRONG> returns <STRONG>ERR</STRONG> if the <EM>form</EM> parameter is <STRONG>NULL</STRONG>.
+ The function <B>field_count</B> returns <B>ERR</B> if the <I>form</I> parameter is <B>NULL</B>.
- The functions <STRONG>set_form_fields</STRONG> and <STRONG>move_field</STRONG> return one of the
+ The functions <B>set_form_fields</B> and <B>move_field</B> return one of the
following codes on error:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
The field is already connected to a form.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The form is already posted.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
- The SVr4 forms library documentation specifies the <STRONG>field_count</STRONG> error
- value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 forms library documentation specifies the <B>field_count</B> error
+ value as -1 (which is the value of <B>ERR</B>).
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ <B><A HREF="form_field.3X.html">form_field(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_attributes 3x</TITLE>
+<TITLE>form_field_attributes 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_attributes 3x</H1>
+<H1 class="no-header">form_field_attributes 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+<B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B> <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_field_attributes</STRONG> - color and attribute control for form fields
+ <B>form_field_attributes</B> - color and attribute control for form fields
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_fore(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>field_fore(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_fore(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>chtype</B> <I>attr</I><B>);</B>
+ <B>chtype</B> <B>field_fore(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_field_back(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>field_back(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_back(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>chtype</B> <I>attr</I><B>);</B>
+ <B>chtype</B> <B>field_back(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_field_pad(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>field_pad(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_pad(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>pad</I><B>);</B>
+ <B>int</B> <B>field_pad(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_field_fore</STRONG> sets the foreground attribute of <EM>field</EM>.
+ The function <B>set_field_fore</B> sets the foreground attribute of <I>field</I>.
This is the highlight used to display the field contents. The function
- <STRONG>field_fore</STRONG> returns the foreground attribute. The default is
- <STRONG>A_STANDOUT</STRONG>.
+ <B>field_fore</B> returns the foreground attribute. The default is
+ <B>A_STANDOUT</B>.
- The function <STRONG>set_field_back</STRONG> sets the background attribute of <EM>form</EM>. This
+ The function <B>set_field_back</B> sets the background attribute of <I>form</I>. This
is the highlight used to display the extent fields in the form. The
- function <STRONG>field_back</STRONG> returns the background attribute. The default is
- <STRONG>A_NORMAL</STRONG>.
+ function <B>field_back</B> returns the background attribute. The default is
+ <B>A_NORMAL</B>.
- The function <STRONG>set_field_pad</STRONG> sets the character used to fill the field.
- The function <STRONG>field_pad</STRONG> returns the given form's pad character. The
+ The function <B>set_field_pad</B> sets the character used to fill the field.
+ The function <B>field_pad</B> returns the given form's pad character. The
default is a blank.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ <B><A HREF="form_field_attributes.3X.html">form_field_attributes(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_buffer 3x</TITLE>
+<TITLE>form_field_buffer 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_buffer 3x</H1>
+<H1 class="no-header">form_field_buffer 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+<B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B> <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_field_buffer</STRONG> - field buffer control
+ <B>form_field_buffer</B> - field buffer control
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_buffer(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buf</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>value</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*field_buffer(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>buffer</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_buffer(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>buf</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>value</I><B>);</B>
+ <B>char</B> <B>*field_buffer(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>buffer</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_field_status(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>status</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>field_status(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_status(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>bool</B> <I>status</I><B>);</B>
+ <B>bool</B> <B>field_status(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_max_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>max</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_max_field(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>max</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_field_buffer</STRONG> sets the numbered buffer of the given
+ The function <B>set_field_buffer</B> sets the numbered buffer of the given
field to contain a given string:
- <STRONG>o</STRONG> Buffer 0 is the displayed value of the field.
+ <B>o</B> Buffer 0 is the displayed value of the field.
- <STRONG>o</STRONG> Other numbered buffers may be allocated by applications through
- the <STRONG>nbuf</STRONG> argument of (see <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>) but are not
+ <B>o</B> Other numbered buffers may be allocated by applications through
+ the <B>nbuf</B> argument of (see <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>) but are not
manipulated by the forms library.
- The function <STRONG>field_buffer</STRONG> returns a pointer to the contents of the
+ The function <B>field_buffer</B> returns a pointer to the contents of the
given numbered buffer:
- <STRONG>o</STRONG> The buffer contents always have the same length, and are padded
+ <B>o</B> The buffer contents always have the same length, and are padded
with trailing spaces as needed to ensure this length is the
same.
- <STRONG>o</STRONG> The buffer may contain leading spaces, depending on how it was
+ <B>o</B> The buffer may contain leading spaces, depending on how it was
set.
- <STRONG>o</STRONG> The buffer contents are set with <STRONG>set_field_buffer</STRONG>, or as a side
+ <B>o</B> The buffer contents are set with <B>set_field_buffer</B>, or as a side
effect of any editing operations on the corresponding field.
- <STRONG>o</STRONG> Editing operations are based on the <EM>window</EM> which displays the
- field, rather than a <EM>string</EM>. The window contains only printable
+ <B>o</B> Editing operations are based on the <I>window</I> which displays the
+ field, rather than a <I>string</I>. The window contains only printable
characters, and is filled with blanks. If you want the raw
data, you must write your own routine that copies the value out
of the buffer and removes the leading and trailing spaces.
- <STRONG>o</STRONG> Because editing operations change the content of the buffer to
+ <B>o</B> Because editing operations change the content of the buffer to
correspond to the window, you should not rely on using buffers
for long-term storage of form data.
- The function <STRONG>set_field_status</STRONG> sets the associated status flag of <EM>field</EM>;
- <STRONG>field_status</STRONG> gets the current value. The status flag is set to a
+ The function <B>set_field_status</B> sets the associated status flag of <I>field</I>;
+ <B>field_status</B> gets the current value. The status flag is set to a
nonzero value whenever the field changes.
- The function <STRONG>set_max_field</STRONG> sets the maximum size for a dynamic field.
+ The function <B>set_max_field</B> sets the maximum size for a dynamic field.
An argument of 0 turns off any maximum size threshold for that field.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <STRONG>field_buffer</STRONG> function returns NULL on error. It sets <STRONG>errno</STRONG>
+ The <B>field_buffer</B> function returns NULL on error. It sets <B>errno</B>
according to their success:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- The <STRONG>field_status</STRONG> function returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+ The <B>field_status</B> function returns <B>TRUE</B> or <B>FALSE</B>.
The remaining routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
+ The header file <B><form.h></B> automatically includes the header file
- When configured for wide characters, <STRONG>field_buffer</STRONG> returns a pointer to
+ When configured for wide characters, <B>field_buffer</B> returns a pointer to
temporary storage (allocated and freed by the library). The
application should not attempt to modify the data. It will be freed on
- the next call to <STRONG>field_buffer</STRONG> to return the same buffer. <STRONG><curses.h></STRONG>.
+ the next call to <B>field_buffer</B> to return the same buffer. <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
- The <STRONG>set_max_field</STRONG> function checks for an ncurses extension
- <STRONG>O_INPUT_FIELD</STRONG> which allows a dynamic field to shrink if the new limit
+ The <B>set_max_field</B> function checks for an ncurses extension
+ <B>O_INPUT_FIELD</B> which allows a dynamic field to shrink if the new limit
is smaller than the current field size.
- <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ <B><A HREF="form_field_buffer.3X.html">form_field_buffer(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_info 3x</TITLE>
+<TITLE>form_field_info 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_info 3x</H1>
+<H1 class="no-header">form_field_info 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+<B><A HREF="form_field_info.3X.html">form_field_info(3X)</A></B> <B><A HREF="form_field_info.3X.html">form_field_info(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>dynamic_field_info</STRONG>, <STRONG>field_info</STRONG> - retrieve field characteristics
+ <B>dynamic_field_info</B>, <B>field_info</B> - retrieve field characteristics
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <STRONG>*</STRONG><EM>frow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>fcol</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nrow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>nbuf</EM><STRONG>);</STRONG>
+ <B>int</B> <B>field_info(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>,</B>
+ <B>int</B> <B>*</B><I>rows</I><B>,</B> <B>int</B> <B>*</B><I>cols</I><B>,</B>
+ <B>int</B> <B>*</B><I>frow</I><B>,</B> <B>int</B> <B>*</B><I>fcol</I><B>,</B>
+ <B>int</B> <B>*</B><I>nrow</I><B>,</B> <B>int</B> <B>*</B><I>nbuf</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>dynamic_field_info(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>max</EM><STRONG>);</STRONG>
+ <B>int</B> <B>dynamic_field_info(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>,</B>
+ <B>int</B> <B>*</B><I>rows</I><B>,</B> <B>int</B> <B>*</B><I>cols</I><B>,</B> <B>int</B> <B>*</B><I>max</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>field_info</STRONG> returns the sizes and other attributes passed
+ The function <B>field_info</B> returns the sizes and other attributes passed
in to the field at its creation time. The attributes are: height,
width, row of upper-left corner, column of upper-left corner, number
off-screen rows, and number of working buffers.
- The function <STRONG>dynamic_field_info</STRONG> returns the actual size of the field,
+ The function <B>dynamic_field_info</B> returns the actual size of the field,
and its maximum possible size. If the field has no size limit, the
location addressed by the third argument will be set to 0. A field can
- be made dynamic by turning off the <STRONG>O_STATIC</STRONG> option with <STRONG>field_opts_off</STRONG>.
+ be made dynamic by turning off the <B>O_STATIC</B> option with <B>field_opts_off</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ <B><A HREF="form_field_info.3X.html">form_field_info(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_just 3x</TITLE>
+<TITLE>form_field_just 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_just 3x</H1>
+<H1 class="no-header">form_field_just 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+<B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B> <B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_field_just</STRONG>, <STRONG>field_just</STRONG> - retrieve field characteristics
+ <B>set_field_just</B>, <B>field_just</B> - retrieve field characteristics
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_just(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>justification</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>field_just(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_just(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>justification</I><B>);</B>
+ <B>int</B> <B>field_just(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_field_just</STRONG> sets the justification attribute of a
- field; <STRONG>field_just</STRONG> returns a field's justification attribute. The
+ The function <B>set_field_just</B> sets the justification attribute of a
+ field; <B>field_just</B> returns a field's justification attribute. The
attribute may be one of NO_JUSTIFICATION, JUSTIFY_RIGHT, JUSTIFY_LEFT,
or JUSTIFY_CENTER.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>field_just</STRONG> returns one of: NO_JUSTIFICATION,
+ The function <B>field_just</B> returns one of: NO_JUSTIFICATION,
JUSTIFY_RIGHT, JUSTIFY_LEFT, or JUSTIFY_CENTER.
- The function <STRONG>set_field_just</STRONG> returns one of the following:
+ The function <B>set_field_just</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ <B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_new 3x</TITLE>
+<TITLE>form_field_new 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_new 3x</H1>
+<H1 class="no-header">form_field_new 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+<B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B> <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG>, <STRONG>free_field</STRONG> - create and destroy form
+ <B>new_field</B>, <B>dup_field</B>, <B>link_field</B>, <B>free_field</B> - create and destroy form
fields
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>FIELD</STRONG> <STRONG>*new_field(int</STRONG> <EM>height</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>width</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>offscreen</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>nbuffers</EM><STRONG>);</STRONG>
- <STRONG>FIELD</STRONG> <STRONG>*dup_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
- <STRONG>FIELD</STRONG> <STRONG>*link_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>toprow</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>leftcol</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_field(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>FIELD</B> <B>*new_field(int</B> <I>height</I><B>,</B> <B>int</B> <I>width</I><B>,</B>
+ <B>int</B> <I>toprow</I><B>,</B> <B>int</B> <I>leftcol</I><B>,</B>
+ <B>int</B> <I>offscreen</I><B>,</B> <B>int</B> <I>nbuffers</I><B>);</B>
+ <B>FIELD</B> <B>*dup_field(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>toprow</I><B>,</B> <B>int</B> <I>leftcol</I><B>);</B>
+ <B>FIELD</B> <B>*link_field(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>int</B> <I>toprow</I><B>,</B> <B>int</B> <I>leftcol</I><B>);</B>
+ <B>int</B> <B>free_field(FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>new_field</STRONG> allocates a new field and initializes it from
+ The function <B>new_field</B> allocates a new field and initializes it from
the parameters given: height, width, row of upper-left corner, column
of upper-left corner, number off-screen rows, and number of additional
working buffers.
- The function <STRONG>dup_field</STRONG> duplicates a field at a new location. Most
+ The function <B>dup_field</B> duplicates a field at a new location. Most
attributes (including current contents, size, validation type, buffer
count, growth threshold, justification, foreground, background, pad
character, options, and user pointer) are copied. Field status and the
field page bit are not copied.
- The function <STRONG>link_field</STRONG> acts like <STRONG>dup_field</STRONG>, but the new field shares
+ The function <B>link_field</B> acts like <B>dup_field</B>, but the new field shares
buffers with its parent. Attribute data is separate.
- The function <STRONG>free_field</STRONG> de-allocates storage associated with a field.
+ The function <B>free_field</B> de-allocates storage associated with a field.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The functions <STRONG>new_field</STRONG>, <STRONG>dup_field</STRONG>, <STRONG>link_field</STRONG> return <STRONG>NULL</STRONG> on error.
- They set <STRONG>errno</STRONG> according to their success:
+ The functions <B>new_field</B>, <B>dup_field</B>, <B>link_field</B> return <B>NULL</B> on error.
+ They set <B>errno</B> according to their success:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_SYSTEM_ERROR</STRONG>
+ <B>E_SYSTEM_ERROR</B>
System error occurred, e.g., malloc failure.
- The function <STRONG>free_field</STRONG> returns one of the following:
+ The function <B>free_field</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
field is connected.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
- It may be unwise to count on the set of attributes copied by <STRONG>dup_field</STRONG>
+ It may be unwise to count on the set of attributes copied by <B>dup_field</B>
being portable; the System V forms library documents are not very
explicit about what gets copied and what does not.
- <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ <B><A HREF="form_field_new.3X.html">form_field_new(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_opts 3x</TITLE>
+<TITLE>form_field_opts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_opts 3x</H1>
+<H1 class="no-header">form_field_opts 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+<B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B> <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_field_opts</STRONG>, <STRONG>field_opts_on</STRONG>, <STRONG>field_opts_off</STRONG>, <STRONG>field_opts</STRONG> - set and get
+ <B>set_field_opts</B>, <B>field_opts_on</B>, <B>field_opts_off</B>, <B>field_opts</B> - set and get
field options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_opts(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>Field_Options</STRONG> <STRONG>field_opts(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_opts(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
+ <B>Field_Options</B> <B>field_opts(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>field_opts_on(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>field_opts_off(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>field_opts_on(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>field_opts_off(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_field_opts</STRONG> sets all the given field's option bits
+ The function <B>set_field_opts</B> sets all the given field's option bits
(field option bits may be logically-OR'ed together).
- The function <STRONG>field_opts_on</STRONG> turns on the given option bits, and leaves
+ The function <B>field_opts_on</B> turns on the given option bits, and leaves
others alone.
- The function <STRONG>field_opts_off</STRONG> turns off the given option bits, and leaves
+ The function <B>field_opts_off</B> turns off the given option bits, and leaves
others alone.
- The function <STRONG>field_opts</STRONG> returns the field's current option bits.
+ The function <B>field_opts</B> returns the field's current option bits.
The following standard options are defined (all are on by default):
to maintain consistent state.
O_INPUT_FIELD
- The <STRONG>set_max_field</STRONG> function checks for this extension, which allows
+ The <B>set_max_field</B> function checks for this extension, which allows
a dynamic field to shrink if the new limit is smaller than the
current field size.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>field_opts</STRONG>, each routine returns one of the following:
+ Except for <B>field_opts</B>, each routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CURRENT</STRONG>
+ <B>E_CURRENT</B>
The field is the current field.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>. <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>. <B><A HREF="form_field_just.3X.html">form_field_just(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ <B><A HREF="form_field_opts.3X.html">form_field_opts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_userptr 3x</TITLE>
+<TITLE>form_field_userptr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_userptr 3x</H1>
+<H1 class="no-header">form_field_userptr 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+<B><A HREF="form_field_userptr.3X.html">form_field_userptr(3X)</A></B> <B><A HREF="form_field_userptr.3X.html">form_field_userptr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_field_userptr</STRONG>, <STRONG>field_userptr</STRONG> - associate application data with a
+ <B>set_field_userptr</B>, <B>field_userptr</B> - associate application data with a
form field
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_userptr(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>*field_userptr(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_userptr(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>void</B> <B>*</B><I>userptr</I><B>);</B>
+ <B>void</B> <B>*field_userptr(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>field_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set <STRONG>errno</STRONG>.
+ The function <B>field_userptr</B> returns a pointer (which may be <B>NULL</B>). It
+ does not set <B>errno</B>.
- The function <STRONG>set_field_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
+ The function <B>set_field_userptr</B> returns <B>E_OK</B> (success).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ <B><A HREF="form_field_userptr.3X.html">form_field_userptr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_validation 3x</TITLE>
+<TITLE>form_field_validation 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_validation 3x</H1>
+<H1 class="no-header">form_field_validation 3X</H1>
<PRE>
-<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+<B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B> <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_field_validation</STRONG> - data type validation for fields
+ <B>form_field_validation</B> - data type validation for fields
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>void</STRONG> <STRONG>*field_arg(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*field_type(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>set_field_type(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
+ <B>void</B> <B>*field_arg(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
+ <B>FIELDTYPE</B> <B>*field_type(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
+ <B>int</B> <B>set_field_type(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>FIELDTYPE</B> <B>*</B><I>type</I><B>,</B> <B>...);</B>
/* predefined field types */
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALNUM;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ALPHA;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_ENUM;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_INTEGER;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_NUMERIC;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_REGEXP;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*TYPE_IPV4;</STRONG>
+ <B>FIELDTYPE</B> <B>*TYPE_ALNUM;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_ALPHA;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_ENUM;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_INTEGER;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_NUMERIC;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_REGEXP;</B>
+ <B>FIELDTYPE</B> <B>*TYPE_IPV4;</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
By default, no validation is done on form fields. You can associate a
- form with with a <EM>field</EM> <EM>type</EM>, making the form library validate input.
+ form with with a <I>field</I> <I>type</I>, making the form library validate input.
</PRE><H3><a name="h3-field_arg">field_arg</a></H3><PRE>
- Returns a pointer to the field's argument block. The <EM>argument</EM> <EM>block</EM> is
+ Returns a pointer to the field's argument block. The <I>argument</I> <I>block</I> is
an opaque structure containing a copy of the arguments provided in a
- <STRONG>set_field_type</STRONG> call.
+ <B>set_field_type</B> call.
</PRE><H3><a name="h3-field_type">field_type</a></H3><PRE>
- Returns a pointer to the <EM>field</EM> <EM>type</EM> associated with the form field,
- i.e., by calling <STRONG>set_field_type</STRONG>.
+ Returns a pointer to the <I>field</I> <I>type</I> associated with the form field,
+ i.e., by calling <B>set_field_type</B>.
</PRE><H3><a name="h3-set_field_type">set_field_type</a></H3><PRE>
- The function <STRONG>set_field_type</STRONG> associates a field type with a given form
+ The function <B>set_field_type</B> associates a field type with a given form
field. This is the type checked by validation functions. Most field
types are configurable, via arguments which the caller provides when
- calling <STRONG>set_field_type</STRONG>.
+ calling <B>set_field_type</B>.
Several field types are predefined by the form library.
</PRE><H3><a name="h3-Predefined-types">Predefined types</a></H3><PRE>
It is possible to set up new programmer-defined field types. Field
- types are implemented via the <STRONG>FIELDTYPE</STRONG> data structure, which contains
+ types are implemented via the <B>FIELDTYPE</B> data structure, which contains
several pointers to functions.
- See the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> manual page, which describes functions which
+ See the <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B> manual page, which describes functions which
can be used to construct a field-type dynamically.
The predefined types are as follows:
TYPE_ALNUM
Alphanumeric data. Required parameter:
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
+ <B>o</B> a third <B>int</B> argument, a minimum field width.
TYPE_ALPHA
Character data. Required parameter:
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument, a minimum field width.
+ <B>o</B> a third <B>int</B> argument, a minimum field width.
TYPE_ENUM
Accept one of a specified set of strings. Required parameters:
- <STRONG>o</STRONG> a third <STRONG>(char</STRONG> <STRONG>**)</STRONG> argument pointing to a string list;
+ <B>o</B> a third <B>(char</B> <B>**)</B> argument pointing to a string list;
- <STRONG>o</STRONG> a fourth <STRONG>int</STRONG> flag argument to enable case-sensitivity;
+ <B>o</B> a fourth <B>int</B> flag argument to enable case-sensitivity;
- <STRONG>o</STRONG> a fifth <STRONG>int</STRONG> flag argument specifying whether a partial match
+ <B>o</B> a fifth <B>int</B> flag argument specifying whether a partial match
must be a unique one. If this flag is off, a prefix matches
the first of any set of more than one list elements with that
prefix.
lives in automatic variables on the stack.
TYPE_INTEGER
- Integer data, parsable to an integer by <STRONG>atoi(3)</STRONG>. Required
+ Integer data, parsable to an integer by <B>atoi(3)</B>. Required
parameters:
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+ <B>o</B> a third <B>int</B> argument controlling the precision,
- <STRONG>o</STRONG> a fourth <STRONG>long</STRONG> argument constraining minimum value,
+ <B>o</B> a fourth <B>long</B> argument constraining minimum value,
- <STRONG>o</STRONG> a fifth <STRONG>long</STRONG> constraining maximum value. If the maximum value
+ <B>o</B> a fifth <B>long</B> constraining maximum value. If the maximum value
is less than or equal to the minimum value, the range is
simply ignored.
- On return, the field buffer is formatted according to the <STRONG>printf</STRONG>
+ On return, the field buffer is formatted according to the <B>printf</B>
format specification ".*ld", where the "*" is replaced by the
precision argument.
- For details of the precision handling see <STRONG>printf(3)</STRONG>.
+ For details of the precision handling see <B>printf(3)</B>.
TYPE_NUMERIC
Numeric data (may have a decimal-point part). Required
parameters:
- <STRONG>o</STRONG> a third <STRONG>int</STRONG> argument controlling the precision,
+ <B>o</B> a third <B>int</B> argument controlling the precision,
- <STRONG>o</STRONG> a fourth <STRONG>double</STRONG> argument constraining minimum value,
+ <B>o</B> a fourth <B>double</B> argument constraining minimum value,
- <STRONG>o</STRONG> and a fifth <STRONG>double</STRONG> constraining maximum value. If your system
+ <B>o</B> and a fifth <B>double</B> constraining maximum value. If your system
supports locales, the decimal point character must be the one
specified by your locale. If the maximum value is less than
or equal to the minimum value, the range is simply ignored.
- On return, the field buffer is formatted according to the <STRONG>printf</STRONG>
+ On return, the field buffer is formatted according to the <B>printf</B>
format specification ".*f", where the "*" is replaced by the
precision argument.
- For details of the precision handling see <STRONG>printf(3)</STRONG>.
+ For details of the precision handling see <B>printf(3)</B>.
TYPE_REGEXP
Regular expression data. Required parameter:
- <STRONG>o</STRONG> a third argument, a regular expression <STRONG>(char</STRONG> <STRONG>*)</STRONG> string. The
+ <B>o</B> a third argument, a regular expression <B>(char</B> <B>*)</B> string. The
data is valid if the regular expression matches it.
- Regular expressions are in the format of <STRONG>regcomp</STRONG> and <STRONG>regexec</STRONG>.
+ Regular expressions are in the format of <B>regcomp</B> and <B>regexec</B>.
The regular expression must match the whole field. If you have
for example, an eight character wide field, a regular expression
TYPE_IPV4
An Internet Protocol Version 4 address. Required parameter:
- <STRONG>o</STRONG> none
+ <B>o</B> none
The form library checks whether or not the buffer has the form
- <EM>a.b.c.d</EM>, where <EM>a</EM>, <EM>b</EM>, <EM>c</EM>, and <EM>d</EM> are numbers in the range 0 to 255.
+ <I>a.b.c.d</I>, where <I>a</I>, <I>b</I>, <I>c</I>, and <I>d</I> are numbers in the range 0 to 255.
Trailing blanks in the buffer are ignored. The address itself is
not validated.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The functions <STRONG>field_type</STRONG> and <STRONG>field_arg</STRONG> return <STRONG>NULL</STRONG> on error. The
- function <STRONG>set_field_type</STRONG> returns one of the following:
+ The functions <B>field_type</B> and <B>field_arg</B> return <B>NULL</B> on error. The
+ function <B>set_field_type</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>, <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>, <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>, <B><A HREF="form_variables.3X.html">form_variables(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_fieldtype 3x</TITLE>
+<TITLE>form_fieldtype 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_fieldtype 3x</H1>
+<H1 class="no-header">form_fieldtype 3X</H1>
<PRE>
-<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+<B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B> <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_fieldtype</STRONG> - define validation-field types
+ <B>form_fieldtype</B> - define validation-field types
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*new_fieldtype(</STRONG>
- <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>field</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
- <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>char</EM><STRONG>_</STRONG><EM>check</EM><STRONG>)(int,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
- <STRONG>int</STRONG> <STRONG>free_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>);</STRONG>
+ <B>FIELDTYPE</B> <B>*new_fieldtype(</B>
+ <B>bool</B> <B>(*</B> <B>const</B> <I>field</I><B>_</B><I>check</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*),</B>
+ <B>bool</B> <B>(*</B> <B>const</B> <I>char</I><B>_</B><I>check</I><B>)(int,</B> <B>const</B> <B>void</B> <B>*));</B>
+ <B>int</B> <B>free_fieldtype(FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_fieldtype_arg(</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
- <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>make</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(va_list</STRONG> <STRONG>*),</STRONG>
- <STRONG>void</STRONG> <STRONG>*(*</STRONG> <STRONG>const</STRONG> <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
- <STRONG>void</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>free</EM><STRONG>_</STRONG><EM>arg</EM><STRONG>)(void</STRONG> <STRONG>*));</STRONG>
- <STRONG>int</STRONG> <STRONG>set_fieldtype_choice(</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>fieldtype</EM><STRONG>,</STRONG>
- <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>next</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*),</STRONG>
- <STRONG>bool</STRONG> <STRONG>(*</STRONG> <STRONG>const</STRONG> <EM>prev</EM><STRONG>_</STRONG><EM>choice</EM><STRONG>)(FIELD</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*));</STRONG>
+ <B>int</B> <B>set_fieldtype_arg(</B>
+ <B>FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>,</B>
+ <B>void</B> <B>*(*</B> <B>const</B> <I>make</I><B>_</B><I>arg</I><B>)(va_list</B> <B>*),</B>
+ <B>void</B> <B>*(*</B> <B>const</B> <I>copy</I><B>_</B><I>arg</I><B>)(const</B> <B>void</B> <B>*),</B>
+ <B>void</B> <B>(*</B> <B>const</B> <I>free</I><B>_</B><I>arg</I><B>)(void</B> <B>*));</B>
+ <B>int</B> <B>set_fieldtype_choice(</B>
+ <B>FIELDTYPE</B> <B>*</B><I>fieldtype</I><B>,</B>
+ <B>bool</B> <B>(*</B> <B>const</B> <I>next</I><B>_</B><I>choice</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*),</B>
+ <B>bool</B> <B>(*</B> <B>const</B> <I>prev</I><B>_</B><I>choice</I><B>)(FIELD</B> <B>*,</B> <B>const</B> <B>void</B> <B>*));</B>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*link_fieldtype(FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type1</EM><STRONG>,</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG><EM>type2</EM><STRONG>);</STRONG>
+ <B>FIELDTYPE</B> <B>*link_fieldtype(FIELDTYPE</B> <B>*</B><I>type1</I><B>,</B>
+ <B>FIELDTYPE</B> <B>*</B><I>type2</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-new_fieldtype">new_fieldtype</a></H3><PRE>
- The function <STRONG>new_fieldtype</STRONG> creates a new field type usable for data
+ The function <B>new_fieldtype</B> creates a new field type usable for data
validation. Its parameters are function pointers:
- <EM>field</EM><STRONG>_</STRONG><EM>check</EM>
+ <I>field</I><B>_</B><I>check</I>
This function checks the validity of an entered data string
whenever the user attempts to leave a field. It has two
arguments:
- <STRONG>o</STRONG> The (FIELD *) argument is passed in so the validation
+ <B>o</B> The (FIELD *) argument is passed in so the validation
predicate can see the field's buffer, sizes and other
attributes.
- <STRONG>o</STRONG> The second argument is an argument-block structure, about
+ <B>o</B> The second argument is an argument-block structure, about
which more below.
- <EM>char</EM><STRONG>_</STRONG><EM>check</EM>
+ <I>char</I><B>_</B><I>check</I>
This function validates input characters as they are entered. The
form library passes it the character to be checked and a pointer
to an argument-block structure.
</PRE><H3><a name="h3-free_fieldtype">free_fieldtype</a></H3><PRE>
- The <STRONG>free_fieldtype</STRONG> function frees the space allocated for a given
- validation type by <STRONG>new_fieldtype</STRONG>.
+ The <B>free_fieldtype</B> function frees the space allocated for a given
+ validation type by <B>new_fieldtype</B>.
</PRE><H3><a name="h3-set_fieldtype_arg">set_fieldtype_arg</a></H3><PRE>
- The function <STRONG>set_fieldtype_arg</STRONG> associates three storage-management
+ The function <B>set_fieldtype_arg</B> associates three storage-management
functions with a field type:
- <EM>make</EM><STRONG>_</STRONG><EM>arg</EM>
+ <I>make</I><B>_</B><I>arg</I>
This function is automatically applied to the list of arguments
- you give <STRONG>set_field_type</STRONG> when attaching validation to a field. It
+ you give <B>set_field_type</B> when attaching validation to a field. It
stores the arguments in an allocated argument-block object which
is used when validating input.
- <EM>copy</EM><STRONG>_</STRONG><EM>arg</EM>
+ <I>copy</I><B>_</B><I>arg</I>
This function may be used by applications to copy argument-blocks.
- <EM>free</EM><STRONG>_</STRONG><EM>arg</EM>
+ <I>free</I><B>_</B><I>arg</I>
Frees an argument-block structure.
- You must supply the <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> function. The other two are optional: you
+ You must supply the <I>make</I><B>_</B><I>arg</I> function. The other two are optional: you
may supply NULL for them. In this case, the form library assumes that
- <EM>make</EM><STRONG>_</STRONG><EM>arg</EM> does not allocate memory but simply loads the argument into a
+ <I>make</I><B>_</B><I>arg</I> does not allocate memory but simply loads the argument into a
single scalar value.
</PRE><H3><a name="h3-set_fieldtype_choice">set_fieldtype_choice</a></H3><PRE>
- The form driver requests <STRONG>REQ_NEXT_CHOICE</STRONG> and <STRONG>REQ_PREV_CHOICE</STRONG> assume
+ The form driver requests <B>REQ_NEXT_CHOICE</B> and <B>REQ_PREV_CHOICE</B> assume
that the possible values of a field form an ordered set, and provide
the forms user with a way to move through the set.
- The <STRONG>set_fieldtype_choice</STRONG> function allows forms programmers to define
+ The <B>set_fieldtype_choice</B> function allows forms programmers to define
successor and predecessor functions for the field type. These
functions take the field pointer and an argument-block structure as
arguments.
</PRE><H3><a name="h3-link_fieldtype">link_fieldtype</a></H3><PRE>
- The function <STRONG>link_fieldtype</STRONG> creates a new field type from the two given
+ The function <B>link_fieldtype</B> creates a new field type from the two given
types. They are connected by an logical 'OR'.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The pointer-valued routines return NULL on error. They set <STRONG>errno</STRONG>
+ The pointer-valued routines return NULL on error. They set <B>errno</B>
according to their success:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_SYSTEM_ERROR</STRONG>
+ <B>E_SYSTEM_ERROR</B>
System error occurred, e.g., malloc failure.
The integer-valued routines return one of the following codes on error:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
The field is already connected to a form.
- <STRONG>E_CURRENT</STRONG>
+ <B>E_CURRENT</B>
The field is the current field.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>, <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>, <B><A HREF="form_field_validation.3X.html">form_field_validation(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_hook 3x</TITLE>
+<TITLE>form_hook 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_hook 3x</H1>
+<H1 class="no-header">form_hook 3X</H1>
<PRE>
-<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+<B><A HREF="form_hook.3X.html">form_hook(3X)</A></B> <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_hook</STRONG> - set hooks for automatic invocation by applications
+ <B>form_hook</B> - set hooks for automatic invocation by applications
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_field_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
- <STRONG>Form_Hook</STRONG> <STRONG>field_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_init(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Form_Hook</B> <I>func</I><B>);</B>
+ <B>Form_Hook</B> <B>field_init(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_field_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
- <STRONG>Form_Hook</STRONG> <STRONG>field_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_field_term(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Form_Hook</B> <I>func</I><B>);</B>
+ <B>Form_Hook</B> <B>field_term(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_form_init(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
- <STRONG>Form_Hook</STRONG> <STRONG>form_init(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_init(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Form_Hook</B> <I>func</I><B>);</B>
+ <B>Form_Hook</B> <B>form_init(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_form_term(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Form_Hook</STRONG> <EM>func</EM><STRONG>);</STRONG>
- <STRONG>Form_Hook</STRONG> <STRONG>form_term(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_term(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Form_Hook</B> <I>func</I><B>);</B>
+ <B>Form_Hook</B> <B>form_term(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions make it possible to set hook functions to be called at
various points in the automatic processing of input event codes by
- <STRONG>form_driver</STRONG>.
+ <B>form_driver</B>.
- The function <STRONG>set_field_init</STRONG> sets a hook to be called at form-post time
+ The function <B>set_field_init</B> sets a hook to be called at form-post time
and each time the selected field changes (after the change).
- <STRONG>field_init</STRONG> returns the current field init hook, if any (<STRONG>NULL</STRONG> if there
+ <B>field_init</B> returns the current field init hook, if any (<B>NULL</B> if there
is no such hook).
- The function <STRONG>set_field_term</STRONG> sets a hook to be called at form-unpost
+ The function <B>set_field_term</B> sets a hook to be called at form-unpost
time and each time the selected field changes (before the change).
- <STRONG>field_term</STRONG> returns the current field term hook, if any (<STRONG>NULL</STRONG> if there
+ <B>field_term</B> returns the current field term hook, if any (<B>NULL</B> if there
is no such hook).
- The function <STRONG>set_form_init</STRONG> sets a hook to be called at form-post time
- and just after a page change once it is posted. <STRONG>form_init</STRONG> returns the
- current form init hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <B>set_form_init</B> sets a hook to be called at form-post time
+ and just after a page change once it is posted. <B>form_init</B> returns the
+ current form init hook, if any (<B>NULL</B> if there is no such hook).
- The function <STRONG>set_form_term</STRONG> sets a hook to be called at form-unpost time
- and just before a page change once it is posted. <STRONG>form_init</STRONG> returns the
- current form term hook, if any (<STRONG>NULL</STRONG> if there is no such hook).
+ The function <B>set_form_term</B> sets a hook to be called at form-unpost time
+ and just before a page change once it is posted. <B>form_init</B> returns the
+ current form term hook, if any (<B>NULL</B> if there is no such hook).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ Routines that return pointers return <B>NULL</B> on error. Other routines
return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ <B><A HREF="form_hook.3X.html">form_hook(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new 3x</TITLE>
+<TITLE>form_new 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_new 3x</H1>
+<H1 class="no-header">form_new 3X</H1>
<PRE>
-<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+<B><A HREF="form_new.3X.html">form_new(3X)</A></B> <B><A HREF="form_new.3X.html">form_new(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>new_form</STRONG>, <STRONG>free_form</STRONG> - create and destroy forms
+ <B>new_form</B>, <B>free_form</B> - create and destroy forms
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>FORM</STRONG> <STRONG>*new_form(FIELD</STRONG> <STRONG>**</STRONG><EM>fields</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>FORM</B> <B>*new_form(FIELD</B> <B>**</B><I>fields</I><B>);</B>
+ <B>int</B> <B>free_form(FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>new_form</STRONG> creates a new form connected to a specified field
- pointer array (which must be <STRONG>NULL</STRONG>-terminated).
+ The function <B>new_form</B> creates a new form connected to a specified field
+ pointer array (which must be <B>NULL</B>-terminated).
- The function <STRONG>free_form</STRONG> disconnects <EM>form</EM> from its field array and frees
+ The function <B>free_form</B> disconnects <I>form</I> from its field array and frees
the storage allocated for the form.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>new_form</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
+ The function <B>new_form</B> returns <B>NULL</B> on error. It sets <B>errno</B> according
to the function's success:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
The field is already connected to a form.
- <STRONG>E_SYSTEM_ERROR</STRONG>
+ <B>E_SYSTEM_ERROR</B>
System error occurred, e.g., malloc failure.
- The function <STRONG>free_form</STRONG> returns one of the following:
+ The function <B>free_form</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The form has already been posted.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ <B><A HREF="form_new.3X.html">form_new(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new_page 3x</TITLE>
+<TITLE>form_new_page 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_new_page 3x</H1>
+<H1 class="no-header">form_new_page 3X</H1>
<PRE>
-<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+<B><A HREF="form_new_page.3X.html">form_new_page(3X)</A></B> <B><A HREF="form_new_page.3X.html">form_new_page(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_new_page</STRONG>, <STRONG>new_page</STRONG> - form pagination functions
+ <B>set_new_page</B>, <B>new_page</B> - form pagination functions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_new_page(FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>new</EM><STRONG>_</STRONG><EM>page</EM><STRONG>_</STRONG><EM>flag</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>new_page(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_new_page(FIELD</B> <B>*</B><I>field</I><B>,</B> <B>bool</B> <I>new</I><B>_</B><I>page</I><B>_</B><I>flag</I><B>);</B>
+ <B>bool</B> <B>new_page(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_new_page</STRONG> sets or resets a flag marking the given field
+ The function <B>set_new_page</B> sets or resets a flag marking the given field
as the beginning of a new page on its form.
- The function <STRONG>new_page</STRONG> is a predicate which tests if a given field marks
+ The function <B>new_page</B> is a predicate which tests if a given field marks
a page beginning on its form.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>new_page</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
+ The function <B>new_page</B> returns <B>TRUE</B> or <B>FALSE</B>.
- The function <STRONG>set_new_page</STRONG> returns one of the following:
+ The function <B>set_new_page</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
The given field is already connected to a form.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "form_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "form_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ <B><A HREF="form_new_page.3X.html">form_new_page(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_opts 3x</TITLE>
+<TITLE>form_opts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_opts 3x</H1>
+<H1 class="no-header">form_opts 3X</H1>
<PRE>
-<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+<B><A HREF="form_opts.3X.html">form_opts(3X)</A></B> <B><A HREF="form_opts.3X.html">form_opts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_form_opts</STRONG>, <STRONG>form_opts_on</STRONG>, <STRONG>form_opts_off</STRONG>, <STRONG>form_opts</STRONG> - set and get
+ <B>set_form_opts</B>, <B>form_opts_on</B>, <B>form_opts_off</B>, <B>form_opts</B> - set and get
form options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_form_opts(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>Field_Options</STRONG> <STRONG>form_opts(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_opts(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
+ <B>Field_Options</B> <B>form_opts(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>form_opts_on(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_opts_off(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>Field_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>form_opts_on(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>form_opts_off(FORM</B> <B>*</B><I>form</I><B>,</B> <B>Field_Options</B> <I>opts</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_form_opts</STRONG> sets all the given form's option bits (form
+ The function <B>set_form_opts</B> sets all the given form's option bits (form
option bits may be logically-OR'ed together).
- The function <STRONG>form_opts_on</STRONG> turns on the given option bits, and leaves
+ The function <B>form_opts_on</B> turns on the given option bits, and leaves
others alone.
- The function <STRONG>form_opts_off</STRONG> turns off the given option bits, and leaves
+ The function <B>form_opts_off</B> turns off the given option bits, and leaves
others alone.
- The function <STRONG>form_opts</STRONG> returns the form's current option bits.
+ The function <B>form_opts</B> returns the form's current option bits.
The following options are defined (all are on by default):
O_NL_OVERLOAD
- Overload the <STRONG>REQ_NEW_LINE</STRONG> forms driver request so that calling it
+ Overload the <B>REQ_NEW_LINE</B> forms driver request so that calling it
at the end of a field goes to the next field.
O_BS_OVERLOAD
- Overload the <STRONG>REQ_DEL_PREV</STRONG> forms driver request so that calling it
+ Overload the <B>REQ_DEL_PREV</B> forms driver request so that calling it
at the beginning of a field goes to the previous field.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>form_opts</STRONG>, each routine returns one of the following:
+ Except for <B>form_opts</B>, each routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ <B><A HREF="form_opts.3X.html">form_opts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_page 3x</TITLE>
+<TITLE>form_page 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_page 3x</H1>
+<H1 class="no-header">form_page 3X</H1>
<PRE>
-<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+<B><A HREF="form_page.3X.html">form_page(3X)</A></B> <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_page</STRONG> - set and get form page number
+ <B>form_page</B> - set and get form page number
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
- <STRONG>FIELD</STRONG> <STRONG>*current_field(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_current_field(FORM</B> <B>*</B><I>form</I><B>,</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
+ <B>FIELD</B> <B>*current_field(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>unfocus_current_field(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>unfocus_current_field(FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_form_page(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>n</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_page(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_page(FORM</B> <B>*</B><I>form</I><B>,</B> <B>int</B> <I>n</I><B>);</B>
+ <B>int</B> <B>form_page(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>field_index(const</STRONG> <STRONG>FIELD</STRONG> <STRONG>*</STRONG><EM>field</EM><STRONG>);</STRONG>
+ <B>int</B> <B>field_index(const</B> <B>FIELD</B> <B>*</B><I>field</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_current_field</STRONG> sets the current field of the given
- form; <STRONG>current_field</STRONG> returns the current field of the given form.
+ The function <B>set_current_field</B> sets the current field of the given
+ form; <B>current_field</B> returns the current field of the given form.
- The function <STRONG>unfocus_current_field</STRONG> removes the focus from the current
- field of the form. In such state, inquiries via <STRONG>current_field</STRONG> shall
+ The function <B>unfocus_current_field</B> removes the focus from the current
+ field of the form. In such state, inquiries via <B>current_field</B> shall
return a NULL pointer.
- The function <STRONG>set_form_page</STRONG> sets the form's page number (goes to page <EM>n</EM>
+ The function <B>set_form_page</B> sets the form's page number (goes to page <I>n</I>
of the form).
- The function <STRONG>form_page</STRONG> returns the form's current page number.
+ The function <B>form_page</B> returns the form's current page number.
- The function <STRONG>field_index</STRONG> returns the index of the field in the field
- array of the form it is connected to. It returns <STRONG>ERR</STRONG> if the argument
+ The function <B>field_index</B> returns the index of the field in the field
+ array of the form it is connected to. It returns <B>ERR</B> if the argument
is the null pointer or the field is not connected.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>form_page</STRONG>, each routine returns one of the following:
+ Except for <B>form_page</B>, each routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_INVALID_FIELD</STRONG>
+ <B>E_INVALID_FIELD</B>
Contents of a field are not valid.
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The form driver could not process the request.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V forms library. They were not
supported on Version 7 or BSD versions.
- The <STRONG>unfocus_current_field</STRONG> function is an ncurses extension.
+ The <B>unfocus_current_field</B> function is an ncurses extension.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ <B><A HREF="form_page.3X.html">form_page(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_post 3x</TITLE>
+<TITLE>form_post 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_post 3x</H1>
+<H1 class="no-header">form_post 3X</H1>
<PRE>
-<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+<B><A HREF="form_post.3X.html">form_post(3X)</A></B> <B><A HREF="form_post.3X.html">form_post(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>post_form</STRONG>, <STRONG>unpost_form</STRONG> - write or erase forms from associated
+ <B>post_form</B>, <B>unpost_form</B> - write or erase forms from associated
subwindows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>post_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unpost_form(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>post_form(FORM</B> <B>*</B><I>form</I><B>);</B>
+ <B>int</B> <B>unpost_form(FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>post_form</STRONG> displays a form to its associated subwindow. To
- trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
- equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
+ The function <B>post_form</B> displays a form to its associated subwindow. To
+ trigger physical display of the subwindow, use <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> or some
+ equivalent <B>curses</B> routine (the implicit <B>doupdate</B> triggered by an <B>curses</B>
input request will do).
- The function <STRONG>unpost_form</STRONG> erases form from its associated subwindow.
+ The function <B>unpost_form</B> erases form from its associated subwindow.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The form has not been posted.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the form.
- <STRONG>E_NO_ROOM</STRONG>
+ <B>E_NO_ROOM</B>
Form is too large for its window.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The form has already been posted.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ <B><A HREF="form_post.3X.html">form_post(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_requestname 3x</TITLE>
+<TITLE>form_requestname 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_requestname 3x</H1>
+<H1 class="no-header">form_requestname 3X</H1>
<PRE>
-<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+<B><A HREF="form_requestname.3X.html">form_requestname(3X)</A></B> <B><A HREF="form_requestname.3X.html">form_requestname(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_request_by_name</STRONG>, <STRONG>form_request_name</STRONG> - handle printable form request
+ <B>form_request_by_name</B>, <B>form_request_name</B> - handle printable form request
names
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*form_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*form_request_name(int</B> <I>request</I><B>);</B>
+ <B>int</B> <B>form_request_by_name(const</B> <B>char</B> <B>*</B><I>name</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-form_request_name">form_request_name</a></H3><PRE>
- The function <STRONG>form_request_name</STRONG> returns the printable name of a form
+ The function <B>form_request_name</B> returns the printable name of a form
request code.
</PRE><H3><a name="h3-form_request_name_by_name">form_request_name_by_name</a></H3><PRE>
- The function <STRONG>form_request_by_name</STRONG> searches in the name-table for a
+ The function <B>form_request_by_name</B> searches in the name-table for a
request with the given name and returns its request code. Otherwise
E_NO_MATCH is returned.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>form_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets <STRONG>errno</STRONG> to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
+ <B>form_request_name</B> returns <B>NULL</B> on error and sets <B>errno</B> to
+ <B>E_BAD_ARGUMENT</B>.
- <STRONG>form_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
- <STRONG>errno</STRONG>.
+ <B>form_request_by_name</B> returns <B>E_NO_MATCH</B> on error. It does not set
+ <B>errno</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ <B><A HREF="form_requestname.3X.html">form_requestname(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_userptr 3x</TITLE>
+<TITLE>form_userptr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_userptr 3x</H1>
+<H1 class="no-header">form_userptr 3X</H1>
<PRE>
-<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+<B><A HREF="form_userptr.3X.html">form_userptr(3X)</A></B> <B><A HREF="form_userptr.3X.html">form_userptr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_form_userptr</STRONG>, <STRONG>form_userptr</STRONG> - associate application data with a form
+ <B>set_form_userptr</B>, <B>form_userptr</B> - associate application data with a form
item
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_form_userptr(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
- <STRONG>void*</STRONG> <STRONG>form_userptr(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_userptr(FORM</B> <B>*</B><I>form</I><B>,</B> <B>void</B> <B>*</B><I>userptr</I><B>);</B>
+ <B>void*</B> <B>form_userptr(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>form_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It
- does not set <STRONG>errno</STRONG>.
+ The function <B>form_userptr</B> returns a pointer (which may be <B>NULL</B>). It
+ does not set <B>errno</B>.
- The function <STRONG>set_form_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
+ The function <B>set_form_userptr</B> returns <B>E_OK</B> (success).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ <B><A HREF="form_userptr.3X.html">form_userptr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 2010-2013,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_variables 3x</TITLE>
+<TITLE>form_variables 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_variables 3x</H1>
+<H1 class="no-header">form_variables 3X</H1>
<PRE>
-<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+<B><A HREF="form_variables.3X.html">form_variables(3X)</A></B> <B><A HREF="form_variables.3X.html">form_variables(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>TYPE_ALNUM</STRONG>, <STRONG>TYPE_ALPHA</STRONG>, <STRONG>TYPE_ENUM</STRONG>, <STRONG>TYPE_INTEGER</STRONG>, <STRONG>TYPE_IPV4</STRONG>,
- <STRONG>TYPE_NUMERIC</STRONG>, <STRONG>TYPE_REGEXP</STRONG> - form system global variables
+ <B>TYPE_ALNUM</B>, <B>TYPE_ALPHA</B>, <B>TYPE_ENUM</B>, <B>TYPE_INTEGER</B>, <B>TYPE_IPV4</B>,
+ <B>TYPE_NUMERIC</B>, <B>TYPE_REGEXP</B> - form system global variables
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ALNUM;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ALPHA;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_ENUM;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_INTEGER;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_IPV4;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_NUMERIC;</STRONG>
- <STRONG>FIELDTYPE</STRONG> <STRONG>*</STRONG> <STRONG>TYPE_REGEXP;</STRONG>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_ALNUM;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_ALPHA;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_ENUM;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_INTEGER;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_IPV4;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_NUMERIC;</B>
+ <B>FIELDTYPE</B> <B>*</B> <B>TYPE_REGEXP;</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These are building blocks for the form library, defining fields that
- can be created using the <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> functions. Each provides
+ can be created using the <B><A HREF="form_fieldtype.3X.html">form_fieldtype(3X)</A></B> functions. Each provides
functions for field- and character-validation, according to the given
datatype.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>TYPE_IPV4</STRONG> variable is an extension not provided by older implemen-
+ The <B>TYPE_IPV4</B> variable is an extension not provided by older implemen-
tations of the form library.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="form.3X.html">form(3X)</A></B>.
- <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ <B><A HREF="form_variables.3X.html">form_variables(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_win 3x</TITLE>
+<TITLE>form_win 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">form_win 3x</H1>
+<H1 class="no-header">form_win 3X</H1>
<PRE>
-<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+<B><A HREF="form_win.3X.html">form_win(3X)</A></B> <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>form_win</STRONG> - make and break form window and subwindow associations
+ <B>form_win</B> - make and break form window and subwindow associations
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><form.h></STRONG>
+ <B>#include</B> <B><form.h></B>
- <STRONG>int</STRONG> <STRONG>set_form_win(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*form_win(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_win(FORM</B> <B>*</B><I>form</I><B>,</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>WINDOW</B> <B>*form_win(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_form_sub(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*form_sub(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_form_sub(FORM</B> <B>*</B><I>form</I><B>,</B> <B>WINDOW</B> <B>*</B><I>sub</I><B>);</B>
+ <B>WINDOW</B> <B>*form_sub(const</B> <B>FORM</B> <B>*</B><I>form</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>scale_form(const</STRONG> <STRONG>FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns</EM><STRONG>);</STRONG>
+ <B>int</B> <B>scale_form(const</B> <B>FORM</B> <B>*</B><I>form</I><B>,</B> <B>int</B> <B>*</B><I>rows</I><B>,</B> <B>int</B> <B>*</B><I>columns</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- Every form has an associated pair of <STRONG>curses</STRONG> windows. The form window
+ Every form has an associated pair of <B>curses</B> windows. The form window
displays any title and border associated with the window; the form
subwindow displays the items of the form that are currently available
for selection.
The first four functions get and set those windows. It is not
- necessary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG>
+ necessary to set either window; by default, the driver code uses <B>stdscr</B>
for both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
- were <STRONG>stsdcr</STRONG>. A form argument of <STRONG>NULL</STRONG> is treated as a request to change
+ In the <B>set_</B> functions, window argument of <B>NULL</B> is treated as though it
+ were <B>stsdcr</B>. A form argument of <B>NULL</B> is treated as a request to change
the system default form window or subwindow.
- The function <STRONG>scale_form</STRONG> returns the minimum size required for the
- subwindow of <EM>form</EM>.
+ The function <B>scale_form</B> returns the minimum size required for the
+ subwindow of <I>form</I>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ Routines that return pointers return <B>NULL</B> on error. Routines that
return an integer return one of the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The form has already been posted.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the form.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="form.3X.html">form(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><form.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><form.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ <B><A HREF="form_win.3X.html">form_win(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2017,2018 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: infocmp.1m,v 1.77 2020/07/25 20:37:39 tom Exp @
+ * @Id: infocmp.1m,v 1.78 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m</TITLE>
+<TITLE>@INFOCMP@ 1M</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m</H1>
+<H1 class="no-header">@INFOCMP@ 1M</H1>
<PRE>
-<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+<B><A HREF="infocmp.1M.html">infocmp(1M)</A></B> <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>infocmp</STRONG> - compare or print out <EM>terminfo</EM> descriptions
+ <B>infocmp</B> - compare or print out <I>terminfo</I> descriptions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>infocmp</STRONG> [<STRONG>-1CDEFGIKLTUVWcdegilnpqrtux</STRONG>]
- [<STRONG>-v</STRONG> <EM>n</EM>] [<STRONG>-s</STRONG> <STRONG>d</STRONG>| <STRONG>i</STRONG>| <STRONG>l</STRONG>| <STRONG>c</STRONG>] [<STRONG>-Q</STRONG> <EM>n</EM>] [<STRONG>-R</STRONG> <STRONG>subset</STRONG>]
- [<STRONG>-w</STRONG> <EM>width</EM>] [<STRONG>-A</STRONG> <EM>directory</EM>] [<STRONG>-B</STRONG> <EM>directory</EM>]
- [<EM>termname</EM>...]
+ <B>infocmp</B> [<B>-1CDEFGIKLTUVWcdegilnpqrtux</B>]
+ [<B>-v</B> <I>n</I>] [<B>-s</B> <B>d</B>| <B>i</B>| <B>l</B>| <B>c</B>] [<B>-Q</B> <I>n</I>] [<B>-R</B> <B>subset</B>]
+ [<B>-w</B> <I>width</I>] [<B>-A</B> <I>directory</I>] [<B>-B</B> <I>directory</I>]
+ [<I>termname</I>...]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <STRONG>infocmp</STRONG> can be used to compare a binary <STRONG>terminfo</STRONG> entry with other
- terminfo entries, rewrite a <STRONG>terminfo</STRONG> description to take advantage of
- the <STRONG>use=</STRONG> terminfo field, or print out a <STRONG>terminfo</STRONG> description from the
- binary file (<STRONG>term</STRONG>) in a variety of formats. In all cases, the boolean
+ <B>infocmp</B> can be used to compare a binary <B>terminfo</B> entry with other
+ terminfo entries, rewrite a <B>terminfo</B> description to take advantage of
+ the <B>use=</B> terminfo field, or print out a <B>terminfo</B> description from the
+ binary file (<B>term</B>) in a variety of formats. In all cases, the boolean
fields will be printed first, followed by the numeric fields, followed
by the string fields.
</PRE><H3><a name="h3-Default-Options">Default Options</a></H3><PRE>
- If no options are specified and zero or one <EM>termnames</EM> are specified,
- the <STRONG>-I</STRONG> option will be assumed. If more than one <EM>termname</EM> is specified,
- the <STRONG>-d</STRONG> option will be assumed.
+ If no options are specified and zero or one <I>termnames</I> are specified,
+ the <B>-I</B> option will be assumed. If more than one <I>termname</I> is specified,
+ the <B>-d</B> option will be assumed.
</PRE><H3><a name="h3-Comparison-Options-_-d_-_-c_-_-n_">Comparison Options [-d] [-c] [-n]</a></H3><PRE>
- <STRONG>infocmp</STRONG> compares the <STRONG>terminfo</STRONG> description of the first terminal
- <EM>termname</EM> with each of the descriptions given by the entries for the
- other terminal's <EM>termnames</EM>. If a capability is defined for only one of
+ <B>infocmp</B> compares the <B>terminfo</B> description of the first terminal
+ <I>termname</I> with each of the descriptions given by the entries for the
+ other terminal's <I>termnames</I>. If a capability is defined for only one of
the terminals, the value returned depends on the type of the
capability:
- <STRONG>o</STRONG> <STRONG>F</STRONG> for missing boolean variables
+ <B>o</B> <B>F</B> for missing boolean variables
- <STRONG>o</STRONG> <STRONG>NULL</STRONG> for missing integer or string variables
+ <B>o</B> <B>NULL</B> for missing integer or string variables
- Use the <STRONG>-q</STRONG> option to show the distinction between <EM>absent</EM> and <EM>cancelled</EM>
+ Use the <B>-q</B> option to show the distinction between <I>absent</I> and <I>cancelled</I>
capabilities.
These options produce a list which you can use to compare two or more
terminal descriptions:
- <STRONG>-d</STRONG> produces a list of each capability that is <EM>different</EM> between two
+ <B>-d</B> produces a list of each capability that is <I>different</I> between two
entries. Each item in the list shows ":" after the capability
name, followed by the capability values, separated by a comma.
- <STRONG>-c</STRONG> produces a list of each capability that is <EM>common</EM> between two or
+ <B>-c</B> produces a list of each capability that is <I>common</I> between two or
more entries. Missing capabilities are ignored. Each item in the
list shows "=" after the capability name, followed by the
capability value.
- The <STRONG>-u</STRONG> option provides a related output, showing the first
+ The <B>-u</B> option provides a related output, showing the first
terminal description rewritten to use the second as a building
block via the "use=" clause.
- <STRONG>-n</STRONG> produces a list of each capability that is in <EM>none</EM> of the given
+ <B>-n</B> produces a list of each capability that is in <I>none</I> of the given
entries. Each item in the list shows "!" before the capability
name.
- Normally only the conventional capabilities are shown. Use the <STRONG>-x</STRONG>
+ Normally only the conventional capabilities are shown. Use the <B>-x</B>
option to add the BSD-compatibility capabilities (names prefixed
with "OT").
- If no <EM>termnames</EM> are given, <STRONG>infocmp</STRONG> uses the environment variable
- <STRONG>TERM</STRONG> for each of the <EM>termnames</EM>.
+ If no <I>termnames</I> are given, <B>infocmp</B> uses the environment variable
+ <B>TERM</B> for each of the <I>termnames</I>.
</PRE><H3><a name="h3-Source-Listing-Options-_-I_-_-L_-_-C_-_-r_">Source Listing Options [-I] [-L] [-C] [-r]</a></H3><PRE>
- The <STRONG>-I</STRONG>, <STRONG>-L</STRONG>, and <STRONG>-C</STRONG> options will produce a source listing for each
+ The <B>-I</B>, <B>-L</B>, and <B>-C</B> options will produce a source listing for each
terminal named.
- <STRONG>-I</STRONG> use the <STRONG>terminfo</STRONG> names
- <STRONG>-L</STRONG> use the long C variable name listed in <<STRONG>term.h</STRONG>>
- <STRONG>-C</STRONG> use the <STRONG>termcap</STRONG> names
- <STRONG>-r</STRONG> when using <STRONG>-C</STRONG>, put out all capabilities in <STRONG>termcap</STRONG> form
- <STRONG>-K</STRONG> modifies the <STRONG>-C</STRONG> option, improving BSD-compatibility.
+ <B>-I</B> use the <B>terminfo</B> names
+ <B>-L</B> use the long C variable name listed in <<B>term.h</B>>
+ <B>-C</B> use the <B>termcap</B> names
+ <B>-r</B> when using <B>-C</B>, put out all capabilities in <B>termcap</B> form
+ <B>-K</B> modifies the <B>-C</B> option, improving BSD-compatibility.
- If no <EM>termnames</EM> are given, the environment variable <STRONG>TERM</STRONG> will be used
+ If no <I>termnames</I> are given, the environment variable <B>TERM</B> will be used
for the terminal name.
- The source produced by the <STRONG>-C</STRONG> option may be used directly as a <STRONG>termcap</STRONG>
- entry, but not all parameterized strings can be changed to the <STRONG>termcap</STRONG>
- format. <STRONG>infocmp</STRONG> will attempt to convert most of the parameterized
+ The source produced by the <B>-C</B> option may be used directly as a <B>termcap</B>
+ entry, but not all parameterized strings can be changed to the <B>termcap</B>
+ format. <B>infocmp</B> will attempt to convert most of the parameterized
information, and anything not converted will be plainly marked in the
output and commented out. These should be edited by hand.
- For best results when converting to <STRONG>termcap</STRONG> format, you should use both
- <STRONG>-C</STRONG> and <STRONG>-r</STRONG>. Normally a termcap description is limited to 1023 bytes.
- <STRONG>infocmp</STRONG> trims away less essential parts to make it fit. If you are
+ For best results when converting to <B>termcap</B> format, you should use both
+ <B>-C</B> and <B>-r</B>. Normally a termcap description is limited to 1023 bytes.
+ <B>infocmp</B> trims away less essential parts to make it fit. If you are
converting to one of the (rare) termcap implementations which accept an
- unlimited size of termcap, you may want to add the <STRONG>-T</STRONG> option. More
+ unlimited size of termcap, you may want to add the <B>-T</B> option. More
often however, you must help the termcap implementation, and trim
- excess whitespace (use the <STRONG>-0</STRONG> option for that).
+ excess whitespace (use the <B>-0</B> option for that).
All padding information for strings will be collected together and
- placed at the beginning of the string where <STRONG>termcap</STRONG> expects it.
+ placed at the beginning of the string where <B>termcap</B> expects it.
Mandatory padding (padding information with a trailing "/") will become
optional.
- All <STRONG>termcap</STRONG> variables no longer supported by <STRONG>terminfo</STRONG>, but which are
- derivable from other <STRONG>terminfo</STRONG> variables, will be output. Not all
- <STRONG>terminfo</STRONG> capabilities will be translated; only those variables which
- were part of <STRONG>termcap</STRONG> will normally be output. Specifying the <STRONG>-r</STRONG> option
+ All <B>termcap</B> variables no longer supported by <B>terminfo</B>, but which are
+ derivable from other <B>terminfo</B> variables, will be output. Not all
+ <B>terminfo</B> capabilities will be translated; only those variables which
+ were part of <B>termcap</B> will normally be output. Specifying the <B>-r</B> option
will take off this restriction, allowing all capabilities to be output
- in <EM>termcap</EM> form. Normally you would use both the <STRONG>-C</STRONG> and <STRONG>-r</STRONG> options.
+ in <I>termcap</I> form. Normally you would use both the <B>-C</B> and <B>-r</B> options.
The actual format used incorporates some improvements for escaped
characters from terminfo format. For a stricter BSD-compatible
- translation, use the <STRONG>-K</STRONG> option rather than <STRONG>-C</STRONG>.
+ translation, use the <B>-K</B> option rather than <B>-C</B>.
Note that because padding is collected to the beginning of the
capability, not all capabilities are output. Mandatory padding is not
- supported. Because <STRONG>termcap</STRONG> strings are not as flexible, it is not
- always possible to convert a <STRONG>terminfo</STRONG> string capability into an
- equivalent <STRONG>termcap</STRONG> format. A subsequent conversion of the <STRONG>termcap</STRONG> file
- back into <STRONG>terminfo</STRONG> format will not necessarily reproduce the original
- <STRONG>terminfo</STRONG> source.
+ supported. Because <B>termcap</B> strings are not as flexible, it is not
+ always possible to convert a <B>terminfo</B> string capability into an
+ equivalent <B>termcap</B> format. A subsequent conversion of the <B>termcap</B> file
+ back into <B>terminfo</B> format will not necessarily reproduce the original
+ <B>terminfo</B> source.
- Some common <STRONG>terminfo</STRONG> parameter sequences, their <STRONG>termcap</STRONG> equivalents,
+ Some common <B>terminfo</B> parameter sequences, their <B>termcap</B> equivalents,
and some terminal types which commonly have such sequences, are:
- <STRONG>terminfo</STRONG> <STRONG>termcap</STRONG> Representative Terminals
+ <B>terminfo</B> <B>termcap</B> Representative Terminals
---------------------------------------------------------------
- <STRONG>%p1%c</STRONG> <STRONG>%.</STRONG> adm
- <STRONG>%p1%d</STRONG> <STRONG>%d</STRONG> hp, ANSI standard, vt100
- <STRONG>%p1%'x'%+%c</STRONG> <STRONG>%+x</STRONG> concept
- <STRONG>%i</STRONG> <STRONG>%i</STRONG>q ANSI standard, vt100
- <STRONG>%p1%?%'x'%>%t%p1%'y'%+%;</STRONG> <STRONG>%>xy</STRONG> concept
- <STRONG>%p2</STRONG> is printed before <STRONG>%p1</STRONG> <STRONG>%r</STRONG> hp
+ <B>%p1%c</B> <B>%.</B> adm
+ <B>%p1%d</B> <B>%d</B> hp, ANSI standard, vt100
+ <B>%p1%'x'%+%c</B> <B>%+x</B> concept
+ <B>%i</B> <B>%i</B>q ANSI standard, vt100
+ <B>%p1%?%'x'%>%t%p1%'y'%+%;</B> <B>%>xy</B> concept
+ <B>%p2</B> is printed before <B>%p1</B> <B>%r</B> hp
</PRE><H3><a name="h3-Use_-Option-_-u_">Use= Option [-u]</a></H3><PRE>
- The <STRONG>-u</STRONG> option produces a <STRONG>terminfo</STRONG> source description of the first
- terminal <EM>termname</EM> which is relative to the sum of the descriptions
- given by the entries for the other terminals <EM>termnames</EM>. It does this
- by analyzing the differences between the first <EM>termname</EM> and the other
- <EM>termnames</EM> and producing a description with <STRONG>use=</STRONG> fields for the other
+ The <B>-u</B> option produces a <B>terminfo</B> source description of the first
+ terminal <I>termname</I> which is relative to the sum of the descriptions
+ given by the entries for the other terminals <I>termnames</I>. It does this
+ by analyzing the differences between the first <I>termname</I> and the other
+ <I>termnames</I> and producing a description with <B>use=</B> fields for the other
terminals. In this manner, it is possible to retrofit generic terminfo
entries into a terminal's description. Or, if two similar terminals
exist, but were coded at different times or by different people so that
- each description is a full description, using <STRONG>infocmp</STRONG> will show what
+ each description is a full description, using <B>infocmp</B> will show what
can be done to change one description to be relative to the other.
A capability will be printed with an at-sign (@) if it no longer exists
- in the first <EM>termname</EM>, but one of the other <EM>termname</EM> entries contains a
+ in the first <I>termname</I>, but one of the other <I>termname</I> entries contains a
value for it. A capability's value will be printed if the value in the
- first <EM>termname</EM> is not found in any of the other <EM>termname</EM> entries, or if
- the first of the other <EM>termname</EM> entries that has this capability gives
- a different value for the capability than that in the first <EM>termname</EM>.
+ first <I>termname</I> is not found in any of the other <I>termname</I> entries, or if
+ the first of the other <I>termname</I> entries that has this capability gives
+ a different value for the capability than that in the first <I>termname</I>.
- The order of the other <EM>termname</EM> entries is significant. Since the
- terminfo compiler <STRONG>tic</STRONG> does a left-to-right scan of the capabilities,
- specifying two <STRONG>use=</STRONG> entries that contain differing entries for the same
+ The order of the other <I>termname</I> entries is significant. Since the
+ terminfo compiler <B>tic</B> does a left-to-right scan of the capabilities,
+ specifying two <B>use=</B> entries that contain differing entries for the same
capabilities will produce different results depending on the order that
- the entries are given in. <STRONG>infocmp</STRONG> will flag any such inconsistencies
- between the other <EM>termname</EM> entries as they are found.
+ the entries are given in. <B>infocmp</B> will flag any such inconsistencies
+ between the other <I>termname</I> entries as they are found.
- Alternatively, specifying a capability <EM>after</EM> a <STRONG>use=</STRONG> entry that contains
+ Alternatively, specifying a capability <I>after</I> a <B>use=</B> entry that contains
that capability will cause the second specification to be ignored.
- Using <STRONG>infocmp</STRONG> to recreate a description can be a useful check to make
+ Using <B>infocmp</B> to recreate a description can be a useful check to make
sure that everything was specified correctly in the original source
description.
Another error that does not cause incorrect compiled files, but will
- slow down the compilation time, is specifying extra <STRONG>use=</STRONG> fields that
- are superfluous. <STRONG>infocmp</STRONG> will flag any other <EM>termname</EM> <EM>use=</EM> fields that
+ slow down the compilation time, is specifying extra <B>use=</B> fields that
+ are superfluous. <B>infocmp</B> will flag any other <I>termname</I> <I>use=</I> fields that
were not needed.
- <STRONG>Changing</STRONG> <STRONG>Databases</STRONG> <STRONG>[-A</STRONG> <EM>directory</EM>] [-B <EM>directory</EM>]
- Like other <STRONG>ncurses</STRONG> utilities, <STRONG>infocmp</STRONG> looks for the terminal
- descriptions in several places. You can use the <STRONG>TERMINFO</STRONG> and
- <STRONG>TERMINFO_DIRS</STRONG> environment variables to override the compiled-in default
- list of places to search (see <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> for details).
+ <B>Changing</B> <B>Databases</B> <B>[-A</B> <I>directory</I>] [-B <I>directory</I>]
+ Like other <B>ncurses</B> utilities, <B>infocmp</B> looks for the terminal
+ descriptions in several places. You can use the <B>TERMINFO</B> and
+ <B>TERMINFO_DIRS</B> environment variables to override the compiled-in default
+ list of places to search (see <B><A HREF="curses.3X.html">curses(3X)</A></B> for details).
- You can also use the options <STRONG>-A</STRONG> and <STRONG>-B</STRONG> to override the list of places
+ You can also use the options <B>-A</B> and <B>-B</B> to override the list of places
to search when comparing terminal descriptions:
- <STRONG>o</STRONG> The <STRONG>-A</STRONG> option sets the location for the first <EM>termname</EM>
+ <B>o</B> The <B>-A</B> option sets the location for the first <I>termname</I>
- <STRONG>o</STRONG> The <STRONG>-B</STRONG> option sets the location for the other <EM>termnames</EM>.
+ <B>o</B> The <B>-B</B> option sets the location for the other <I>termnames</I>.
Using these options, it is possible to compare descriptions for a
terminal with the same name located in two different databases. For
</PRE><H3><a name="h3-Other-Options">Other Options</a></H3><PRE>
- <STRONG>-0</STRONG> causes the fields to be printed on one line, without wrapping.
+ <B>-0</B> causes the fields to be printed on one line, without wrapping.
- <STRONG>-1</STRONG> causes the fields to be printed out one to a line. Otherwise, the
+ <B>-1</B> causes the fields to be printed out one to a line. Otherwise, the
fields will be printed several to a line to a maximum width of 60
characters.
- <STRONG>-a</STRONG> tells <STRONG>infocmp</STRONG> to retain commented-out capabilities rather than
+ <B>-a</B> tells <B>infocmp</B> to retain commented-out capabilities rather than
discarding them. Capabilities are commented by prefixing them
with a period.
- <STRONG>-D</STRONG> tells <STRONG>infocmp</STRONG> to print the database locations that it knows about,
+ <B>-D</B> tells <B>infocmp</B> to print the database locations that it knows about,
and exit.
- <STRONG>-E</STRONG> Dump the capabilities of the given terminal as tables, needed in
+ <B>-E</B> Dump the capabilities of the given terminal as tables, needed in
the C initializer for a TERMTYPE structure (the terminal
- capability structure in the <STRONG><term.h></STRONG>). This option is useful for
+ capability structure in the <B><term.h></B>). This option is useful for
preparing versions of the curses library hardwired for a given
terminal type. The tables are all declared static, and are named
according to the type and the name of the corresponding terminal
entry.
- Before ncurses 5.0, the split between the <STRONG>-e</STRONG> and <STRONG>-E</STRONG> options was
+ Before ncurses 5.0, the split between the <B>-e</B> and <B>-E</B> options was
not needed; but support for extended names required making the
arrays of terminal capabilities separate from the TERMTYPE
structure.
- <STRONG>-e</STRONG> Dump the capabilities of the given terminal as a C initializer for
+ <B>-e</B> Dump the capabilities of the given terminal as a C initializer for
a TERMTYPE structure (the terminal capability structure in the
- <STRONG><term.h></STRONG>). This option is useful for preparing versions of the
+ <B><term.h></B>). This option is useful for preparing versions of the
curses library hardwired for a given terminal type.
- <STRONG>-F</STRONG> compare terminfo files. This assumes that two following arguments
+ <B>-F</B> compare terminfo files. This assumes that two following arguments
are filenames. The files are searched for pairwise matches
between entries, with two entries considered to match if any of
their names do. The report printed to standard output lists
than one match. For entries with exactly one match it includes a
difference report. Normally, to reduce the volume of the report,
use references are not resolved before looking for differences,
- but resolution can be forced by also specifying <STRONG>-r</STRONG>.
+ but resolution can be forced by also specifying <B>-r</B>.
- <STRONG>-f</STRONG> Display complex terminfo strings which contain if/then/else/endif
+ <B>-f</B> Display complex terminfo strings which contain if/then/else/endif
expressions indented for readability.
- <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ <B>-G</B> Display constant literals in decimal form rather than their
character equivalents.
- <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ <B>-g</B> Display constant character literals in quoted form rather than
their decimal equivalents.
- <STRONG>-i</STRONG> Analyze the initialization (<STRONG>is1</STRONG>, <STRONG>is2</STRONG>, <STRONG>is3</STRONG>), and reset (<STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>,
- <STRONG>rs3</STRONG>), strings in the entry, as well as those used for
- starting/stopping cursor-positioning mode (<STRONG>smcup</STRONG>, <STRONG>rmcup</STRONG>) as well
- as starting/stopping keymap mode (<STRONG>smkx</STRONG>, <STRONG>rmkx</STRONG>).
+ <B>-i</B> Analyze the initialization (<B>is1</B>, <B>is2</B>, <B>is3</B>), and reset (<B>rs1</B>, <B>rs2</B>,
+ <B>rs3</B>), strings in the entry, as well as those used for
+ starting/stopping cursor-positioning mode (<B>smcup</B>, <B>rmcup</B>) as well
+ as starting/stopping keymap mode (<B>smkx</B>, <B>rmkx</B>).
For each string, the code tries to analyze it into actions in
terms of the other capabilities in the entry, certain X3.64/ISO
UNDERLINE, BLINK, and REVERSE. All but NORMAL may be prefixed
with
- <STRONG>o</STRONG> "+" (turn on) or
+ <B>o</B> "+" (turn on) or
- <STRONG>o</STRONG> "-" (turn off).
+ <B>o</B> "-" (turn off).
An SGR0 designates an empty highlight sequence (equivalent to
{SGR:NORMAL}).
- <STRONG>-l</STRONG> Set output format to terminfo.
+ <B>-l</B> Set output format to terminfo.
- <STRONG>-p</STRONG> Ignore padding specifications when comparing strings.
+ <B>-p</B> Ignore padding specifications when comparing strings.
- <STRONG>-Q</STRONG> <EM>n</EM> Rather than show source in terminfo (text) format, print the
+ <B>-Q</B> <I>n</I> Rather than show source in terminfo (text) format, print the
compiled (binary) format in hexadecimal or base64 form, depending
on the option's value:
3 hexadecimal and base64
For example, this prints the compiled terminfo value as a string
- which could be assigned to the <STRONG>TERMINFO</STRONG> environment variable:
+ which could be assigned to the <B>TERMINFO</B> environment variable:
infocmp -0 -q -Q2
- <STRONG>-q</STRONG> This makes the output a little shorter:
+ <B>-q</B> This makes the output a little shorter:
- <STRONG>o</STRONG> Make the comparison listing shorter by omitting subheadings,
+ <B>o</B> Make the comparison listing shorter by omitting subheadings,
and using "-" for absent capabilities, "@" for canceled rather
than "NULL".
- <STRONG>o</STRONG> However, show differences between absent and cancelled
+ <B>o</B> However, show differences between absent and cancelled
capabilities.
- <STRONG>o</STRONG> Omit the "Reconstructed from" comment for source listings.
+ <B>o</B> Omit the "Reconstructed from" comment for source listings.
- <STRONG>-R</STRONG><EM>subset</EM>
+ <B>-R</B><I>subset</I>
Restrict output to a given subset. This option is for use with
archaic versions of terminfo like those on SVr1, Ultrix, or HP/UX
that do not support the full set of SVR4/XSI Curses terminfo; and
variants such as AIX that have their own extensions incompatible
with SVr4/XSI.
- <STRONG>o</STRONG> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
- "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for details.
+ <B>o</B> Available terminfo subsets are "SVr1", "Ultrix", "HP", and
+ "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for details.
- <STRONG>o</STRONG> You can also choose the subset "BSD" which selects only
+ <B>o</B> You can also choose the subset "BSD" which selects only
capabilities with termcap equivalents recognized by 4.4BSD.
- The <STRONG>-C</STRONG> option sets the "BSD" subset as a side-effect.
+ The <B>-C</B> option sets the "BSD" subset as a side-effect.
- <STRONG>o</STRONG> If you select any other value for <STRONG>-R</STRONG>, it is the same as no
- subset, i.e., all capabilities are used. The <STRONG>-I</STRONG> option
+ <B>o</B> If you select any other value for <B>-R</B>, it is the same as no
+ subset, i.e., all capabilities are used. The <B>-I</B> option
likewise selects no subset as a side-effect.
- <STRONG>-s</STRONG> <EM>[d|i|l|c]</EM>
- The <STRONG>-s</STRONG> option sorts the fields within each type according to the
+ <B>-s</B> <I>[d|i|l|c]</I>
+ The <B>-s</B> option sorts the fields within each type according to the
argument below:
- <STRONG>d</STRONG> leave fields in the order that they are stored in the
- <EM>terminfo</EM> database.
+ <B>d</B> leave fields in the order that they are stored in the
+ <I>terminfo</I> database.
- <STRONG>i</STRONG> sort by <EM>terminfo</EM> name.
+ <B>i</B> sort by <I>terminfo</I> name.
- <STRONG>l</STRONG> sort by the long C variable name.
+ <B>l</B> sort by the long C variable name.
- <STRONG>c</STRONG> sort by the <EM>termcap</EM> name.
+ <B>c</B> sort by the <I>termcap</I> name.
- If the <STRONG>-s</STRONG> option is not given, the fields printed out will be
- sorted alphabetically by the <STRONG>terminfo</STRONG> name within each type,
- except in the case of the <STRONG>-C</STRONG> or the <STRONG>-L</STRONG> options, which cause the
- sorting to be done by the <STRONG>termcap</STRONG> name or the long C variable
+ If the <B>-s</B> option is not given, the fields printed out will be
+ sorted alphabetically by the <B>terminfo</B> name within each type,
+ except in the case of the <B>-C</B> or the <B>-L</B> options, which cause the
+ sorting to be done by the <B>termcap</B> name or the long C variable
name, respectively.
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ <B>-T</B> eliminates size-restrictions on the generated text. This is
mainly useful for testing and analysis, since the compiled
descriptions are limited (e.g., 1023 for termcap, 4096 for
terminfo).
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ <B>-t</B> tells <B>tic</B> to discard commented-out capabilities. Normally when
translating from terminfo to termcap, untranslatable capabilities
are commented-out.
- <STRONG>-U</STRONG> tells <STRONG>infocmp</STRONG> to not post-process the data after parsing the
+ <B>-U</B> tells <B>infocmp</B> to not post-process the data after parsing the
source file. This feature helps when comparing the actual
contents of two source files, since it excludes the inferences
- that <STRONG>infocmp</STRONG> makes to fill in missing data.
+ that <B>infocmp</B> makes to fill in missing data.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <B>-V</B> reports the version of ncurses which was used in this program, and
exits.
- <STRONG>-v</STRONG> <EM>n</EM> prints out tracing information on standard error as the program
+ <B>-v</B> <I>n</I> prints out tracing information on standard error as the program
runs.
- The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ The optional parameter <I>n</I> is a number from 1 to 10, inclusive,
indicating the desired level of detail of information. If ncurses
is built without tracing support, the optional parameter is
ignored.
- <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
- wrapped. Use the <STRONG>-W</STRONG> option to do this.
+ <B>-W</B> By itself, the <B>-w</B> option will not force long strings to be
+ wrapped. Use the <B>-W</B> option to do this.
- <STRONG>-w</STRONG> <EM>width</EM>
- changes the output to <EM>width</EM> characters.
+ <B>-w</B> <I>width</I>
+ changes the output to <I>width</I> characters.
- <STRONG>-x</STRONG> print information for user-defined capabilities (see <STRONG>user_caps(5)</STRONG>.
+ <B>-x</B> print information for user-defined capabilities (see <B>user_caps(5)</B>.
These are extensions to the terminfo repertoire which can be
- loaded using the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>.
+ loaded using the <B>-x</B> option of <B>tic</B>.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
Although System V Release 2 provided a terminfo library, it had no
documented tool for decompiling the terminal descriptions. Tony Hansen
- (AT&T) wrote the first <STRONG>infocmp</STRONG> in early 1984, for System V Release 3.
+ (AT&T) wrote the first <B>infocmp</B> in early 1984, for System V Release 3.
Eric Raymond used the AT&T documentation in 1995 to provide an
- equivalent <STRONG>infocmp</STRONG> for ncurses. In addition, he added a few new
+ equivalent <B>infocmp</B> for ncurses. In addition, he added a few new
features such as:
- <STRONG>o</STRONG> the <STRONG>-e</STRONG> option, to support <EM>fallback</EM> (compiled-in) terminal
+ <B>o</B> the <B>-e</B> option, to support <I>fallback</I> (compiled-in) terminal
descriptions
- <STRONG>o</STRONG> the <STRONG>-i</STRONG> option, to help with analysis
+ <B>o</B> the <B>-i</B> option, to help with analysis
- Later, Thomas Dickey added the <STRONG>-x</STRONG> (user-defined capabilities) option,
- and the <STRONG>-E</STRONG> option to support fallback entries with user-defined
+ Later, Thomas Dickey added the <B>-x</B> (user-defined capabilities) option,
+ and the <B>-E</B> option to support fallback entries with user-defined
capabilities.
- For a complete list, see the <EM>EXTENSIONS</EM> section.
+ For a complete list, see the <I>EXTENSIONS</I> section.
- In 2010, Roy Marples provided an <STRONG>infocmp</STRONG> program for NetBSD. It is
+ In 2010, Roy Marples provided an <B>infocmp</B> program for NetBSD. It is
less capable than the SVr4 or ncurses versions (e.g., it lacks the
- sorting options documented in X/Open), but does include the <STRONG>-x</STRONG> option
+ sorting options documented in X/Open), but does include the <B>-x</B> option
adapted from ncurses.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 7 (2009) provides a description of <STRONG>infocmp</STRONG>. It
+ X/Open Curses, Issue 7 (2009) provides a description of <B>infocmp</B>. It
does not mention the options used for converting to termcap format.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- The <STRONG>-0</STRONG>, <STRONG>-1</STRONG>, <STRONG>-E</STRONG>, <STRONG>-F</STRONG>, <STRONG>-G</STRONG>, <STRONG>-Q</STRONG>, <STRONG>-R</STRONG>, <STRONG>-T</STRONG>, <STRONG>-V</STRONG>, <STRONG>-a</STRONG>, <STRONG>-e</STRONG>, <STRONG>-f</STRONG>, <STRONG>-g</STRONG>, <STRONG>-i</STRONG>, <STRONG>-l</STRONG>, <STRONG>-p</STRONG>, <STRONG>-q</STRONG>
- and <STRONG>-t</STRONG> options are not supported in SVr4 curses.
+ The <B>-0</B>, <B>-1</B>, <B>-E</B>, <B>-F</B>, <B>-G</B>, <B>-Q</B>, <B>-R</B>, <B>-T</B>, <B>-V</B>, <B>-a</B>, <B>-e</B>, <B>-f</B>, <B>-g</B>, <B>-i</B>, <B>-l</B>, <B>-p</B>, <B>-q</B>
+ and <B>-t</B> options are not supported in SVr4 curses.
SVr4 infocmp does not distinguish between absent and cancelled
- capabilities. Also, it shows missing integer capabilities as <STRONG>-1</STRONG> (the
+ capabilities. Also, it shows missing integer capabilities as <B>-1</B> (the
internal value used to represent missing integers). This
implementation shows those as "NULL", for consistency with missing
strings.
- The <STRONG>-r</STRONG> option's notion of "termcap" capabilities is System V Release
+ The <B>-r</B> option's notion of "termcap" capabilities is System V Release
4's. Actual BSD curses versions will have a more restricted set. To
- see only the 4.4BSD set, use <STRONG>-r</STRONG> <STRONG>-RBSD</STRONG>.
+ see only the 4.4BSD set, use <B>-r</B> <B>-RBSD</B>.
</PRE><H2><a name="h2-BUGS">BUGS</a></H2><PRE>
- The <STRONG>-F</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> should be a <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> mode.
+ The <B>-F</B> option of <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B> should be a <B><A HREF="toe.1M.html">toe(1M)</A></B> mode.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>, <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>, <B><A HREF="toe.1M.html">toe(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>,
+ <B><A HREF="terminfo.5.html">terminfo(5)</A></B>. <B><A HREF="user_caps.5.html">user_caps(5)</A></B>.
https://invisible-island.net/ncurses/tctest.html
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infotocap 1m</TITLE>
+<TITLE>@INFOTOCAP@ 1M</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">infotocap 1m</H1>
+<H1 class="no-header">@INFOTOCAP@ 1M</H1>
<PRE>
-<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+<B><A HREF="infotocap.1M.html">infotocap(1M)</A></B> <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>infotocap</STRONG> - convert a <EM>terminfo</EM> description into a <EM>termcap</EM> description
+ <B>infotocap</B> - convert a <I>terminfo</I> description into a <I>termcap</I> description
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>infotocap</STRONG> [<STRONG>-v</STRONG><EM>n</EM> <EM>width</EM>] [<STRONG>-V</STRONG>] [<STRONG>-1</STRONG>] [<STRONG>-w</STRONG> <EM>width</EM>] <EM>file</EM> ...
+ <B>infotocap</B> [<B>-v</B><I>n</I> <I>width</I>] [<B>-V</B>] [<B>-1</B>] [<B>-w</B> <I>width</I>] <I>file</I> ...
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <STRONG>infotocap</STRONG> looks in each given text <EM>file</EM> for <STRONG>terminfo</STRONG> descriptions. For
- each terminfo description found, an equivalent <STRONG>termcap</STRONG> description is
- written to standard output. Terminfo <STRONG>use</STRONG> capabilities are translated
- directly to termcap <STRONG>tc</STRONG> capabilities.
+ <B>infotocap</B> looks in each given text <I>file</I> for <B>terminfo</B> descriptions. For
+ each terminfo description found, an equivalent <B>termcap</B> description is
+ written to standard output. Terminfo <B>use</B> capabilities are translated
+ directly to termcap <B>tc</B> capabilities.
- <STRONG>-v</STRONG> print out tracing information on standard error as the program
+ <B>-v</B> print out tracing information on standard error as the program
runs.
- <STRONG>-V</STRONG> print out the version of the program in use on standard error and
+ <B>-V</B> print out the version of the program in use on standard error and
exit.
- <STRONG>-1</STRONG> cause the fields to print out one to a line. Otherwise, the
+ <B>-1</B> 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
characters.
- <STRONG>-w</STRONG> change the output to <EM>width</EM> characters.
+ <B>-w</B> change the output to <I>width</I> characters.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- This utility is actually a link to <STRONG>tic</STRONG>, running in <EM>-C</EM> mode. You can
- use other <STRONG>tic</STRONG> options such as <STRONG>-f</STRONG> and <STRONG>-x</STRONG>.
+ This utility is actually a link to <B>tic</B>, running in <I>-C</I> mode. You can
+ use other <B>tic</B> options such as <B>-f</B> and <B>-x</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 2003-2006,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>key_defined 3x</TITLE>
+<TITLE>key_defined 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">key_defined 3x</H1>
+<H1 class="no-header">key_defined 3X</H1>
<PRE>
-<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+<B><A HREF="key_defined.3X.html">key_defined(3X)</A></B> <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>key_defined</STRONG> - check if a keycode is defined
+ <B>key_defined</B> - check if a keycode is defined
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>key_defined(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>definition</EM><STRONG>);</STRONG>
+ <B>int</B> <B>key_defined(const</B> <B>char</B> <B>*</B><I>definition</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+ <B><A HREF="define_key.3X.html">define_key(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1999-2008,2010 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keybound 3x</TITLE>
+<TITLE>keybound 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">keybound 3x</H1>
+<H1 class="no-header">keybound 3X</H1>
<PRE>
-<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+<B><A HREF="keybound.3X.html">keybound(3X)</A></B> <B><A HREF="keybound.3X.html">keybound(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>keybound</STRONG> - return definition of keycode
+ <B>keybound</B> - return definition of keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keybound(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>count);</EM>
+ <B>char</B> <B>*</B> <B>keybound(int</B> <I>keycode</I><B>,</B> <B>int</B> <I>count);</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <EM>keycode</EM> parameter must be greater than zero, else NULL is returned.
+ The <I>keycode</I> parameter must be greater than zero, else NULL is returned.
If it does not correspond to a defined key, then NULL is returned. The
- <EM>count</EM> parameter is used to allow the application to iterate through
+ <I>count</I> parameter is used to allow the application to iterate through
multiple definitions, counting from zero. When successful, the
function returns a string which must be freed by the caller.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
+ <B><A HREF="define_key.3X.html">define_key(3X)</A></B>, <B><A HREF="keyok.3X.html">keyok(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ <B><A HREF="keybound.3X.html">keybound(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keyok 3x</TITLE>
+<TITLE>keyok 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">keyok 3x</H1>
+<H1 class="no-header">keyok 3X</H1>
<PRE>
-<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+<B><A HREF="keyok.3X.html">keyok(3X)</A></B> <B><A HREF="keyok.3X.html">keyok(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>keyok</STRONG> - enable or disable a keycode
+ <B>keyok</B> - enable or disable a keycode
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>keyok(int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
+ <B>int</B> <B>keyok(int</B> <I>keycode</I><B>,</B> <B>bool</B> <I>enable</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This is an extension to the curses library. It permits an application
- to disable specific keycodes, rather than use the <EM>keypad</EM> function to
+ to disable specific keycodes, rather than use the <I>keypad</I> function to
disable all keycodes. Keys that have been disabled can be re-enabled.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The keycode must be greater than zero, else <STRONG>ERR</STRONG> is returned. If it
- does not correspond to a defined key, then <STRONG>ERR</STRONG> is returned. If the
- <EM>enable</EM> parameter is true, then the key must have been disabled, and
- vice versa. Otherwise, the function returns <STRONG>OK</STRONG>.
+ The keycode must be greater than zero, else <B>ERR</B> is returned. If it
+ does not correspond to a defined key, then <B>ERR</B> is returned. If the
+ <I>enable</I> parameter is true, then the key must have been disabled, and
+ vice versa. Otherwise, the function returns <B>OK</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>.
+ <B><A HREF="define_key.3X.html">define_key(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ <B><A HREF="keyok.3X.html">keyok(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2020 Thomas E. Dickey *
* Copyright 2005-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>legacy_coding 3x</TITLE>
+<TITLE>legacy_coding 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">legacy_coding 3x</H1>
+<H1 class="no-header">legacy_coding 3X</H1>
<PRE>
-<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+<B><A HREF="legacy_coding.3X.html">legacy_coding(3X)</A></B> <B><A HREF="legacy_coding.3X.html">legacy_coding(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>use_legacy_coding</STRONG> - override locale-encoding checks
+ <B>use_legacy_coding</B> - override locale-encoding checks
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>use_legacy_coding(int</STRONG> <EM>level</EM><STRONG>);</STRONG>
+ <B>int</B> <B>use_legacy_coding(int</B> <I>level</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library.
- It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress
+ The <B>use_legacy_coding</B> function is an extension to the curses library.
+ It allows the caller to change the result of <B>unctrl</B>, and suppress
related checks within the library that would normally cause nonprinting
characters to be rendered in visible form. This affects only 8-bit
characters.
- The <EM>level</EM> parameter controls the result:
+ The <I>level</I> parameter controls the result:
0 the library functions normally, rendering nonprinting
- characters as described in <STRONG>unctrl</STRONG>.
+ characters as described in <B>unctrl</B>.
- 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
+ 1 the library ignores <B>isprintf</B> for codes in the range
160-255.
- 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range
- 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing
+ 2 the library ignores <B>isprintf</B> for codes in the range
+ 128-255. It also modifies the output of <B>unctrl</B>, showing
codes in the range 128-159 as is.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- If the screen has not been initialized, or the <EM>level</EM> parameter is out
- of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous
- level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+ If the screen has not been initialized, or the <I>level</I> parameter is out
+ of range, the function returns <B>ERR</B>. Otherwise, it returns the previous
+ level: <B>0</B>, <B>1</B> or <B>2</B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG>unctrl</STRONG>.
+ <B>unctrl</B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ <B><A HREF="legacy_coding.3X.html">legacy_coding(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu 3x</TITLE>
+<TITLE>menu 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu 3x</H1>
+<H1 class="no-header">menu 3X</H1>
<PRE>
-<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+<B><A HREF="menu.3X.html">menu(3X)</A></B> <B><A HREF="menu.3X.html">menu(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu</STRONG> - curses extension for programming menus
+ <B>menu</B> - curses extension for programming menus
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>menu</STRONG> library provides terminal-independent facilities for composing
+ The <B>menu</B> library provides terminal-independent facilities for composing
menu systems on character-cell terminals. The library includes: item
routines, which create and modify menu items; and menu routines, which
group items into menus, display menus on the screen, and handle
interaction with the user.
- The <STRONG>menu</STRONG> library uses the <STRONG>curses</STRONG> libraries, and a curses initialization
- routine such as <STRONG>initscr</STRONG> must be called before using any of these
- functions. To use the <STRONG>menu</STRONG> library, link with the options <STRONG>-lmenu</STRONG>
- <STRONG>-lcurses</STRONG>.
+ The <B>menu</B> library uses the <B>curses</B> libraries, and a curses initialization
+ routine such as <B>initscr</B> must be called before using any of these
+ functions. To use the <B>menu</B> library, link with the options <B>-lmenu</B>
+ <B>-lcurses</B>.
</PRE><H3><a name="h3-Current-Default-Values-for-Item-Attributes">Current Default Values for Item Attributes</a></H3><PRE>
- The <STRONG>menu</STRONG> library maintains a default value for item attributes. You
- can get or set this default by calling the appropriate <STRONG>get_</STRONG> or <STRONG>set_</STRONG>
- routine with a <STRONG>NULL</STRONG> item pointer. Changing this default with a <STRONG>set_</STRONG>
+ The <B>menu</B> library maintains a default value for item attributes. You
+ can get or set this default by calling the appropriate <B>get_</B> or <B>set_</B>
+ routine with a <B>NULL</B> item pointer. Changing this default with a <B>set_</B>
function affects future item creations, but does not change the
rendering of items already created.
</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
- The following table lists each <STRONG>menu</STRONG> routine and the name of the manual
+ The following table lists each <B>menu</B> routine and the name of the manual
page on which it is described.
- <STRONG>curses</STRONG> Routine Name Manual Page Name
+ <B>curses</B> Routine Name Manual Page Name
--------------------------------------------
- current_item <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
- free_item <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
- free_menu <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
- item_count <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
- item_description <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
- item_index <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
- item_init <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- item_name <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
- item_opts <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
- item_opts_off <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
- item_opts_on <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
- item_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- item_userptr <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
- item_value <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
- item_visible <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
- menu_back <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- menu_driver <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
- menu_fore <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- menu_format <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
- menu_grey <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- menu_init <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- menu_items <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
- menu_mark <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
- menu_opts <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
- menu_opts_off <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
- menu_opts_on <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
- menu_pad <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- menu_pattern <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
- menu_request_by_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
- menu_request_name <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-
- menu_spacing <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
- menu_sub <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
- menu_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- menu_userptr <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
- menu_win <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
- new_item <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
- new_menu <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
- pos_menu_cursor <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
- post_menu <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
- scale_menu <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
- set_current_item <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
- set_item_init <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- set_item_opts <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
- set_item_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- set_item_userptr <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
- set_item_value <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
- set_menu_back <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- set_menu_fore <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- set_menu_format <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
- set_menu_grey <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- set_menu_init <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- set_menu_items <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
- set_menu_mark <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
- set_menu_opts <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
- set_menu_pad <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
- set_menu_pattern <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
- set_menu_spacing <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
- set_menu_sub <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
- set_menu_term <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
- set_menu_userptr <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
- set_menu_win <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
- set_top_row <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
- top_row <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
- unpost_menu <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ current_item <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
+ free_item <B><A HREF="mitem_new.3X.html">mitem_new(3X)</A></B>
+ free_menu <B><A HREF="menu_new.3X.html">menu_new(3X)</A></B>
+ item_count <B><A HREF="menu_items.3X.html">menu_items(3X)</A></B>
+ item_description <B><A HREF="mitem_name.3X.html">mitem_name(3X)</A></B>
+ item_index <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
+ item_init <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ item_name <B><A HREF="mitem_name.3X.html">mitem_name(3X)</A></B>
+ item_opts <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
+ item_opts_off <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
+ item_opts_on <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
+ item_term <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ item_userptr <B><A HREF="mitem_userptr.3X.html">mitem_userptr(3X)</A></B>
+ item_value <B><A HREF="mitem_value.3X.html">mitem_value(3X)</A></B>
+ item_visible <B><A HREF="mitem_visible.3X.html">mitem_visible(3X)</A></B>
+ menu_back <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ menu_driver <B><A HREF="menu_driver.3X.html">menu_driver(3X)</A></B>
+ menu_fore <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ menu_format <B><A HREF="menu_format.3X.html">menu_format(3X)</A></B>
+ menu_grey <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ menu_init <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ menu_items <B><A HREF="menu_items.3X.html">menu_items(3X)</A></B>
+ menu_mark <B><A HREF="menu_mark.3X.html">menu_mark(3X)</A></B>
+ menu_opts <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>
+ menu_opts_off <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>
+ menu_opts_on <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>
+ menu_pad <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ menu_pattern <B><A HREF="menu_pattern.3X.html">menu_pattern(3X)</A></B>
+ menu_request_by_name <B><A HREF="menu_requestname.3X.html">menu_requestname(3X)</A></B>
+ menu_request_name <B><A HREF="menu_requestname.3X.html">menu_requestname(3X)</A></B>
+
+ menu_spacing <B><A HREF="menu_spacing.3X.html">menu_spacing(3X)</A></B>
+ menu_sub <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
+ menu_term <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ menu_userptr <B><A HREF="menu_userptr.3X.html">menu_userptr(3X)</A></B>
+ menu_win <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
+ new_item <B><A HREF="mitem_new.3X.html">mitem_new(3X)</A></B>
+ new_menu <B><A HREF="menu_new.3X.html">menu_new(3X)</A></B>
+ pos_menu_cursor <B><A HREF="menu_cursor.3X.html">menu_cursor(3X)</A></B>
+ post_menu <B><A HREF="menu_post.3X.html">menu_post(3X)</A></B>
+ scale_menu <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
+ set_current_item <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
+ set_item_init <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ set_item_opts <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
+ set_item_term <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ set_item_userptr <B><A HREF="mitem_userptr.3X.html">mitem_userptr(3X)</A></B>
+ set_item_value <B><A HREF="mitem_value.3X.html">mitem_value(3X)</A></B>
+ set_menu_back <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ set_menu_fore <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ set_menu_format <B><A HREF="menu_format.3X.html">menu_format(3X)</A></B>
+ set_menu_grey <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ set_menu_init <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ set_menu_items <B><A HREF="menu_items.3X.html">menu_items(3X)</A></B>
+ set_menu_mark <B><A HREF="menu_mark.3X.html">menu_mark(3X)</A></B>
+ set_menu_opts <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
+ set_menu_pad <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
+ set_menu_pattern <B><A HREF="menu_pattern.3X.html">menu_pattern(3X)</A></B>
+ set_menu_spacing <B><A HREF="menu_spacing.3X.html">menu_spacing(3X)</A></B>
+ set_menu_sub <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
+ set_menu_term <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
+ set_menu_userptr <B><A HREF="menu_userptr.3X.html">menu_userptr(3X)</A></B>
+ set_menu_win <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
+ set_top_row <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
+ top_row <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
+ unpost_menu <B><A HREF="menu_post.3X.html">menu_post(3X)</A></B>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ Routines that return pointers return <B>NULL</B> on error. Routines that
return an integer return one of the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NO_MATCH</STRONG>
+ <B>E_NO_MATCH</B>
Character failed to match.
- <STRONG>E_NO_ROOM</STRONG>
+ <B>E_NO_ROOM</B>
Menu is too large for its window.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The menu has not been posted.
- <STRONG>E_NOT_SELECTABLE</STRONG>
+ <B>E_NOT_SELECTABLE</B>
The designated item cannot be selected.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu is already posted.
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The menu driver could not process the request.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_UNKNOWN_COMMAND</STRONG>
+ <B>E_UNKNOWN_COMMAND</B>
The menu driver code saw an unknown request code.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header files
- <STRONG><curses.h></STRONG> and <STRONG><eti.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header files
+ <B><curses.h></B> and <B><eti.h></B>.
In your library list, libmenu.a should be before libncurses.a; that is,
you should say "-lmenu -lncurses", not the other way around (which
These routines emulate the System V menu library. They were not
supported on Version 7 or BSD versions.
- The menu facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
- <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
+ The menu facility was documented in SVr4.2 in <I>Character</I> <I>User</I> <I>Interface</I>
+ <I>Programming</I> <I>(UNIX</I> <I>SVR4.2)</I>.
It is not part of X/Open Curses.
Aside from ncurses, there are few implementations:
- <STRONG>o</STRONG> systems based on SVr4 source code, e.g., Solaris.
+ <B>o</B> systems based on SVr4 source code, e.g., Solaris.
- <STRONG>o</STRONG> NetBSD curses.
+ <B>o</B> NetBSD curses.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ <B><A HREF="menu.3X.html">menu(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_attributes 3x</TITLE>
+<TITLE>menu_attributes 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_attributes 3x</H1>
+<H1 class="no-header">menu_attributes 3X</H1>
<PRE>
-<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+<B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B> <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu_back</STRONG>, <STRONG>menu_fore</STRONG>, <STRONG>menu_grey</STRONG>, <STRONG>menu_pad</STRONG>, <STRONG>set_menu_back</STRONG>,
- <STRONG>set_menu_fore</STRONG>, <STRONG>set_menu_grey</STRONG>, <STRONG>set_menu_pad</STRONG> - color and attribute
+ <B>menu_back</B>, <B>menu_fore</B>, <B>menu_grey</B>, <B>menu_pad</B>, <B>set_menu_back</B>,
+ <B>set_menu_fore</B>, <B>set_menu_grey</B>, <B>set_menu_pad</B> - color and attribute
control for menus
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_fore(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>menu_fore(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_fore(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>chtype</B> <I>attr</I><B>);</B>
+ <B>chtype</B> <B>menu_fore(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_menu_back(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>menu_back(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_back(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>chtype</B> <I>attr</I><B>);</B>
+ <B>chtype</B> <B>menu_back(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_menu_grey(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attr</EM><STRONG>);</STRONG>
- <STRONG>chtype</STRONG> <STRONG>menu_grey(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_grey(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>chtype</B> <I>attr</I><B>);</B>
+ <B>chtype</B> <B>menu_grey(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_menu_pad(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pad</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>menu_pad(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_pad(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>int</B> <I>pad</I><B>);</B>
+ <B>int</B> <B>menu_pad(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_menu_fore</STRONG> sets the foreground attribute of <EM>menu</EM>. This
- is the highlight used for selected menu items. <STRONG>menu_fore</STRONG> returns the
- foreground attribute. The default is <STRONG>A_REVERSE</STRONG>.
+ The function <B>set_menu_fore</B> sets the foreground attribute of <I>menu</I>. This
+ is the highlight used for selected menu items. <B>menu_fore</B> returns the
+ foreground attribute. The default is <B>A_REVERSE</B>.
- The function <STRONG>set_menu_back</STRONG> sets the background attribute of <EM>menu</EM>. This
+ The function <B>set_menu_back</B> sets the background attribute of <I>menu</I>. This
is the highlight used for selectable (but not currently selected) menu
- items. The function <STRONG>menu_back</STRONG> returns the background attribute. The
- default is <STRONG>A_NORMAL</STRONG>.
+ items. The function <B>menu_back</B> returns the background attribute. The
+ default is <B>A_NORMAL</B>.
- The function <STRONG>set_menu_grey</STRONG> sets the grey attribute of <EM>menu</EM>. This is the
+ The function <B>set_menu_grey</B> sets the grey attribute of <I>menu</I>. This is the
highlight used for un-selectable menu items in menus that permit more
- than one selection. The function <STRONG>menu_grey</STRONG> returns the grey attribute.
- The default is <STRONG>A_UNDERLINE</STRONG>.
+ than one selection. The function <B>menu_grey</B> returns the grey attribute.
+ The default is <B>A_UNDERLINE</B>.
- The function <STRONG>set_menu_pad</STRONG> sets the character used to fill the space
- between the name and description parts of a menu item. <STRONG>menu_pad</STRONG>
+ The function <B>set_menu_pad</B> sets the character used to fill the space
+ between the name and description parts of a menu item. <B>menu_pad</B>
returns the given menu's pad character. The default is a blank.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> and related pages whose names begin "menu_" for detailed
+ <B><A HREF="curses.3X.html">curses(3X)</A></B> and related pages whose names begin "menu_" for detailed
descriptions of the entry points.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ <B><A HREF="menu_attributes.3X.html">menu_attributes(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_cursor 3x</TITLE>
+<TITLE>menu_cursor 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_cursor 3x</H1>
+<H1 class="no-header">menu_cursor 3X</H1>
<PRE>
-<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+<B><A HREF="menu_cursor.3X.html">menu_cursor(3X)</A></B> <B><A HREF="menu_cursor.3X.html">menu_cursor(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>pos_menu_cursor</STRONG> - position a menu's cursor
+ <B>pos_menu_cursor</B> - position a menu's cursor
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>pos_menu_cursor(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>pos_menu_cursor(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>pos_menu_cursor</STRONG> restores the cursor to the current
+ The function <B>pos_menu_cursor</B> restores the cursor to the current
position associated with the menu's selected item. This is useful
- after <STRONG>curses</STRONG> routines have been called to do screen-painting in
+ after <B>curses</B> routines have been called to do screen-painting in
response to a menu select.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
This routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The menu has not been posted.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ <B><A HREF="menu_cursor.3X.html">menu_cursor(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_driver 3x</TITLE>
+<TITLE>menu_driver 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_driver 3x</H1>
+<H1 class="no-header">menu_driver 3X</H1>
<PRE>
-<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+<B><A HREF="menu_driver.3X.html">menu_driver(3X)</A></B> <B><A HREF="menu_driver.3X.html">menu_driver(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu_driver</STRONG> - command-processing loop of the menu system
+ <B>menu_driver</B> - command-processing loop of the menu system
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>menu_driver(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <B>int</B> <B>menu_driver(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>int</B> <I>c</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
Once a menu has been posted (displayed), you should funnel input events
- to it through <STRONG>menu_driver</STRONG>. This routine has three major input cases:
+ to it through <B>menu_driver</B>. This routine has three major input cases:
- <STRONG>o</STRONG> The input is a form navigation request. Navigation request codes
- are constants defined in <STRONG><form.h></STRONG>, which are distinct from the key-
- and character codes returned by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+ <B>o</B> The input is a form navigation request. Navigation request codes
+ are constants defined in <B><form.h></B>, which are distinct from the key-
+ and character codes returned by <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B>.
- <STRONG>o</STRONG> The input is a printable character. Printable characters (which
+ <B>o</B> The input is a printable character. Printable characters (which
must be positive, less than 256) are checked according to the
program's locale settings.
- <STRONG>o</STRONG> The input is the KEY_MOUSE special key associated with an mouse
+ <B>o</B> The input is the KEY_MOUSE special key associated with an mouse
event.
The menu driver requests are as follows:
If the second argument is a printable character, the code appends it to
the pattern buffer and attempts to move to the next item matching the
- new pattern. If there is no such match, <STRONG>menu_driver</STRONG> returns <STRONG>E_NO_MATCH</STRONG>
+ new pattern. If there is no such match, <B>menu_driver</B> returns <B>E_NO_MATCH</B>
and deletes the appended character from the buffer.
If the second argument is one of the above pre-defined requests, the
If you click above the display region of the menu:
- <STRONG>o</STRONG> a REQ_SCR_ULINE is generated for a single click,
+ <B>o</B> a REQ_SCR_ULINE is generated for a single click,
- <STRONG>o</STRONG> a REQ_SCR_UPAGE is generated for a double-click and
+ <B>o</B> a REQ_SCR_UPAGE is generated for a double-click and
- <STRONG>o</STRONG> a REQ_FIRST_ITEM is generated for a triple-click.
+ <B>o</B> a REQ_FIRST_ITEM is generated for a triple-click.
If you click below the display region of the menu:
- <STRONG>o</STRONG> a REQ_SCR_DLINE is generated for a single click,
+ <B>o</B> a REQ_SCR_DLINE is generated for a single click,
- <STRONG>o</STRONG> a REQ_SCR_DPAGE is generated for a double-click and
+ <B>o</B> a REQ_SCR_DPAGE is generated for a double-click and
- <STRONG>o</STRONG> a REQ_LAST_ITEM is generated for a triple-click.
+ <B>o</B> a REQ_LAST_ITEM is generated for a triple-click.
If you click at an item inside the display area of the menu:
- <STRONG>o</STRONG> the menu cursor is positioned to that item.
+ <B>o</B> the menu cursor is positioned to that item.
- <STRONG>o</STRONG> If you double-click an item a REQ_TOGGLE_ITEM is generated and
- <STRONG>E_UNKNOWN_COMMAND</STRONG> is returned. This return value makes sense,
+ <B>o</B> If you double-click an item a REQ_TOGGLE_ITEM is generated and
+ <B>E_UNKNOWN_COMMAND</B> is returned. This return value makes sense,
because a double click usually means that an item-specific action
should be returned. It is exactly the purpose of this return value
to signal that an application specific command should be executed.
- <STRONG>o</STRONG> If a translation into a request was done, <STRONG>menu_driver</STRONG> returns the
+ <B>o</B> If a translation into a request was done, <B>menu_driver</B> returns the
result of this request.
If you clicked outside the user window or the mouse event could not be
- translated into a menu request an <STRONG>E_REQUEST_DENIED</STRONG> is returned.
+ translated into a menu request an <B>E_REQUEST_DENIED</B> is returned.
</PRE><H3><a name="h3-APPLICATION-DEFINED-COMMANDS">APPLICATION-DEFINED COMMANDS</a></H3><PRE>
If the second argument is neither printable nor one of the above pre-
defined menu requests or KEY_MOUSE, the drive assumes it is an
- application-specific command and returns <STRONG>E_UNKNOWN_COMMAND</STRONG>.
- Application-defined commands should be defined relative to <STRONG>MAX_COMMAND</STRONG>,
+ application-specific command and returns <B>E_UNKNOWN_COMMAND</B>.
+ Application-defined commands should be defined relative to <B>MAX_COMMAND</B>,
the maximum value of these pre-defined requests.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>menu_driver</STRONG> return one of the following error codes:
+ <B>menu_driver</B> return one of the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The menu has not been posted.
- <STRONG>E_UNKNOWN_COMMAND</STRONG>
+ <B>E_UNKNOWN_COMMAND</B>
The menu driver code saw an unknown request code.
- <STRONG>E_NO_MATCH</STRONG>
+ <B>E_NO_MATCH</B>
Character failed to match.
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The menu driver could not process the request.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_getch.3x.html">getch(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_getch.3X.html">getch(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header files
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header files
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ <B><A HREF="menu_driver.3X.html">menu_driver(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_format 3x</TITLE>
+<TITLE>menu_format 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_format 3x</H1>
+<H1 class="no-header">menu_format 3X</H1>
<PRE>
-<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+<B><A HREF="menu_format.3X.html">menu_format(3X)</A></B> <B><A HREF="menu_format.3X.html">menu_format(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_format</STRONG>, <STRONG>menu_format</STRONG> - set and get menu sizes
+ <B>set_menu_format</B>, <B>menu_format</B> - set and get menu sizes
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_format(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>cols</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>menu_format(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>cols</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_format(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>int</B> <I>rows</I><B>,</B> <B>int</B> <I>cols</I><B>);</B>
+ <B>void</B> <B>menu_format(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>,</B> <B>int</B> <B>*</B><I>rows</I><B>,</B> <B>int</B> <B>*</B><I>cols</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_menu_format</STRONG> sets the maximum display size of the given
+ The function <B>set_menu_format</B> sets the maximum display size of the given
menu. If this size is too small to display all menu items, the menu
will be made scrollable. If this size is larger than the menus
subwindow and the subwindow is too small to display all menu items,
- <STRONG>post_menu</STRONG> will fail.
+ <B>post_menu</B> will fail.
- The default format is 16 rows, 1 column. Calling <STRONG>set_menu_format</STRONG> with
+ The default format is 16 rows, 1 column. Calling <B>set_menu_format</B> with
a null menu pointer will change this default. A zero row or column
- argument to <STRONG>set_menu_format</STRONG> is interpreted as a request not to change
+ argument to <B>set_menu_format</B> is interpreted as a request not to change
the current value.
- The function <STRONG>menu_format</STRONG> returns the maximum-size constraints for the
- given menu into the storage addressed by <STRONG>rows</STRONG> and <STRONG>cols</STRONG>.
+ The function <B>menu_format</B> returns the maximum-size constraints for the
+ given menu into the storage addressed by <B>rows</B> and <B>cols</B>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu is already posted.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ <B><A HREF="menu_format.3X.html">menu_format(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_hook 3x</TITLE>
+<TITLE>menu_hook 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_hook 3x</H1>
+<H1 class="no-header">menu_hook 3X</H1>
<PRE>
-<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+<B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B> <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu_hook</STRONG> - set hooks for automatic invocation by applications
+ <B>menu_hook</B> - set hooks for automatic invocation by applications
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_item_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
- <STRONG>Menu_Hook</STRONG> <STRONG>item_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+ <B>int</B> <B>set_item_init(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Hook</B> <I>func);</I>
+ <B>Menu_Hook</B> <B>item_init(const</B> <B>MENU</B> <B>*</B><I>menu);</I>
- <STRONG>int</STRONG> <STRONG>set_item_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
- <STRONG>Menu_Hook</STRONG> <STRONG>item_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+ <B>int</B> <B>set_item_term(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Hook</B> <I>func);</I>
+ <B>Menu_Hook</B> <B>item_term(const</B> <B>MENU</B> <B>*</B><I>menu);</I>
- <STRONG>int</STRONG> <STRONG>set_menu_init(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
- <STRONG>Menu_Hook</STRONG> <STRONG>menu_init(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+ <B>int</B> <B>set_menu_init(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Hook</B> <I>func);</I>
+ <B>Menu_Hook</B> <B>menu_init(const</B> <B>MENU</B> <B>*</B><I>menu);</I>
- <STRONG>int</STRONG> <STRONG>set_menu_term(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Hook</STRONG> <EM>func);</EM>
- <STRONG>Menu_Hook</STRONG> <STRONG>menu_term(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu);</EM>
+ <B>int</B> <B>set_menu_term(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Hook</B> <I>func);</I>
+ <B>Menu_Hook</B> <B>menu_term(const</B> <B>MENU</B> <B>*</B><I>menu);</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions make it possible to set hook functions to be called at
various points in the automatic processing of input event codes by
- <STRONG>menu_driver</STRONG>.
+ <B>menu_driver</B>.
- The function <STRONG>set_item_init</STRONG> sets a hook to be called at menu-post time
- and each time the selected item changes (after the change). <STRONG>item_init</STRONG>
- returns the current item init hook, if any (<STRONG>NULL</STRONG> if there is no such
+ The function <B>set_item_init</B> sets a hook to be called at menu-post time
+ and each time the selected item changes (after the change). <B>item_init</B>
+ returns the current item init hook, if any (<B>NULL</B> if there is no such
hook).
- The function <STRONG>set_item_term</STRONG> sets a hook to be called at menu-unpost time
- and each time the selected item changes (before the change). <STRONG>item_term</STRONG>
- returns the current item term hook, if any (<STRONG>NULL</STRONG> if there is no such
+ The function <B>set_item_term</B> sets a hook to be called at menu-unpost time
+ and each time the selected item changes (before the change). <B>item_term</B>
+ returns the current item term hook, if any (<B>NULL</B> if there is no such
hook).
- The function <STRONG>set_menu_init</STRONG> sets a hook to be called at menu-post time
+ The function <B>set_menu_init</B> sets a hook to be called at menu-post time
and just after the top row on the menu changes once it is posted.
- <STRONG>menu_init</STRONG> returns the current menu init hook, if any (<STRONG>NULL</STRONG> if there is
+ <B>menu_init</B> returns the current menu init hook, if any (<B>NULL</B> if there is
no such hook).
- The function <STRONG>set_menu_term</STRONG> sets a hook to be called at menu-unpost time
+ The function <B>set_menu_term</B> sets a hook to be called at menu-unpost time
and just before the top row on the menu changes once it is posted.
- <STRONG>menu_term</STRONG> returns the current menu term hook, if any (<STRONG>NULL</STRONG> if there is
+ <B>menu_term</B> returns the current menu term hook, if any (<B>NULL</B> if there is
no such hook).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Other routines
+ Routines that return pointers return <B>NULL</B> on error. Other routines
return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ <B><A HREF="menu_hook.3X.html">menu_hook(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_items 3x</TITLE>
+<TITLE>menu_items 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_items 3x</H1>
+<H1 class="no-header">menu_items 3X</H1>
<PRE>
-<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+<B><A HREF="menu_items.3X.html">menu_items(3X)</A></B> <B><A HREF="menu_items.3X.html">menu_items(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_items</STRONG>, <STRONG>menu_items</STRONG>, <STRONG>item_count</STRONG> - make and break connections
+ <B>set_menu_items</B>, <B>menu_items</B>, <B>item_count</B> - make and break connections
between items and menus
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_items(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
- <STRONG>ITEM</STRONG> <STRONG>**menu_items(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>item_count(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_items(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>ITEM</B> <B>**</B><I>items</I><B>);</B>
+ <B>ITEM</B> <B>**menu_items(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
+ <B>int</B> <B>item_count(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_menu_items</STRONG> changes the item pointer array of the given
- <EM>menu</EM>. The array must be terminated by a <STRONG>NULL</STRONG>.
+ The function <B>set_menu_items</B> changes the item pointer array of the given
+ <I>menu</I>. The array must be terminated by a <B>NULL</B>.
- The function <STRONG>menu_items</STRONG> returns the item array of the given menu.
+ The function <B>menu_items</B> returns the item array of the given menu.
- The function <STRONG>item_count</STRONG> returns the count of items in <EM>menu</EM>.
+ The function <B>item_count</B> returns the count of items in <I>menu</I>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>menu_items</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
- not set <STRONG>errno</STRONG>.
+ The function <B>menu_items</B> returns a pointer (which may be <B>NULL</B>). It does
+ not set <B>errno</B>.
- The function <STRONG>item_count</STRONG> returns <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error return
- value) if its <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ The function <B>item_count</B> returns <B>ERR</B> (the general <B>curses</B> error return
+ value) if its <I>menu</I> parameter is <B>NULL</B>.
- The function <STRONG>set_menu_items</STRONG> returns one of the following codes on
+ The function <B>set_menu_items</B> returns one of the following codes on
error:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu is already posted.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V menu library. They were not
supported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the <STRONG>item_count</STRONG> error
- value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <B>item_count</B> error
+ value as -1 (which is the value of <B>ERR</B>).
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ <B><A HREF="menu_items.3X.html">menu_items(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_mark 3x</TITLE>
+<TITLE>menu_mark 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_mark 3x</H1>
+<H1 class="no-header">menu_mark 3X</H1>
<PRE>
-<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+<B><A HREF="menu_mark.3X.html">menu_mark(3X)</A></B> <B><A HREF="menu_mark.3X.html">menu_mark(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_mark</STRONG>, <STRONG>menu_mark</STRONG> - get and set the menu mark string
+ <B>set_menu_mark</B>, <B>menu_mark</B> - get and set the menu mark string
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_mark(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>mark</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_mark(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_mark(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>mark</I><B>);</B>
+ <B>const</B> <B>char</B> <B>*menu_mark(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
highlighting or color capability, the menu library marks selected items
in a menu with a prefix string.
- The function <STRONG>set_menu_mark</STRONG> sets the mark string for the given menu.
- Calling <STRONG>set_menu_mark</STRONG> with a null menu item will abolish the mark
+ The function <B>set_menu_mark</B> sets the mark string for the given menu.
+ Calling <B>set_menu_mark</B> with a null menu item will abolish the mark
string. Note that changing the length of the mark string for a menu
while the menu is posted is likely to produce unhelpful behavior.
- The default string is "-" (a dash). Calling <STRONG>set_menu_mark</STRONG> with a non-
- <STRONG>NULL</STRONG> menu argument will change this default.
+ The default string is "-" (a dash). Calling <B>set_menu_mark</B> with a non-
+ <B>NULL</B> menu argument will change this default.
- The function <STRONG>menu_mark</STRONG> returns the menu's mark string (or <STRONG>NULL</STRONG> if there
+ The function <B>menu_mark</B> returns the menu's mark string (or <B>NULL</B> if there
is none).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>menu_mark</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does
- not set <STRONG>errno</STRONG>.
+ The function <B>menu_mark</B> returns a pointer (which may be <B>NULL</B>). It does
+ not set <B>errno</B>.
- The function <STRONG>set_menu_mark</STRONG> may return the following error codes:
+ The function <B>set_menu_mark</B> may return the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ <B><A HREF="menu_mark.3X.html">menu_mark(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_new 3x</TITLE>
+<TITLE>menu_new 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_new 3x</H1>
+<H1 class="no-header">menu_new 3X</H1>
<PRE>
-<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+<B><A HREF="menu_new.3X.html">menu_new(3X)</A></B> <B><A HREF="menu_new.3X.html">menu_new(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>new_menu</STRONG>, <STRONG>free_menu</STRONG> - create and destroy menus
+ <B>new_menu</B>, <B>free_menu</B> - create and destroy menus
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>MENU</STRONG> <STRONG>*new_menu(ITEM</STRONG> <STRONG>**</STRONG><EM>items</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>MENU</B> <B>*new_menu(ITEM</B> <B>**</B><I>items</I><B>);</B>
+ <B>int</B> <B>free_menu(MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>new_menu</STRONG> creates a new menu connected to a specified item
- pointer array (which must be <STRONG>NULL</STRONG>-terminated).
+ The function <B>new_menu</B> creates a new menu connected to a specified item
+ pointer array (which must be <B>NULL</B>-terminated).
- The function <STRONG>free_menu</STRONG> disconnects <EM>menu</EM> from its item array and frees
+ The function <B>free_menu</B> disconnects <I>menu</I> from its item array and frees
the storage allocated for the menu.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>new_menu</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
+ The function <B>new_menu</B> returns <B>NULL</B> on error. It sets <B>errno</B> according
to the function's failure:
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
- <STRONG>E_SYSTEM_ERROR</STRONG>
+ <B>E_SYSTEM_ERROR</B>
System error occurred, e.g., malloc failure.
- The function <STRONG>free_menu</STRONG> returns one of the following:
+ The function <B>free_menu</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu has already been posted.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ <B><A HREF="menu_new.3X.html">menu_new(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_opts 3x</TITLE>
+<TITLE>menu_opts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_opts 3x</H1>
+<H1 class="no-header">menu_opts 3X</H1>
<PRE>
-<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+<B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B> <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_opts</STRONG>, <STRONG>menu_opts_on</STRONG>, <STRONG>menu_opts_off</STRONG>, <STRONG>menu_opts</STRONG> - set and get
+ <B>set_menu_opts</B>, <B>menu_opts_on</B>, <B>menu_opts_off</B>, <B>menu_opts</B> - set and get
menu options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_opts(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>Menu_Options</STRONG> <STRONG>menu_opts(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_opts(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Options</B> <I>opts</I><B>);</B>
+ <B>Menu_Options</B> <B>menu_opts(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>menu_opts_on(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>menu_opts_off(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>Menu_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>menu_opts_on(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Options</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>menu_opts_off(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>Menu_Options</B> <I>opts</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_menu_opts</STRONG> sets all the given menu's option bits (menu
+ The function <B>set_menu_opts</B> sets all the given menu's option bits (menu
option bits may be logically-OR'ed together).
- The function <STRONG>menu_opts_on</STRONG> turns on the given option bits, and leaves
+ The function <B>menu_opts_on</B> turns on the given option bits, and leaves
others alone.
- The function <STRONG>menu_opts_off</STRONG> turns off the given option bits, and leaves
+ The function <B>menu_opts_off</B> turns off the given option bits, and leaves
others alone.
- The function <STRONG>menu_opts</STRONG> returns the menu's current option bits.
+ The function <B>menu_opts</B> returns the menu's current option bits.
The following options are defined (all are on by default):
O_MOUSE_MENU
If user clicks with the mouse and it does not fall on the
- currently active menu, push <STRONG>KEY_MOUSE</STRONG> and the <STRONG>MEVENT</STRONG> data back on
+ currently active menu, push <B>KEY_MOUSE</B> and the <B>MEVENT</B> data back on
the queue to allow processing in another part of the calling
program.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>menu_opts</STRONG>, each routine returns one of the following:
+ Except for <B>menu_opts</B>, each routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu is already posted.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_pattern 3x</TITLE>
+<TITLE>menu_pattern 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_pattern 3x</H1>
+<H1 class="no-header">menu_pattern 3X</H1>
<PRE>
-<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+<B><A HREF="menu_pattern.3X.html">menu_pattern(3X)</A></B> <B><A HREF="menu_pattern.3X.html">menu_pattern(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_pattern</STRONG>, <STRONG>menu_pattern</STRONG> - set and get a menu's pattern buffer
+ <B>set_menu_pattern</B>, <B>menu_pattern</B> - set and get a menu's pattern buffer
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_pattern(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>pattern</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*menu_pattern(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_pattern(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>pattern</I><B>);</B>
+ <B>char</B> <B>*menu_pattern(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
Every menu has an associated pattern match buffer. As input events
that are printable characters come in, they are appended to this match
- buffer and tested for a match, as described in <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>.
+ buffer and tested for a match, as described in <B><A HREF="menu_driver.3X.html">menu_driver(3X)</A></B>.
- The function <STRONG>set_menu_pattern</STRONG> sets the pattern buffer for the given
+ The function <B>set_menu_pattern</B> sets the pattern buffer for the given
menu and tries to find the first matching item. If it succeeds, that
item becomes current; if not, the current item does not change.
- The function <STRONG>menu_pattern</STRONG> returns the pattern buffer of the given <EM>menu</EM>.
+ The function <B>menu_pattern</B> returns the pattern buffer of the given <I>menu</I>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>menu_pattern</STRONG> returns a pointer, which is <STRONG>NULL</STRONG> if the <EM>menu</EM>
- parameter is <STRONG>NULL</STRONG>. Otherwise, it is a pointer to a string which is
- empty if no pattern has been set. It does not set <STRONG>errno</STRONG>.
+ The function <B>menu_pattern</B> returns a pointer, which is <B>NULL</B> if the <I>menu</I>
+ parameter is <B>NULL</B>. Otherwise, it is a pointer to a string which is
+ empty if no pattern has been set. It does not set <B>errno</B>.
- The function <STRONG>set_menu_pattern</STRONG> may return the following error codes:
+ The function <B>set_menu_pattern</B> may return the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to menu.
- <STRONG>E_NO_MATCH</STRONG>
+ <B>E_NO_MATCH</B>
Character failed to match.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ <B><A HREF="menu_pattern.3X.html">menu_pattern(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_post 3x</TITLE>
+<TITLE>menu_post 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_post 3x</H1>
+<H1 class="no-header">menu_post 3X</H1>
<PRE>
-<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+<B><A HREF="menu_post.3X.html">menu_post(3X)</A></B> <B><A HREF="menu_post.3X.html">menu_post(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>post_menu</STRONG>, <STRONG>unpost_menu</STRONG> - write or erase menus from associated
+ <B>post_menu</B>, <B>unpost_menu</B> - write or erase menus from associated
subwindows
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>post_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unpost_menu(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>post_menu(MENU</B> <B>*</B><I>menu</I><B>);</B>
+ <B>int</B> <B>unpost_menu(MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>post_menu</STRONG> displays a menu to its associated subwindow. To
- trigger physical display of the subwindow, use <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> or some
- equivalent <STRONG>curses</STRONG> routine (the implicit <STRONG>doupdate</STRONG> triggered by an <STRONG>curses</STRONG>
- input request will do). <STRONG>post_menu</STRONG> resets the selection status of all
+ The function <B>post_menu</B> displays a menu to its associated subwindow. To
+ trigger physical display of the subwindow, use <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> or some
+ equivalent <B>curses</B> routine (the implicit <B>doupdate</B> triggered by an <B>curses</B>
+ input request will do). <B>post_menu</B> resets the selection status of all
items.
- The function <STRONG>unpost_menu</STRONG> erases menu from its associated subwindow.
+ The function <B>unpost_menu</B> erases menu from its associated subwindow.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
These routines return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu has already been posted.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NO_ROOM</STRONG>
+ <B>E_NO_ROOM</B>
Menu is too large for its window. You should consider using
- <STRONG>set_menu_format</STRONG> to solve the problem.
+ <B>set_menu_format</B> to solve the problem.
- <STRONG>E_NOT_POSTED</STRONG>
+ <B>E_NOT_POSTED</B>
The menu has not been posted.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ <B><A HREF="menu_post.3X.html">menu_post(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_requestname 3x</TITLE>
+<TITLE>menu_requestname 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_requestname 3x</H1>
+<H1 class="no-header">menu_requestname 3X</H1>
<PRE>
-<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+<B><A HREF="menu_requestname.3X.html">menu_requestname(3X)</A></B> <B><A HREF="menu_requestname.3X.html">menu_requestname(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu_request_by_name</STRONG>, <STRONG>menu_request_name</STRONG> - handle printable menu request
+ <B>menu_request_by_name</B>, <B>menu_request_name</B> - handle printable menu request
names
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*menu_request_name(int</STRONG> <EM>request</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>menu_request_by_name(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*menu_request_name(int</B> <I>request</I><B>);</B>
+ <B>int</B> <B>menu_request_by_name(const</B> <B>char</B> <B>*</B><I>name</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>menu_request_name</STRONG> returns the printable name of a menu
+ The function <B>menu_request_name</B> returns the printable name of a menu
request code.
- The function <STRONG>menu_request_by_name</STRONG> searches in the name-table for a
+ The function <B>menu_request_by_name</B> searches in the name-table for a
request with the given name and returns its request code. Otherwise
E_NO_MATCH is returned.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>menu_request_name</STRONG> returns <STRONG>NULL</STRONG> on error and sets <STRONG>errno</STRONG> to
- <STRONG>E_BAD_ARGUMENT</STRONG>.
- <STRONG>menu_request_by_name</STRONG> returns <STRONG>E_NO_MATCH</STRONG> on error. It does not set
- <STRONG>errno</STRONG>.
+ <B>menu_request_name</B> returns <B>NULL</B> on error and sets <B>errno</B> to
+ <B>E_BAD_ARGUMENT</B>.
+ <B>menu_request_by_name</B> returns <B>E_NO_MATCH</B> on error. It does not set
+ <B>errno</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ <B><A HREF="menu_requestname.3X.html">menu_requestname(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_spacing 3x</TITLE>
+<TITLE>menu_spacing 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_spacing 3x</H1>
+<H1 class="no-header">menu_spacing 3X</H1>
<PRE>
-<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+<B><A HREF="menu_spacing.3X.html">menu_spacing(3X)</A></B> <B><A HREF="menu_spacing.3X.html">menu_spacing(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_spacing</STRONG>, <STRONG>menu_spacing</STRONG> - set and get spacing between menu
+ <B>set_menu_spacing</B>, <B>menu_spacing</B> - set and get spacing between menu
items.
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_spacing(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
- <STRONG>int</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>menu_spacing(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG>
- <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>description</EM><STRONG>,</STRONG>
- <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>rows</EM><STRONG>,</STRONG>
- <STRONG>int*</STRONG> <EM>spc</EM><STRONG>_</STRONG><EM>columns</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_spacing(MENU</B> <B>*</B><I>menu</I><B>,</B>
+ <B>int</B> <I>spc</I><B>_</B><I>description</I><B>,</B>
+ <B>int</B> <I>spc</I><B>_</B><I>rows</I><B>,</B>
+ <B>int</B> <I>spc</I><B>_</B><I>columns</I><B>);</B>
+ <B>int</B> <B>menu_spacing(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>,</B>
+ <B>int*</B> <I>spc</I><B>_</B><I>description</I><B>,</B>
+ <B>int*</B> <I>spc</I><B>_</B><I>rows</I><B>,</B>
+ <B>int*</B> <I>spc</I><B>_</B><I>columns</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_menu_spacing</STRONG> sets the spacing information for the
- menu. Its parameter <STRONG>spc_description</STRONG> controls the number of spaces
+ The function <B>set_menu_spacing</B> sets the spacing information for the
+ menu. Its parameter <B>spc_description</B> controls the number of spaces
between an item name and an item description. It must not be larger
- than <STRONG>TABSIZE</STRONG>. The menu system puts in the middle of this spacing area
+ than <B>TABSIZE</B>. The menu system puts in the middle of this spacing area
the pad character. The remaining parts are filled with spaces. The
- <STRONG>spc_rows</STRONG> parameter controls the number of rows that are used for an
+ <B>spc_rows</B> parameter controls the number of rows that are used for an
item. It must not be larger than 3. The menu system inserts the blank
lines between item rows, these lines will contain the pad character in
- the appropriate positions. The <STRONG>spc_columns</STRONG> parameter controls the
+ the appropriate positions. The <B>spc_columns</B> parameter controls the
number of blanks between columns of items. It must not be larger than
- <STRONG>TABSIZE</STRONG>. A value of 0 for all the spacing values resets them to the
+ <B>TABSIZE</B>. A value of 0 for all the spacing values resets them to the
default, which is 1 for all of them.
- The function <STRONG>menu_spacing</STRONG> passes back the spacing info for the menu.
+ The function <B>menu_spacing</B> passes back the spacing info for the menu.
If a pointer is NULL, this specific info is simply not returned.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Both routines return <STRONG>E_OK</STRONG> on success. <STRONG>set_menu_spacing</STRONG> may return
- <STRONG>E_POSTED</STRONG> if the menu is posted, or <STRONG>E_BAD_ARGUMENT</STRONG> if one of the spacing
+ Both routines return <B>E_OK</B> on success. <B>set_menu_spacing</B> may return
+ <B>E_POSTED</B> if the menu is posted, or <B>E_BAD_ARGUMENT</B> if one of the spacing
values is out of range.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ <B><A HREF="menu_spacing.3X.html">menu_spacing(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_userptr 3x</TITLE>
+<TITLE>menu_userptr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_userptr 3x</H1>
+<H1 class="no-header">menu_userptr 3X</H1>
<PRE>
-<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+<B><A HREF="menu_userptr.3X.html">menu_userptr(3X)</A></B> <B><A HREF="menu_userptr.3X.html">menu_userptr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_menu_userptr</STRONG>, <STRONG>menu_userptr</STRONG> - associate application data with a menu
+ <B>set_menu_userptr</B>, <B>menu_userptr</B> - associate application data with a menu
item
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_userptr(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>*menu_userptr(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_userptr(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>void</B> <B>*</B><I>userptr</I><B>);</B>
+ <B>void</B> <B>*menu_userptr(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>menu_userptr</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
- <STRONG>errno</STRONG>.
+ <B>menu_userptr</B> returns a pointer (which may be <B>NULL</B>). It does not set
+ <B>errno</B>.
- <STRONG>set_menu_userptr</STRONG> returns <STRONG>E_OK</STRONG> (success).
+ <B>set_menu_userptr</B> returns <B>E_OK</B> (success).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ <B><A HREF="menu_userptr.3X.html">menu_userptr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_win 3x</TITLE>
+<TITLE>menu_win 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">menu_win 3x</H1>
+<H1 class="no-header">menu_win 3X</H1>
<PRE>
-<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+<B><A HREF="menu_win.3X.html">menu_win(3X)</A></B> <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>menu_win</STRONG> - make and break menu window and subwindow associations
+ <B>menu_win</B> - make and break menu window and subwindow associations
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_menu_win(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*menu_win(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_win(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>WINDOW</B> <B>*</B><I>win</I><B>);</B>
+ <B>WINDOW</B> <B>*menu_win(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_menu_sub(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>sub</EM><STRONG>);</STRONG>
- <STRONG>WINDOW</STRONG> <STRONG>*menu_sub(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_menu_sub(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>WINDOW</B> <B>*</B><I>sub</I><B>);</B>
+ <B>WINDOW</B> <B>*menu_sub(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>scale_menu(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu,</EM> <EM>int</EM> <EM>*rows</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG><EM>columns);</EM>
+ <B>int</B> <B>scale_menu(const</B> <B>MENU</B> <B>*</B><I>menu,</I> <I>int</I> <I>*rows</I><B>,</B> <B>int</B> <B>*</B><I>columns);</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- Every menu has an associated pair of <STRONG>curses</STRONG> windows. The menu window
+ Every menu has an associated pair of <B>curses</B> windows. The menu window
displays any title and border associated with the window; the menu
subwindow displays the items of the menu that are currently available
for selection.
The first four functions get and set those windows. It is not
- necessary to set either window; by default, the driver code uses <STRONG>stdscr</STRONG>
+ necessary to set either window; by default, the driver code uses <B>stdscr</B>
for both.
- In the <STRONG>set_</STRONG> functions, window argument of <STRONG>NULL</STRONG> is treated as though it
- were <STRONG>stsdcr</STRONG>. A menu argument of <STRONG>NULL</STRONG> is treated as a request to change
+ In the <B>set_</B> functions, window argument of <B>NULL</B> is treated as though it
+ were <B>stsdcr</B>. A menu argument of <B>NULL</B> is treated as a request to change
the system default menu window or subwindow.
- The function <STRONG>scale_menu</STRONG> returns the minimum size required for the
- subwindow of <EM>menu</EM>.
+ The function <B>scale_menu</B> returns the minimum size required for the
+ subwindow of <I>menu</I>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return pointers return <STRONG>NULL</STRONG> on error. Routines that
+ Routines that return pointers return <B>NULL</B> on error. Routines that
return an integer return one of the following error codes:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_POSTED</STRONG>
+ <B>E_POSTED</B>
The menu has already been posted.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ <B><A HREF="menu_win.3X.html">menu_win(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_current 3x</TITLE>
+<TITLE>mitem_current 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_current 3x</H1>
+<H1 class="no-header">mitem_current 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+<B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B> <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>mitem_current</STRONG> - set and get current_menu_item
+ <B>mitem_current</B> - set and get current_menu_item
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_current_item(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
- <STRONG>ITEM</STRONG> <STRONG>*current_item(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_current_item(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
+ <B>ITEM</B> <B>*current_item(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_top_row(MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>row</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>top_row(const</STRONG> <STRONG>MENU</STRONG> <STRONG>*</STRONG><EM>menu</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_top_row(MENU</B> <B>*</B><I>menu</I><B>,</B> <B>int</B> <I>row</I><B>);</B>
+ <B>int</B> <B>top_row(const</B> <B>MENU</B> <B>*</B><I>menu</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>item_index(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>int</B> <B>item_index(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_current_item</STRONG> sets the current item (the item on which
- the menu cursor is positioned). <STRONG>current_item</STRONG> returns a pointer to the
+ The function <B>set_current_item</B> sets the current item (the item on which
+ the menu cursor is positioned). <B>current_item</B> returns a pointer to the
current item in the given menu.
- The function <STRONG>set_top_row</STRONG> sets the top row of the menu to show the given
+ The function <B>set_top_row</B> sets the top row of the menu to show the given
row (the top row is initially 0, and is reset to this value whenever
- the <STRONG>O_ROWMAJOR</STRONG> option is toggled). The item leftmost on the given row
- becomes current. The function <STRONG>top_row</STRONG> returns the number of the top
+ the <B>O_ROWMAJOR</B> option is toggled). The item leftmost on the given row
+ becomes current. The function <B>top_row</B> returns the number of the top
menu row being displayed.
- The function <STRONG>item_index</STRONG> returns the (zero-origin) index of <EM>item</EM> in the
+ The function <B>item_index</B> returns the (zero-origin) index of <I>item</I> in the
menu's item pointer list.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>current_item</STRONG> returns a pointer (which may be <STRONG>NULL</STRONG>). It does not set
- <STRONG>errno</STRONG>.
+ <B>current_item</B> returns a pointer (which may be <B>NULL</B>). It does not set
+ <B>errno</B>.
- <STRONG>top_row</STRONG> and <STRONG>item_index</STRONG> return <STRONG>ERR</STRONG> (the general <STRONG>curses</STRONG> error value) if
- their <EM>menu</EM> parameter is <STRONG>NULL</STRONG>.
+ <B>top_row</B> and <B>item_index</B> return <B>ERR</B> (the general <B>curses</B> error value) if
+ their <I>menu</I> parameter is <B>NULL</B>.
- <STRONG>set_current_item</STRONG> and <STRONG>set_top_row</STRONG> return one of the following:
+ <B>set_current_item</B> and <B>set_top_row</B> return one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_BAD_STATE</STRONG>
+ <B>E_BAD_STATE</B>
Routine was called from an initialization or termination function.
- <STRONG>E_NOT_CONNECTED</STRONG>
+ <B>E_NOT_CONNECTED</B>
No items are connected to the menu.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
These routines emulate the System V menu library. They were not
supported on Version 7 or BSD versions.
- The SVr4 menu library documentation specifies the <STRONG>top_row</STRONG> and
- <STRONG>index_item</STRONG> error value as -1 (which is the value of <STRONG>ERR</STRONG>).
+ The SVr4 menu library documentation specifies the <B>top_row</B> and
+ <B>index_item</B> error value as -1 (which is the value of <B>ERR</B>).
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ <B><A HREF="mitem_current.3X.html">mitem_current(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_name 3x</TITLE>
+<TITLE>mitem_name 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_name 3x</H1>
+<H1 class="no-header">mitem_name 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+<B><A HREF="mitem_name.3X.html">mitem_name(3X)</A></B> <B><A HREF="mitem_name.3X.html">mitem_name(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>item_name</STRONG>, <STRONG>item_description</STRONG> - get menu item name and description fields
+ <B>item_name</B>, <B>item_description</B> - get menu item name and description fields
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_name(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*item_description(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>const</B> <B>char</B> <B>*item_name(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
+ <B>const</B> <B>char</B> <B>*item_description(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>item_name</STRONG> returns the name part of the given item.
- The function <STRONG>item_description</STRONG> returns the description part of the given
+ The function <B>item_name</B> returns the name part of the given item.
+ The function <B>item_description</B> returns the description part of the given
item.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return a pointer (which may be <STRONG>NULL</STRONG>). They do not set
- <STRONG>errno</STRONG>.
+ These routines return a pointer (which may be <B>NULL</B>). They do not set
+ <B>errno</B>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ <B><A HREF="mitem_name.3X.html">mitem_name(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_new 3x</TITLE>
+<TITLE>mitem_new 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_new 3x</H1>
+<H1 class="no-header">mitem_new 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+<B><A HREF="mitem_new.3X.html">mitem_new(3X)</A></B> <B><A HREF="mitem_new.3X.html">mitem_new(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>new_item</STRONG>, <STRONG>free_item</STRONG> - create and destroy menu items
+ <B>new_item</B>, <B>free_item</B> - create and destroy menu items
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>ITEM</STRONG> <STRONG>*new_item(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>name</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>description</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_item(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>ITEM</B> <B>*new_item(const</B> <B>char</B> <B>*</B><I>name</I><B>,</B> <B>const</B> <B>char</B> <B>*</B><I>description</I><B>);</B>
+ <B>int</B> <B>free_item(ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>new_item</STRONG> allocates a new item and initializes it from the
- <STRONG>name</STRONG> and <STRONG>description</STRONG> pointers. Please notice that the item stores only
+ The function <B>new_item</B> allocates a new item and initializes it from the
+ <B>name</B> and <B>description</B> pointers. Please notice that the item stores only
the pointers to the name and description. Those pointers must be valid
during the lifetime of the item. So you should be very careful with
names or descriptions allocated on the stack of some routines.
- The function <STRONG>free_item</STRONG> de-allocates an item. Please notice that it is
+ The function <B>free_item</B> de-allocates an item. Please notice that it is
the responsibility of the application to release the memory for the
name or the description of the item.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>new_item</STRONG> returns <STRONG>NULL</STRONG> on error. It sets <STRONG>errno</STRONG> according
+ The function <B>new_item</B> returns <B>NULL</B> on error. It sets <B>errno</B> according
to the function's failure:
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_SYSTEM_ERROR</STRONG>
+ <B>E_SYSTEM_ERROR</B>
System error occurred, e.g., malloc failure.
- The function <STRONG>free_item</STRONG> returns one of the following:
+ The function <B>free_item</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_BAD_ARGUMENT</STRONG>
+ <B>E_BAD_ARGUMENT</B>
Routine detected an incorrect or out-of-range argument.
- <STRONG>E_CONNECTED</STRONG>
+ <B>E_CONNECTED</B>
Item is connected to a menu.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ <B><A HREF="mitem_new.3X.html">mitem_new(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_opts 3x</TITLE>
+<TITLE>mitem_opts 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_opts 3x</H1>
+<H1 class="no-header">mitem_opts 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+<B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B> <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_item_opts</STRONG>, <STRONG>item_opts_on</STRONG>, <STRONG>item_opts_off</STRONG>, <STRONG>item_opts</STRONG> - set and get
+ <B>set_item_opts</B>, <B>item_opts_on</B>, <B>item_opts_off</B>, <B>item_opts</B> - set and get
menu item options
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_item_opts(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>Item_Options</STRONG> <STRONG>item_opts(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_item_opts(ITEM</B> <B>*</B><I>item</I><B>,</B> <B>Item_Options</B> <I>opts</I><B>);</B>
+ <B>Item_Options</B> <B>item_opts(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>item_opts_on(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>item_opts_off(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>Item_Options</STRONG> <EM>opts</EM><STRONG>);</STRONG>
+ <B>int</B> <B>item_opts_on(ITEM</B> <B>*</B><I>item</I><B>,</B> <B>Item_Options</B> <I>opts</I><B>);</B>
+ <B>int</B> <B>item_opts_off(ITEM</B> <B>*</B><I>item</I><B>,</B> <B>Item_Options</B> <I>opts</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The function <STRONG>set_item_opts</STRONG> sets all the given item's option bits (menu
+ The function <B>set_item_opts</B> sets all the given item's option bits (menu
option bits may be logically-OR'ed together).
- The function <STRONG>item_opts_on</STRONG> turns on the given option bits, and leaves
+ The function <B>item_opts_on</B> turns on the given option bits, and leaves
others alone.
- The function <STRONG>item_opts_off</STRONG> turns off the given option bits, and leaves
+ The function <B>item_opts_off</B> turns off the given option bits, and leaves
others alone.
- The function <STRONG>item_opts</STRONG> returns the item's current option bits.
+ The function <B>item_opts</B> returns the item's current option bits.
- There is only one defined option bit mask, <STRONG>O_SELECTABLE</STRONG>. When this is
+ There is only one defined option bit mask, <B>O_SELECTABLE</B>. When this is
on, the item may be selected during menu processing. This option
defaults to on.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except for <STRONG>item_opts</STRONG>, each routine returns one of the following:
+ Except for <B>item_opts</B>, each routine returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ <B><A HREF="mitem_opts.3X.html">mitem_opts(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_userptr 3x</TITLE>
+<TITLE>mitem_userptr 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_userptr 3x</H1>
+<H1 class="no-header">mitem_userptr 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+<B><A HREF="mitem_userptr.3X.html">mitem_userptr(3X)</A></B> <B><A HREF="mitem_userptr.3X.html">mitem_userptr(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_item_userptr</STRONG>, <STRONG>item_userptr</STRONG> - associate application data with a menu
+ <B>set_item_userptr</B>, <B>item_userptr</B> - associate application data with a menu
item
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_item_userptr(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>userptr</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>*item_userptr(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_item_userptr(ITEM</B> <B>*</B><I>item</I><B>,</B> <B>void</B> <B>*</B><I>userptr</I><B>);</B>
+ <B>void</B> <B>*item_userptr(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>item_userptr</STRONG> returns a pointer (possibly <STRONG>NULL</STRONG>). It does
- not set <STRONG>errno</STRONG>.
+ The function <B>item_userptr</B> returns a pointer (possibly <B>NULL</B>). It does
+ not set <B>errno</B>.
- The <STRONG>set_item_userptr</STRONG> always returns <STRONG>E_OK</STRONG> (success).
+ The <B>set_item_userptr</B> always returns <B>E_OK</B> (success).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ <B><A HREF="mitem_userptr.3X.html">mitem_userptr(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_value 3x</TITLE>
+<TITLE>mitem_value 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_value 3x</H1>
+<H1 class="no-header">mitem_value 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+<B><A HREF="mitem_value.3X.html">mitem_value(3X)</A></B> <B><A HREF="mitem_value.3X.html">mitem_value(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>set_item_value</STRONG>, <STRONG>item_value</STRONG> - set and get menu item values
+ <B>set_item_value</B>, <B>item_value</B> - set and get menu item values
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>int</STRONG> <STRONG>set_item_value(ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>value</EM><STRONG>);</STRONG>
- <STRONG>bool</STRONG> <STRONG>item_value(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_item_value(ITEM</B> <B>*</B><I>item</I><B>,</B> <B>bool</B> <I>value</I><B>);</B>
+ <B>bool</B> <B>item_value(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- If you turn off the menu option <STRONG>O_ONEVALUE</STRONG> (e.g., with <STRONG>set_menu_opts</STRONG> or
- <STRONG>menu_opts_off</STRONG>; see <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>), the menu becomes multi-valued; that
+ If you turn off the menu option <B>O_ONEVALUE</B> (e.g., with <B>set_menu_opts</B> or
+ <B>menu_opts_off</B>; see <B><A HREF="menu_opts.3X.html">menu_opts(3X)</A></B>), the menu becomes multi-valued; that
is, more than one item may simultaneously be selected.
- In a multi_valued menu, you can used <STRONG>set_item_value</STRONG> to select the given
- menu item (second argument <STRONG>TRUE</STRONG>) or deselect it (second argument
- <STRONG>FALSE</STRONG>).
+ In a multi_valued menu, you can used <B>set_item_value</B> to select the given
+ menu item (second argument <B>TRUE</B>) or deselect it (second argument
+ <B>FALSE</B>).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function <STRONG>set_item_value</STRONG> returns one of the following:
+ The function <B>set_item_value</B> returns one of the following:
- <STRONG>E_OK</STRONG> The routine succeeded.
+ <B>E_OK</B> The routine succeeded.
- <STRONG>E_SYSTEM_ERROR</STRONG>
- System error occurred (see <STRONG>errno(3)</STRONG>).
+ <B>E_SYSTEM_ERROR</B>
+ System error occurred (see <B>errno(3)</B>).
- <STRONG>E_REQUEST_DENIED</STRONG>
+ <B>E_REQUEST_DENIED</B>
The menu driver could not process the request.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ <B><A HREF="mitem_value.3X.html">mitem_value(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_visible 3x</TITLE>
+<TITLE>mitem_visible 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_visible 3x</H1>
+<H1 class="no-header">mitem_visible 3X</H1>
<PRE>
-<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+<B><A HREF="mitem_visible.3X.html">mitem_visible(3X)</A></B> <B><A HREF="mitem_visible.3X.html">mitem_visible(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>mitem_visible</STRONG> - check visibility of a menu item
+ <B>mitem_visible</B> - check visibility of a menu item
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><menu.h></STRONG>
+ <B>#include</B> <B><menu.h></B>
- <STRONG>bool</STRONG> <STRONG>item_visible(const</STRONG> <STRONG>ITEM</STRONG> <STRONG>*</STRONG><EM>item</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>item_visible(const</B> <B>ITEM</B> <B>*</B><I>item</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="menu.3X.html">menu(3X)</A></B>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The header file <STRONG><menu.h></STRONG> automatically includes the header file
- <STRONG><curses.h></STRONG>.
+ The header file <B><menu.h></B> automatically includes the header file
+ <B><curses.h></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ <B><A HREF="mitem_visible.3X.html">mitem_visible(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x</TITLE>
+<TITLE>ncurses 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x</H1>
+<H1 class="no-header">ncurses 3X</H1>
<PRE>
-<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+<B><A HREF="ncurses.3X.html">ncurses(3X)</A></B> <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>ncurses</STRONG> - CRT screen handling and optimization package
+ <B>ncurses</B> - CRT screen handling and optimization package
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>ncurses</STRONG> library routines give the user a terminal-independent
+ The <B>ncurses</B> library routines give the user a terminal-independent
method of updating character screens with reasonable optimization.
This implementation is "new curses" (ncurses) and is the approved
replacement for 4.4BSD classic curses, which has been discontinued.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- The <STRONG>ncurses</STRONG> library emulates the curses library of System V Release 4
+ The <B>ncurses</B> library emulates the curses library of System V Release 4
UNIX, and XPG4 (X/Open Portability Guide) curses (also known as XSI
curses). XSI stands for X/Open System Interfaces Extension. The
- <STRONG>ncurses</STRONG> library is freely redistributable in source form. Differences
- from the SVr4 curses are summarized under the <STRONG>EXTENSIONS</STRONG> and
- <STRONG>PORTABILITY</STRONG> sections below and described in detail in the respective
- <STRONG>EXTENSIONS</STRONG>, <STRONG>PORTABILITY</STRONG> and <STRONG>BUGS</STRONG> sections of individual man pages.
+ <B>ncurses</B> library is freely redistributable in source form. Differences
+ from the SVr4 curses are summarized under the <B>EXTENSIONS</B> and
+ <B>PORTABILITY</B> sections below and described in detail in the respective
+ <B>EXTENSIONS</B>, <B>PORTABILITY</B> and <B>BUGS</B> sections of individual man pages.
- The <STRONG>ncurses</STRONG> library also provides many useful extensions, i.e.,
+ The <B>ncurses</B> library also provides many useful extensions, i.e.,
features which cannot be implemented by a simple add-on library but
which require access to the internals of the library.
- A program using these routines must be linked with the <STRONG>-lncurses</STRONG>
+ A program using these routines must be linked with the <B>-lncurses</B>
option, or (if it has been generated) with the debugging library
- <STRONG>-lncurses_g</STRONG>. (Your system integrator may also have installed these
- libraries under the names <STRONG>-lcurses</STRONG> and <STRONG>-lcurses_g</STRONG>.) The ncurses_g
+ <B>-lncurses_g</B>. (Your system integrator may also have installed these
+ libraries under the names <B>-lcurses</B> and <B>-lcurses_g</B>.) The ncurses_g
library generates trace logs (in a file called 'trace' in the current
directory) that describe curses actions. See also the section on
- <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>.
+ <B>ALTERNATE</B> <B>CONFIGURATIONS</B>.
- The <STRONG>ncurses</STRONG> package supports: overall screen, window and pad
+ The <B>ncurses</B> package supports: overall screen, window and pad
manipulation; output to windows and pads; reading terminal input;
- control over terminal and <STRONG>curses</STRONG> input and output options; environment
+ control over terminal and <B>curses</B> input and output options; environment
query routines; color manipulation; use of soft label keys; terminfo
capabilities; and access to low-level terminal-manipulation routines.
</PRE><H3><a name="h3-Initialization">Initialization</a></H3><PRE>
The library uses the locale which the calling program has initialized.
- That is normally done with <STRONG>setlocale</STRONG>:
+ That is normally done with <B>setlocale</B>:
- <STRONG>setlocale(LC_ALL,</STRONG> <STRONG>"");</STRONG>
+ <B>setlocale(LC_ALL,</B> <B>"");</B>
If the locale is not initialized, the library assumes that characters
are printable as in ISO-8859-1, to work with certain legacy programs.
You should initialize the locale and not rely on specific details of
the library when the locale has not been setup.
- The function <STRONG>initscr</STRONG> or <STRONG>newterm</STRONG> must be called to initialize the
+ The function <B>initscr</B> or <B>newterm</B> must be called to initialize the
library before any of the other routines that deal with windows and
- screens are used. The routine <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> must be called before
+ screens are used. The routine <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B> must be called before
exiting.
To get character-at-a-time input without echoing (most interactive,
screen oriented programs want this), the following sequence should be
used:
- <STRONG>initscr();</STRONG> <STRONG>cbreak();</STRONG> <STRONG>noecho();</STRONG>
+ <B>initscr();</B> <B>cbreak();</B> <B>noecho();</B>
Most programs would additionally use the sequence:
- <STRONG>intrflush(stdscr,</STRONG> <STRONG>FALSE);</STRONG>
- <STRONG>keypad(stdscr,</STRONG> <STRONG>TRUE);</STRONG>
+ <B>intrflush(stdscr,</B> <B>FALSE);</B>
+ <B>keypad(stdscr,</B> <B>TRUE);</B>
- Before a <STRONG>curses</STRONG> program is run, the tab stops of the terminal should be
+ Before a <B>curses</B> program is run, the tab stops of the terminal should be
set and its initialization strings, if defined, must be output. This
- can be done by executing the <STRONG>tput</STRONG> <STRONG>init</STRONG> command after the shell
- environment variable <STRONG>TERM</STRONG> has been exported. <STRONG>tset(1)</STRONG> is usually
- responsible for doing this. [See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for further details.]
+ can be done by executing the <B>tput</B> <B>init</B> command after the shell
+ environment variable <B>TERM</B> has been exported. <B>tset(1)</B> is usually
+ responsible for doing this. [See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for further details.]
</PRE><H3><a name="h3-Datatypes">Datatypes</a></H3><PRE>
- The <STRONG>ncurses</STRONG> library permits manipulation of data structures, called
- <EM>windows</EM>, which can be thought of as two-dimensional arrays of
+ The <B>ncurses</B> library permits manipulation of data structures, called
+ <I>windows</I>, which can be thought of as two-dimensional arrays of
characters representing all or part of a CRT screen. A default window
- called <STRONG>stdscr</STRONG>, which is the size of the terminal screen, is supplied.
- Others may be created with <STRONG>newwin</STRONG>.
+ called <B>stdscr</B>, which is the size of the terminal screen, is supplied.
+ Others may be created with <B>newwin</B>.
- Note that <STRONG>curses</STRONG> does not handle overlapping windows, that's done by
- the <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> library. This means that you can either use <STRONG>stdscr</STRONG> or
- divide the screen into tiled windows and not using <STRONG>stdscr</STRONG> at all.
+ Note that <B>curses</B> does not handle overlapping windows, that's done by
+ the <B><A HREF="panel.3X.html">panel(3X)</A></B> library. This means that you can either use <B>stdscr</B> or
+ divide the screen into tiled windows and not using <B>stdscr</B> at all.
Mixing the two will result in unpredictable, and undesired, effects.
- Windows are referred to by variables declared as <STRONG>WINDOW</STRONG> <STRONG>*</STRONG>. These data
+ Windows are referred to by variables declared as <B>WINDOW</B> <B>*</B>. These data
structures are manipulated with routines described here and elsewhere
- in the <STRONG>ncurses</STRONG> manual pages. Among those, the most basic routines are
- <STRONG>move</STRONG> and <STRONG>addch</STRONG>. More general versions of these routines are included
- with names beginning with <STRONG>w</STRONG>, allowing the user to specify a window.
- The routines not beginning with <STRONG>w</STRONG> affect <STRONG>stdscr</STRONG>.
-
- After using routines to manipulate a window, <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called,
- telling <STRONG>curses</STRONG> to make the user's CRT screen look like <STRONG>stdscr</STRONG>. The
- characters in a window are actually of type <STRONG>chtype</STRONG>, (character and
+ in the <B>ncurses</B> manual pages. Among those, the most basic routines are
+ <B>move</B> and <B>addch</B>. More general versions of these routines are included
+ with names beginning with <B>w</B>, allowing the user to specify a window.
+ The routines not beginning with <B>w</B> affect <B>stdscr</B>.
+
+ After using routines to manipulate a window, <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> is called,
+ telling <B>curses</B> to make the user's CRT screen look like <B>stdscr</B>. The
+ characters in a window are actually of type <B>chtype</B>, (character and
attribute data) so that other information about the character may also
be stored with each character.
- Special windows called <EM>pads</EM> may also be manipulated. These are windows
+ Special windows called <I>pads</I> may also be manipulated. These are windows
which are not constrained to the size of the screen and whose contents
- need not be completely displayed. See <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> for more
+ need not be completely displayed. See <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B> for more
information.
In addition to drawing characters on the screen, video attributes and
colors may be supported, causing the characters to show up in such
modes as underlined, in reverse video, or in color on terminals that
support such display enhancements. Line drawing characters may be
- specified to be output. On input, <STRONG>curses</STRONG> is also able to translate
+ specified to be output. On input, <B>curses</B> is also able to translate
arrow and function keys that transmit escape sequences into single
values. The video attributes, line drawing characters, and input
- values use names, defined in <STRONG><curses.h></STRONG>, such as <STRONG>A_REVERSE</STRONG>, <STRONG>ACS_HLINE</STRONG>,
- and <STRONG>KEY_LEFT</STRONG>.
+ values use names, defined in <B><curses.h></B>, such as <B>A_REVERSE</B>, <B>ACS_HLINE</B>,
+ and <B>KEY_LEFT</B>.
</PRE><H3><a name="h3-Environment-variables">Environment variables</a></H3><PRE>
- If the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> are set, or if the
+ If the environment variables <B>LINES</B> and <B>COLUMNS</B> are set, or if the
program is executing in a window environment, line and column
information in the environment will override information read by
- <EM>terminfo</EM>. This would affect a program running in an AT&T 630 layer,
+ <I>terminfo</I>. This would affect a program running in an AT&T 630 layer,
for example, where the size of a screen is changeable (see
- <STRONG>ENVIRONMENT</STRONG>).
+ <B>ENVIRONMENT</B>).
- If the environment variable <STRONG>TERMINFO</STRONG> is defined, any program using
- <STRONG>curses</STRONG> checks for a local terminal definition before checking in the
- standard place. For example, if <STRONG>TERM</STRONG> is set to <STRONG>att4424</STRONG>, then the
+ If the environment variable <B>TERMINFO</B> is defined, any program using
+ <B>curses</B> checks for a local terminal definition before checking in the
+ standard place. For example, if <B>TERM</B> is set to <B>att4424</B>, then the
compiled terminal definition is found in
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+ <B>/usr/share/terminfo/a/att4424</B>.
- (The <STRONG>a</STRONG> is copied from the first letter of <STRONG>att4424</STRONG> to avoid creation of
- huge directories.) However, if <STRONG>TERMINFO</STRONG> is set to <STRONG>$HOME/myterms</STRONG>,
- <STRONG>curses</STRONG> first checks
+ (The <B>a</B> is copied from the first letter of <B>att4424</B> to avoid creation of
+ huge directories.) However, if <B>TERMINFO</B> is set to <B>$HOME/myterms</B>,
+ <B>curses</B> first checks
- <STRONG>$HOME/myterms/a/att4424</STRONG>,
+ <B>$HOME/myterms/a/att4424</B>,
and if that fails, it then checks
- <STRONG>/usr/share/terminfo/a/att4424</STRONG>.
+ <B>/usr/share/terminfo/a/att4424</B>.
This is useful for developing experimental definitions or when write
- permission in <STRONG>/usr/share/terminfo</STRONG> is not available.
+ permission in <B>/usr/share/terminfo</B> is not available.
- The integer variables <STRONG>LINES</STRONG> and <STRONG>COLS</STRONG> are defined in <STRONG><curses.h></STRONG> and will
- be filled in by <STRONG>initscr</STRONG> with the size of the screen. The constants
- <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG> have the values <STRONG>1</STRONG> and <STRONG>0</STRONG>, respectively.
+ The integer variables <B>LINES</B> and <B>COLS</B> are defined in <B><curses.h></B> and will
+ be filled in by <B>initscr</B> with the size of the screen. The constants
+ <B>TRUE</B> and <B>FALSE</B> have the values <B>1</B> and <B>0</B>, respectively.
- The <STRONG>curses</STRONG> routines also define the <STRONG>WINDOW</STRONG> <STRONG>*</STRONG> variable <STRONG>curscr</STRONG> which is
+ The <B>curses</B> routines also define the <B>WINDOW</B> <B>*</B> variable <B>curscr</B> which is
used for certain low-level operations like clearing and redrawing a
- screen containing garbage. The <STRONG>curscr</STRONG> can be used in only a few
+ screen containing garbage. The <B>curscr</B> can be used in only a few
routines.
</PRE><H3><a name="h3-Routine-and-Argument-Names">Routine and Argument Names</a></H3><PRE>
- Many <STRONG>curses</STRONG> routines have two or more versions. The routines prefixed
- with <STRONG>w</STRONG> require a window argument. The routines prefixed with <STRONG>p</STRONG> require
- a pad argument. Those without a prefix generally use <STRONG>stdscr</STRONG>.
-
- The routines prefixed with <STRONG>mv</STRONG> require a <EM>y</EM> and <EM>x</EM> coordinate to move to
- before performing the appropriate action. The <STRONG>mv</STRONG> routines imply a call
- to <STRONG>move</STRONG> before the call to the other routine. The coordinate <EM>y</EM> always
- refers to the row (of the window), and <EM>x</EM> always refers to the column.
+ Many <B>curses</B> routines have two or more versions. The routines prefixed
+ with <B>w</B> require a window argument. The routines prefixed with <B>p</B> require
+ a pad argument. Those without a prefix generally use <B>stdscr</B>.
+
+ The routines prefixed with <B>mv</B> require a <I>y</I> and <I>x</I> coordinate to move to
+ before performing the appropriate action. The <B>mv</B> routines imply a call
+ to <B>move</B> before the call to the other routine. The coordinate <I>y</I> always
+ refers to the row (of the window), and <I>x</I> always refers to the column.
The upper left-hand corner is always (0,0), not (1,1).
- The routines prefixed with <STRONG>mvw</STRONG> take both a window argument and <EM>x</EM> and <EM>y</EM>
+ The routines prefixed with <B>mvw</B> take both a window argument and <I>x</I> and <I>y</I>
coordinates. The window argument is always specified before the
coordinates.
- In each case, <EM>win</EM> is the window affected, and <EM>pad</EM> is the pad affected;
- <EM>win</EM> and <EM>pad</EM> are always pointers to type <STRONG>WINDOW</STRONG>.
+ In each case, <I>win</I> is the window affected, and <I>pad</I> is the pad affected;
+ <I>win</I> and <I>pad</I> are always pointers to type <B>WINDOW</B>.
- Option setting routines require a Boolean flag <EM>bf</EM> with the value <STRONG>TRUE</STRONG>
- or <STRONG>FALSE</STRONG>; <EM>bf</EM> is always of type <STRONG>bool</STRONG>. Most of the data types used in
- the library routines, such as <STRONG>WINDOW</STRONG>, <STRONG>SCREEN</STRONG>, <STRONG>bool</STRONG>, and <STRONG>chtype</STRONG> are
- defined in <STRONG><curses.h></STRONG>. Types used for the terminfo routines such as
- <STRONG>TERMINAL</STRONG> are defined in <STRONG><term.h></STRONG>.
+ Option setting routines require a Boolean flag <I>bf</I> with the value <B>TRUE</B>
+ or <B>FALSE</B>; <I>bf</I> is always of type <B>bool</B>. Most of the data types used in
+ the library routines, such as <B>WINDOW</B>, <B>SCREEN</B>, <B>bool</B>, and <B>chtype</B> are
+ defined in <B><curses.h></B>. Types used for the terminfo routines such as
+ <B>TERMINAL</B> are defined in <B><term.h></B>.
This manual page describes functions which may appear in any
configuration of the library. There are two common configurations of
the library:
- <EM>ncurses</EM>
+ <I>ncurses</I>
the "normal" library, which handles 8-bit characters. The
normal (8-bit) library stores characters combined with
- attributes in <STRONG>chtype</STRONG> data.
+ attributes in <B>chtype</B> data.
Attributes alone (no corresponding character) may be stored in
- <STRONG>chtype</STRONG> or the equivalent <STRONG>attr_t</STRONG> data. In either case, the data
+ <B>chtype</B> or the equivalent <B>attr_t</B> data. In either case, the data
is stored in something like an integer.
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a <STRONG>chtype</STRONG>.
+ Each cell (row and column) in a <B>WINDOW</B> is stored as a <B>chtype</B>.
- <EM>ncursesw</EM>
+ <I>ncursesw</I>
the so-called "wide" library, which handles multibyte
- characters (see the section on <STRONG>ALTERNATE</STRONG> <STRONG>CONFIGURATIONS</STRONG>). The
+ characters (see the section on <B>ALTERNATE</B> <B>CONFIGURATIONS</B>). The
"wide" library includes all of the calls from the "normal"
library. It adds about one third more calls using data types
which store multibyte characters:
- <STRONG>cchar_t</STRONG>
- corresponds to <STRONG>chtype</STRONG>. However it is a structure, because
+ <B>cchar_t</B>
+ corresponds to <B>chtype</B>. However it is a structure, because
more data is stored than can fit into an integer. The
characters are large enough to require a full integer
value - and there may be more than one character per cell.
The video attributes and color are stored in separate
fields of the structure.
- Each cell (row and column) in a <STRONG>WINDOW</STRONG> is stored as a
- <STRONG>cchar_t</STRONG>.
+ Each cell (row and column) in a <B>WINDOW</B> is stored as a
+ <B>cchar_t</B>.
- The <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG> and <STRONG><A HREF="curs_getcchar.3x.html">getcchar(3x)</A></STRONG> functions store and
- retrieve the data from a <STRONG>cchar_t</STRONG> structure.
+ The <B><A HREF="curs_getcchar.3X.html">setcchar(3X)</A></B> and <B><A HREF="curs_getcchar.3X.html">getcchar(3X)</A></B> functions store and
+ retrieve the data from a <B>cchar_t</B> structure.
- <STRONG>wchar_t</STRONG>
- stores a "wide" character. Like <STRONG>chtype</STRONG>, this may be an
+ <B>wchar_t</B>
+ stores a "wide" character. Like <B>chtype</B>, this may be an
integer.
- <STRONG>wint_t</STRONG>
- stores a <STRONG>wchar_t</STRONG> or <STRONG>WEOF</STRONG> - not the same, though both may
+ <B>wint_t</B>
+ stores a <B>wchar_t</B> or <B>WEOF</B> - not the same, though both may
have the same size.
The "wide" library provides new functions which are analogous
to functions in the "normal" library. There is a naming
convention which relates many of the normal/wide variants: a
- "_w" is inserted into the name. For example, <STRONG>waddch</STRONG> becomes
- <STRONG>wadd_wch</STRONG>.
+ "_w" is inserted into the name. For example, <B>waddch</B> becomes
+ <B>wadd_wch</B>.
</PRE><H3><a name="h3-Routine-Name-Index">Routine Name Index</a></H3><PRE>
- The following table lists the <STRONG>curses</STRONG> routines provided in the "normal"
+ The following table lists the <B>curses</B> routines provided in the "normal"
and "wide" libraries and the names of the manual pages on which they
are described. Routines flagged with "*" are ncurses-specific, not
described by XPG4 or present in SVr4.
- <STRONG>curses</STRONG> Routine Name Manual Page Name
+ <B>curses</B> Routine Name Manual Page Name
---------------------------------------------
- COLOR_PAIR <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- PAIR_NUMBER <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- add_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- add_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- add_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- addch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- addchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- addnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- addstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- addwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- alloc_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
- assume_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- attr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- attrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- baudrate <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- beep <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- bkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- bkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- bkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- border <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-
- border_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- box <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- box_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- can_change_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- cbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- chgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- clear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clearok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- clrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- clrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- color_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- copywin <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- curs_set <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- curses_trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- curses_version <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- def_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- def_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- define_key <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>*
- del_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- delay_output <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- delch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- deleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- delscreen <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- delwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- derwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- exit_terminfo <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
- extended_color_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
- extended_pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
- extended_slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
- filter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- find_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
- flash <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
- flushinp <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- free_pair <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>*
- get_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- get_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getattrs <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- getbegx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getbegyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- getbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- getcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- getch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- getcurx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getcury <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxy <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getmaxyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- getn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- getnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getparx <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
- getpary <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>*
-
- getparyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- getstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- getsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- getwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- getyx <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
- halfdelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- has_colors <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- has_ic <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_il <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- has_key <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>*
- has_mouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- hline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- hline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- idcok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- idlok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- immedok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- in_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- in_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- in_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- inch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- inchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- inchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- init_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- init_extended_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
- init_extended_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
- init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- insnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- insstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- instr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- intrflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- inwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- is_cleared <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idcok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_idlok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_immedok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_keypad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_leaveok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_linetouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- is_nodelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_notimeout <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_pad <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_scrollok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_subwin <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_syncok <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- is_term_resized <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- is_wintouched <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- isendwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- key_defined <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>*
- key_name <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keybound <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>*
- keyname <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- keyok <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>*
- keypad <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- killchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- killwchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- leaveok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
-
- longname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- mcprint <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>*
- meta <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- mouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mouseinterval <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- mousemask <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- move <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- mvadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvcur <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- mvdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvderwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- mvwadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- mvwaddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- mvwaddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- mvwaddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwaddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- mvwaddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- mvwchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- mvwdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- mvwget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- mvwget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- mvwgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- mvwgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
-
- mvwgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- mvwhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- mvwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- mvwin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- mvwin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwin_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- mvwinch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- mvwinchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- mvwinnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
- mvwins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- mvwinsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- mvwinsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- mvwinstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- mvwinwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nodelay <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noecho <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- nofilter <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
- nonl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noqiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- noraw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- notimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- overlay <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- overwrite <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
- pair_content <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- pecho_wchar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>*
- pechochar <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- pnoutrefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- prefresh <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- putp <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- putwin <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- qiflush <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- raw <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- redrawwin <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- refresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- reset_color_pairs <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>*
- reset_prog_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- reset_shell_mode <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- resize_term <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- resizeterm <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>*
- restartterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- ripoffline <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- savetty <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- scr_dump <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_init <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scr_restore <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
-
- scr_set <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
- scrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scroll <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- scrollok <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- set_curterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- set_term <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
- setcchar <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
- setscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- setsyx <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
- setupterm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- slk_attr <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
- slk_attr_off <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_on <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attr_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attroff <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attron <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_attrset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_clear <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_color <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
- slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>*
- standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- start_color <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
- subpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
- subwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- syncok <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- term_attrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termattrs <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- termname <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
- tgetent <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetflag <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetnum <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgetstr <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tgoto <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tigetflag <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetnum <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tigetstr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- timeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- tiparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>*
- touchline <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- touchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- tparm <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- tputs <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
- tputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- trace <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>*
- typeahead <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- unctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- unget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- ungetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- ungetmouse <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- untouchwin <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- use_default_colors <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>*
- use_env <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- use_extended_names <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>*
- use_legacy_coding <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>*
- use_tioctl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>*
- vid_attr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vid_puts <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-
- vidattr <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vidputs <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
- vline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- vline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- vw_printw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vw_scanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- vwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- vwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wadd_wch <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wadd_wchnstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- wadd_wchstr <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
- waddch <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- waddchnstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddchstr <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
- waddnstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
- waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
- wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wbkgd <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgdset <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
- wbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wbkgrndset <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wborder <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wborder_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- wchgat <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wclear <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtobot <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wclrtoeol <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wcolor_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wcursyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wdelch <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
- wdeleteln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- wecho_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
- wechochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
- wenclose <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- werase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
- wget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
- wget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetbkgrnd <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
- wgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
- wgetdelay <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- wgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
- wgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- wgetparent <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- wgetscrreg <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>*
- wgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
- whline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- whline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
- win_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
- win_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- win_wchstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
- winch <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
- winchnstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winchstr <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
- winnstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winnwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- wins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
-
- wins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
- winsch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
- winsdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
- winsnstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winsstr <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
- winstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
- winwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
- wmouse_trafo <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>*
- wmove <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
- wnoutrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
- wredrawln <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wrefresh <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
- wresize <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>*
- wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
- wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
- wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
- wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
- wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
- wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
- wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
- wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
- wvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
- wvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ COLOR_PAIR <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ PAIR_NUMBER <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ add_wch <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ add_wchnstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ add_wchstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ addch <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ addchnstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ addchstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ addnstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ addnwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ addstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ addwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ alloc_pair <B><A HREF="new_pair.3X.html">new_pair(3X)</A></B>*
+ assume_default_colors <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>*
+ attr_get <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attr_off <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attr_on <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attr_set <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attroff <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attron <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ attrset <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ baudrate <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ beep <B><A HREF="curs_beep.3X.html">curs_beep(3X)</A></B>
+ bkgd <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
+ bkgdset <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
+ bkgrnd <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ bkgrndset <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ border <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+
+ border_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ box <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ box_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ can_change_color <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ cbreak <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ chgat <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ clear <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ clearok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ clrtobot <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ clrtoeol <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ color_content <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ color_set <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ copywin <B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B>
+ curs_set <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ curses_trace <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B>*
+ curses_version <B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B>*
+ def_prog_mode <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ def_shell_mode <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ define_key <B><A HREF="define_key.3X.html">define_key(3X)</A></B>*
+ del_curterm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ delay_output <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ delch <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
+ deleteln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ delscreen <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ delwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ derwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ doupdate <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ dupwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ echo <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ echo_wchar <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ echochar <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ endwin <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ erase <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ erasechar <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ erasewchar <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ exit_curses <B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B>*
+ exit_terminfo <B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B>*
+ extended_color_content <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>*
+ extended_pair_content <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>*
+ extended_slk_color <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>*
+ filter <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ find_pair <B><A HREF="new_pair.3X.html">new_pair(3X)</A></B>*
+ flash <B><A HREF="curs_beep.3X.html">curs_beep(3X)</A></B>
+ flushinp <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ free_pair <B><A HREF="new_pair.3X.html">new_pair(3X)</A></B>*
+ get_wch <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
+ get_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ getattrs <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ getbegx <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getbegy <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getbegyx <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
+ getbkgd <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
+ getbkgrnd <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ getcchar <B><A HREF="curs_getcchar.3X.html">curs_getcchar(3X)</A></B>
+ getch <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
+ getcurx <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getcury <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getmaxx <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getmaxy <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getmaxyx <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
+ getmouse <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ getn_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ getnstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ getparx <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+ getpary <B><A HREF="curs_legacy.3X.html">curs_legacy(3X)</A></B>*
+
+ getparyx <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
+ getstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ getsyx <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ getwin <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ getyx <B><A HREF="curs_getyx.3X.html">curs_getyx(3X)</A></B>
+ halfdelay <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ has_colors <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ has_ic <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ has_il <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ has_key <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>*
+ has_mouse <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ hline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ hline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ idcok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ idlok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ immedok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ in_wch <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
+ in_wchnstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ in_wchstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ inch <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
+ inchnstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ inchstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ init_color <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ init_extended_color <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>*
+ init_extended_pair <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>*
+ init_pair <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ initscr <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ innstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ innwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ ins_nwstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ ins_wch <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
+ ins_wstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ insch <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
+ insdelln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ insertln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ insnstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ insstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ instr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ intrflush <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ inwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ is_cleared <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_idcok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_idlok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_immedok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_keypad <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_leaveok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_linetouched <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ is_nodelay <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_notimeout <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_pad <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_scrollok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_subwin <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_syncok <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ is_term_resized <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>*
+ is_wintouched <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ isendwin <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ key_defined <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>*
+ key_name <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ keybound <B><A HREF="keybound.3X.html">keybound(3X)</A></B>*
+ keyname <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ keyok <B><A HREF="keyok.3X.html">keyok(3X)</A></B>*
+ keypad <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ killchar <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ killwchar <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ leaveok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+
+ longname <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ mcprint <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B>*
+ meta <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ mouse_trafo <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ mouseinterval <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ mousemask <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ move <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>
+ mvadd_wch <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ mvadd_wchnstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ mvadd_wchstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ mvaddch <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ mvaddchnstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ mvaddchstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ mvaddnstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ mvaddnwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ mvaddstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ mvaddwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ mvchgat <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ mvcur <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ mvdelch <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
+ mvderwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ mvget_wch <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
+ mvget_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ mvgetch <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
+ mvgetn_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ mvgetnstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ mvgetstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ mvhline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ mvhline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ mvin_wch <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
+ mvin_wchnstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ mvin_wchstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ mvinch <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
+ mvinchnstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ mvinchstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ mvinnstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ mvinnwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ mvins_nwstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ mvins_wch <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
+ mvins_wstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ mvinsch <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
+ mvinsnstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ mvinsstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ mvinstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ mvinwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ mvprintw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ mvscanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ mvvline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ mvvline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ mvwadd_wch <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ mvwadd_wchnstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ mvwadd_wchstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ mvwaddch <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ mvwaddchnstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ mvwaddchstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ mvwaddnstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ mvwaddnwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ mvwaddstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ mvwaddwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ mvwchgat <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ mvwdelch <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
+ mvwget_wch <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
+ mvwget_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ mvwgetch <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
+ mvwgetn_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+
+ mvwgetnstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ mvwgetstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ mvwhline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ mvwhline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ mvwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ mvwin_wch <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
+ mvwin_wchnstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ mvwin_wchstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ mvwinch <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
+ mvwinchnstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ mvwinchstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ mvwinnstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ mvwinnwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ mvwins_nwstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ mvwins_wch <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
+ mvwins_wstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ mvwinsch <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
+ mvwinsnstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ mvwinsstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ mvwinstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ mvwinwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ mvwprintw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ mvwscanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ mvwvline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ mvwvline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ napms <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ newpad <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
+ newterm <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ newwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ nl <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ nocbreak <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ nodelay <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ noecho <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ nofilter <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>*
+ nonl <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ noqiflush <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ noraw <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ notimeout <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ overlay <B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B>
+ overwrite <B><A HREF="curs_overlay.3X.html">curs_overlay(3X)</A></B>
+ pair_content <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ pecho_wchar <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>*
+ pechochar <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
+ pnoutrefresh <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
+ prefresh <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
+ printw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ putp <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ putwin <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ qiflush <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ raw <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ redrawwin <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ refresh <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ reset_color_pairs <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>*
+ reset_prog_mode <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ reset_shell_mode <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ resetty <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ resize_term <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>*
+ resizeterm <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>*
+ restartterm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ ripoffline <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ savetty <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ scanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ scr_dump <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
+ scr_init <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
+ scr_restore <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
+
+ scr_set <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>
+ scrl <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>
+ scroll <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>
+ scrollok <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ set_curterm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ set_term <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>
+ setcchar <B><A HREF="curs_getcchar.3X.html">curs_getcchar(3X)</A></B>
+ setscrreg <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ setsyx <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>
+ setupterm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ slk_attr <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>*
+ slk_attr_off <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_attr_on <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_attr_set <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_attroff <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_attron <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_attrset <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_clear <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_color <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_init <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_label <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_noutrefresh <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_refresh <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_restore <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_set <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_touch <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>
+ slk_wset <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B>*
+ standend <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ standout <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ start_color <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>
+ subpad <B><A HREF="curs_pad.3X.html">curs_pad(3X)</A></B>
+ subwin <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ syncok <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ term_attrs <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ termattrs <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ termname <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B>
+ tgetent <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tgetflag <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tgetnum <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tgetstr <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tgoto <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tigetflag <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ tigetnum <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ tigetstr <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ timeout <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ tiparm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>*
+ touchline <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ touchwin <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ tparm <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ tputs <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>
+ tputs <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ trace <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B>*
+ typeahead <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ unctrl <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ unget_wch <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
+ ungetch <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
+ ungetmouse <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ untouchwin <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ use_default_colors <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>*
+ use_env <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ use_extended_names <B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B>*
+ use_legacy_coding <B><A HREF="legacy_coding.3X.html">legacy_coding(3X)</A></B>*
+ use_tioctl <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>*
+ vid_attr <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ vid_puts <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+
+ vidattr <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ vidputs <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>
+ vline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ vline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ vw_printw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ vw_scanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ vwprintw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ vwscanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ wadd_wch <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ wadd_wchnstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ wadd_wchstr <B><A HREF="curs_add_wchstr.3X.html">curs_add_wchstr(3X)</A></B>
+ waddch <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ waddchnstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ waddchstr <B><A HREF="curs_addchstr.3X.html">curs_addchstr(3X)</A></B>
+ waddnstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ waddnwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ waddstr <B><A HREF="curs_addstr.3X.html">curs_addstr(3X)</A></B>
+ waddwstr <B><A HREF="curs_addwstr.3X.html">curs_addwstr(3X)</A></B>
+ wattr_get <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattr_off <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattr_on <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattr_set <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattroff <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattron <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wattrset <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wbkgd <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
+ wbkgdset <B><A HREF="curs_bkgd.3X.html">curs_bkgd(3X)</A></B>
+ wbkgrnd <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ wbkgrndset <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ wborder <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ wborder_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ wchgat <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wclear <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ wclrtobot <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ wclrtoeol <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ wcolor_set <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wcursyncup <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ wdelch <B><A HREF="curs_delch.3X.html">curs_delch(3X)</A></B>
+ wdeleteln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ wecho_wchar <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+ wechochar <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>
+ wenclose <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ werase <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>
+ wget_wch <B><A HREF="curs_get_wch.3X.html">curs_get_wch(3X)</A></B>
+ wget_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ wgetbkgrnd <B><A HREF="curs_bkgrnd.3X.html">curs_bkgrnd(3X)</A></B>
+ wgetch <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>
+ wgetdelay <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ wgetn_wstr <B><A HREF="curs_get_wstr.3X.html">curs_get_wstr(3X)</A></B>
+ wgetnstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ wgetparent <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ wgetscrreg <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B>*
+ wgetstr <B><A HREF="curs_getstr.3X.html">curs_getstr(3X)</A></B>
+ whline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ whline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
+ win_wch <B><A HREF="curs_in_wch.3X.html">curs_in_wch(3X)</A></B>
+ win_wchnstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ win_wchstr <B><A HREF="curs_in_wchstr.3X.html">curs_in_wchstr(3X)</A></B>
+ winch <B><A HREF="curs_inch.3X.html">curs_inch(3X)</A></B>
+ winchnstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ winchstr <B><A HREF="curs_inchstr.3X.html">curs_inchstr(3X)</A></B>
+ winnstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ winnwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ wins_nwstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ wins_wch <B><A HREF="curs_ins_wch.3X.html">curs_ins_wch(3X)</A></B>
+
+ wins_wstr <B><A HREF="curs_ins_wstr.3X.html">curs_ins_wstr(3X)</A></B>
+ winsch <B><A HREF="curs_insch.3X.html">curs_insch(3X)</A></B>
+ winsdelln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ winsertln <B><A HREF="curs_deleteln.3X.html">curs_deleteln(3X)</A></B>
+ winsnstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ winsstr <B><A HREF="curs_insstr.3X.html">curs_insstr(3X)</A></B>
+ winstr <B><A HREF="curs_instr.3X.html">curs_instr(3X)</A></B>
+ winwstr <B><A HREF="curs_inwstr.3X.html">curs_inwstr(3X)</A></B>
+ wmouse_trafo <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B>*
+ wmove <B><A HREF="curs_move.3X.html">curs_move(3X)</A></B>
+ wnoutrefresh <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ wprintw <B><A HREF="curs_printw.3X.html">curs_printw(3X)</A></B>
+ wredrawln <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ wrefresh <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>
+ wresize <B><A HREF="wresize.3X.html">wresize(3X)</A></B>*
+ wscanw <B><A HREF="curs_scanw.3X.html">curs_scanw(3X)</A></B>
+ wscrl <B><A HREF="curs_scroll.3X.html">curs_scroll(3X)</A></B>
+ wsetscrreg <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>
+ wstandend <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wstandout <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>
+ wsyncdown <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ wsyncup <B><A HREF="curs_window.3X.html">curs_window(3X)</A></B>
+ wtimeout <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>
+ wtouchln <B><A HREF="curs_touch.3X.html">curs_touch(3X)</A></B>
+ wunctrl <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>
+ wvline <B><A HREF="curs_border.3X.html">curs_border(3X)</A></B>
+ wvline_set <B><A HREF="curs_border_set.3X.html">curs_border_set(3X)</A></B>
Depending on the configuration, additional sets of functions may be
available:
- <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> - curses memory-leak checking
+ <B><A HREF="curs_memleaks.3X.html">curs_memleaks(3X)</A></B> - curses memory-leak checking
- <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> - curses screen-pointer extension
+ <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B> - curses screen-pointer extension
- <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> - curses thread support
+ <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B> - curses thread support
- <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> - curses debugging routines
+ <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B> - curses debugging routines
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Routines that return an integer return <STRONG>ERR</STRONG> upon failure and an integer
- value other than <STRONG>ERR</STRONG> upon successful completion, unless otherwise noted
+ Routines that return an integer return <B>ERR</B> upon failure and an integer
+ value other than <B>ERR</B> upon successful completion, unless otherwise noted
in the routine descriptions.
As a general rule, routines check for null pointers passed as
parameters, and handle this as an error.
- All macros return the value of the <STRONG>w</STRONG> version, except <STRONG>setscrreg</STRONG>,
- <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG>. The return values of
- <STRONG>setscrreg</STRONG>, <STRONG>wsetscrreg</STRONG>, <STRONG>getyx</STRONG>, <STRONG>getbegyx</STRONG>, and <STRONG>getmaxyx</STRONG> are undefined
+ All macros return the value of the <B>w</B> version, except <B>setscrreg</B>,
+ <B>wsetscrreg</B>, <B>getyx</B>, <B>getbegyx</B>, and <B>getmaxyx</B>. The return values of
+ <B>setscrreg</B>, <B>wsetscrreg</B>, <B>getyx</B>, <B>getbegyx</B>, and <B>getmaxyx</B> are undefined
(i.e., these should not be used as the right-hand side of assignment
statements).
Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
+ <B>wmove</B>, and return an error if the position is outside the window, or if
the window pointer is null. Most "mv"-prefixed functions (except
- variadic functions such as <STRONG>mvprintw</STRONG>) are provided both as macros and
+ variadic functions such as <B>mvprintw</B>) are provided both as macros and
functions.
- Routines that return pointers return <STRONG>NULL</STRONG> on error.
+ Routines that return pointers return <B>NULL</B> on error.
</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
The following environment symbols are useful for customizing the
- runtime behavior of the <STRONG>ncurses</STRONG> library. The most important ones have
+ runtime behavior of the <B>ncurses</B> library. The most important ones have
been already discussed in detail.
</PRE><H3><a name="h3-CC-command-character">CC command-character</a></H3><PRE>
- When set, change occurrences of the command_character (i.e., the <STRONG>cmdch</STRONG>
+ When set, change occurrences of the command_character (i.e., the <B>cmdch</B>
capability) of the loaded terminfo entries to the value of this
variable. Very few terminfo entries provide this feature.
Because this name is also used in development environments to represent
- the C compiler's name, <STRONG>ncurses</STRONG> ignores it if it does not happen to be a
+ the C compiler's name, <B>ncurses</B> ignores it if it does not happen to be a
single character.
</PRE><H3><a name="h3-BAUDRATE">BAUDRATE</a></H3><PRE>
The debugging library checks this environment variable when the
application has redirected output to a file. The variable's numeric
- value is used for the baudrate. If no value is found, <STRONG>ncurses</STRONG> uses
+ value is used for the baudrate. If no value is found, <B>ncurses</B> uses
9600. This allows testers to construct repeatable test-cases that take
into account costs that depend on baudrate.
</PRE><H3><a name="h3-COLUMNS">COLUMNS</a></H3><PRE>
Specify the width of the screen in characters. Applications running in
a windowing environment usually are able to obtain the width of the
- window in which they are executing. If neither the <STRONG>COLUMNS</STRONG> value nor
- the terminal's screen size is available, <STRONG>ncurses</STRONG> uses the size which
- may be specified in the terminfo database (i.e., the <STRONG>cols</STRONG> capability).
+ window in which they are executing. If neither the <B>COLUMNS</B> value nor
+ the terminal's screen size is available, <B>ncurses</B> uses the size which
+ may be specified in the terminfo database (i.e., the <B>cols</B> capability).
It is important that your application use a correct size for the
screen. This is not always possible because your application may be
running on a host which does not honor NAWS (Negotiations About Window
Size), or because you are temporarily running as another user.
- However, setting <STRONG>COLUMNS</STRONG> and/or <STRONG>LINES</STRONG> overrides the library's use of
+ However, setting <B>COLUMNS</B> and/or <B>LINES</B> overrides the library's use of
the screen size obtained from the operating system.
- Either <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> symbols may be specified independently. This
+ Either <B>COLUMNS</B> or <B>LINES</B> symbols may be specified independently. This
is mainly useful to circumvent legacy misfeatures of terminal
descriptions, e.g., xterm which commonly specifies a 65 line screen.
- For best results, <STRONG>lines</STRONG> and <STRONG>cols</STRONG> should not be specified in a terminal
+ For best results, <B>lines</B> and <B>cols</B> should not be specified in a terminal
description for terminals which are run as emulations.
- Use the <STRONG>use_env</STRONG> function to disable all use of external environment
+ Use the <B>use_env</B> function to disable all use of external environment
(but not including system calls) to determine the screen size. Use the
- <STRONG>use_tioctl</STRONG> function to update <STRONG>COLUMNS</STRONG> or <STRONG>LINES</STRONG> to match the screen size
+ <B>use_tioctl</B> function to update <B>COLUMNS</B> or <B>LINES</B> to match the screen size
obtained from system calls or the terminal database.
</PRE><H3><a name="h3-HOME">HOME</a></H3><PRE>
- Tells <STRONG>ncurses</STRONG> where your home directory is. That is where it may read
+ Tells <B>ncurses</B> where your home directory is. That is where it may read
and write auxiliary terminal descriptions:
$HOME/.termcap
This variable lets you customize the mouse. The variable must be three
numeric digits 1-3 in any order, e.g., 123 or 321. If it is not
- specified, <STRONG>ncurses</STRONG> uses 132.
+ specified, <B>ncurses</B> uses 132.
</PRE><H3><a name="h3-NCURSES_ASSUMED_COLORS">NCURSES_ASSUMED_COLORS</a></H3><PRE>
Override the compiled-in assumption that the terminal's default colors
- are white-on-black (see <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>). You may set the
+ are white-on-black (see <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B>). You may set the
foreground and background color values with this environment variable
by proving a 2-element list: foreground,background. For example, to
tell ncurses to not assume anything about the colors, set this to
"-1,-1". To make it green-on-black, set it to "2,0". Any positive
- value from zero to the terminfo <STRONG>max_colors</STRONG> value is allowed.
+ value from zero to the terminfo <B>max_colors</B> value is allowed.
</PRE><H3><a name="h3-NCURSES_CONSOLE2">NCURSES_CONSOLE2</a></H3><PRE>
This applies only to the MinGW port of ncurses.
- The <STRONG>Console2</STRONG> program's handling of the Microsoft Console API call
- <STRONG>CreateConsoleScreenBuffer</STRONG> is defective. Applications which use this
+ The <B>Console2</B> program's handling of the Microsoft Console API call
+ <B>CreateConsoleScreenBuffer</B> is defective. Applications which use this
will hang. However, it is possible to simulate the action of this call
by mapping coordinates, explicitly saving and restoring the original
- screen contents. Setting the environment variable <STRONG>NCGDB</STRONG> has the same
+ screen contents. Setting the environment variable <B>NCGDB</B> has the same
effect.
This applies only to ncurses configured to use the GPM interface.
If present, the environment variable is a list of one or more terminal
- names against which the <STRONG>TERM</STRONG> environment variable is matched. Setting
+ names against which the <B>TERM</B> environment variable is matched. Setting
it to an empty value disables the GPM interface; using the built-in
support for xterm, etc.
If the environment variable is absent, ncurses will attempt to open GPM
- if <STRONG>TERM</STRONG> contains "linux".
+ if <B>TERM</B> contains "linux".
</PRE><H3><a name="h3-NCURSES_NO_HARD_TABS">NCURSES_NO_HARD_TABS</a></H3><PRE>
- <STRONG>Ncurses</STRONG> may use tabs as part of the cursor movement optimization. In
+ <B>Ncurses</B> may use tabs as part of the cursor movement optimization. In
some cases, your terminal driver may not handle these properly. Set
this environment variable to disable the feature. You can also adjust
- your <STRONG>stty</STRONG> settings to avoid the problem.
+ your <B>stty</B> settings to avoid the problem.
</PRE><H3><a name="h3-NCURSES_NO_MAGIC_COOKIE">NCURSES_NO_MAGIC_COOKIE</a></H3><PRE>
Set the NCURSES_NO_PADDING environment variable to disable all but
mandatory padding. Mandatory padding is used as a part of special
- control sequences such as <EM>flash</EM>.
+ control sequences such as <I>flash</I>.
</PRE><H3><a name="h3-NCURSES_NO_SETBUF">NCURSES_NO_SETBUF</a></H3><PRE>
This setting is obsolete. Before changes
- <STRONG>o</STRONG> started with 5.9 patch 20120825 and
+ <B>o</B> started with 5.9 patch 20120825 and
- <STRONG>o</STRONG> continued though 5.9 patch 20130126
+ <B>o</B> continued though 5.9 patch 20130126
- <STRONG>ncurses</STRONG> enabled buffered output during terminal initialization. This
+ <B>ncurses</B> enabled buffered output during terminal initialization. This
was done (as in SVr4 curses) for performance reasons. For testing
- purposes, both of <STRONG>ncurses</STRONG> and certain applications, this feature was
+ purposes, both of <B>ncurses</B> and certain applications, this feature was
made optional. Setting the NCURSES_NO_SETBUF variable disabled output
buffering, leaving the output in the original (usually line buffered)
mode.
nonconventional programs would mix ordinary stdio calls with ncurses
calls and (usually) work. This is no longer possible since ncurses is
not using the buffered standard output but its own output (to the same
- file descriptor). As a special case, the low-level calls such as <STRONG>putp</STRONG>
+ file descriptor). As a special case, the low-level calls such as <B>putp</B>
still use the standard output. But high-level curses calls do not.
</PRE><H3><a name="h3-NCURSES_NO_UTF8_ACS">NCURSES_NO_UTF8_ACS</a></H3><PRE>
- During initialization, the <STRONG>ncurses</STRONG> library checks for special cases
+ During initialization, the <B>ncurses</B> library checks for special cases
where VT100 line-drawing (and the corresponding alternate character set
capabilities) described in the terminfo are known to be missing.
Specifically, when running in a UTF-8 locale, the Linux console
emulator and the GNU screen program ignore these. Ncurses checks the
- <STRONG>TERM</STRONG> environment variable for these. For other special cases, you
+ <B>TERM</B> environment variable for these. For other special cases, you
should set this environment variable. Doing this tells ncurses to use
Unicode values which correspond to the VT100 line-drawing glyphs. That
works for the special cases cited, and is likely to work for terminal
"linux" and "screen".
As an alternative to the environment variable, ncurses checks for an
- extended terminfo capability <STRONG>U8</STRONG>. This is a numeric capability which
- can be compiled using <STRONG>tic</STRONG> <STRONG>-x</STRONG>. For example
+ extended terminfo capability <B>U8</B>. This is a numeric capability which
+ can be compiled using <B>tic</B> <B>-x</B>. For example
# linux console, if patched to provide working
# VT100 shift-in/shift-out, with corresponding font.
</PRE><H3><a name="h3-NCURSES_TRACE">NCURSES_TRACE</a></H3><PRE>
- During initialization, the <STRONG>ncurses</STRONG> debugging library checks the
+ During initialization, the <B>ncurses</B> debugging library checks the
NCURSES_TRACE environment variable. If it is defined, to a numeric
- value, <STRONG>ncurses</STRONG> calls the <STRONG>trace</STRONG> function, using that value as the
+ value, <B>ncurses</B> calls the <B>trace</B> function, using that value as the
argument.
- The argument values, which are defined in <STRONG>curses.h</STRONG>, provide several
+ The argument values, which are defined in <B>curses.h</B>, provide several
types of information. When running with traces enabled, your
- application will write the file <STRONG>trace</STRONG> to the current directory.
+ application will write the file <B>trace</B> to the current directory.
- See <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> for more information.
+ See <B><A HREF="curs_trace.3X.html">curs_trace(3X)</A></B> for more information.
</PRE><H3><a name="h3-TERM">TERM</a></H3><PRE>
Denotes your terminal type. Each terminal type is distinct, though
many are similar.
- <STRONG>TERM</STRONG> is commonly set by terminal emulators to help applications find a
+ <B>TERM</B> is commonly set by terminal emulators to help applications find a
workable terminal description. Some of those choose a popular
approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
Not infrequently, your application will have problems with that
approach, e.g., incorrect function-key definitions.
- If you set <STRONG>TERM</STRONG> in your environment, it has no effect on the operation
+ If you set <B>TERM</B> in your environment, it has no effect on the operation
of the terminal emulator. It only affects the way applications work
- within the terminal. Likewise, as a general rule (<STRONG>xterm</STRONG> being a rare
- exception), terminal emulators which allow you to specify <STRONG>TERM</STRONG> as a
+ within the terminal. Likewise, as a general rule (<B>xterm</B> being a rare
+ exception), terminal emulators which allow you to specify <B>TERM</B> as a
parameter or configuration value do not change their behavior to match
that setting.
</PRE><H3><a name="h3-TERMCAP">TERMCAP</a></H3><PRE>
- If the <STRONG>ncurses</STRONG> library has been configured with <EM>termcap</EM> support,
- <STRONG>ncurses</STRONG> will check for a terminal's description in termcap form if it
+ If the <B>ncurses</B> library has been configured with <I>termcap</I> support,
+ <B>ncurses</B> will check for a terminal's description in termcap form if it
is not available in the terminfo database.
- The <STRONG>TERMCAP</STRONG> environment variable contains either a terminal description
+ The <B>TERMCAP</B> environment variable contains either a terminal description
(with newlines stripped out), or a file name telling where the
- information denoted by the <STRONG>TERM</STRONG> environment variable exists. In either
- case, setting it directs <STRONG>ncurses</STRONG> to ignore the usual place for this
+ information denoted by the <B>TERM</B> environment variable exists. In either
+ case, setting it directs <B>ncurses</B> to ignore the usual place for this
information, e.g., /etc/termcap.
</PRE><H3><a name="h3-TERMINFO">TERMINFO</a></H3><PRE>
- <STRONG>ncurses</STRONG> can be configured to read from multiple terminal databases.
- The <STRONG>TERMINFO</STRONG> variable overrides the location for the default terminal
+ <B>ncurses</B> can be configured to read from multiple terminal databases.
+ The <B>TERMINFO</B> variable overrides the location for the default terminal
database. Terminal descriptions (in terminal format) are stored in
terminal databases:
- <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
+ <B>o</B> Normally these are stored in a directory tree, using subdirectories
named by the first letter of the terminal names therein.
This is the scheme used in System V, which legacy Unix systems use,
- and the <STRONG>TERMINFO</STRONG> variable is used by <EM>curses</EM> applications on those
+ and the <B>TERMINFO</B> variable is used by <I>curses</I> applications on those
systems to override the default location of the terminal database.
- <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built to use hashed databases, then each entry in
+ <B>o</B> If <B>ncurses</B> is built to use hashed databases, then each entry in
this list may be the path of a hashed database file, e.g.,
/usr/share/terminfo.db
existence of the directory tree, reading it directly rather than
using the terminfo library calls.
- <STRONG>o</STRONG> If <STRONG>ncurses</STRONG> is built with a support for reading termcap files
+ <B>o</B> If <B>ncurses</B> is built with a support for reading termcap files
directly, then an entry in this list may be the path of a termcap
file.
- <STRONG>o</STRONG> If the <STRONG>TERMINFO</STRONG> variable begins with "hex:" or "b64:", <STRONG>ncurses</STRONG> uses
+ <B>o</B> If the <B>TERMINFO</B> variable begins with "hex:" or "b64:", <B>ncurses</B> uses
the remainder of that variable as a compiled terminal description.
- You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+ You might produce the base64 format using <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>:
TERMINFO="$(infocmp -0 -Q2 -q)"
export TERMINFO
The compiled description is used if it corresponds to the terminal
- identified by the <STRONG>TERM</STRONG> variable.
+ identified by the <B>TERM</B> variable.
- Setting <STRONG>TERMINFO</STRONG> is the simplest, but not the only way to set location
+ Setting <B>TERMINFO</B> is the simplest, but not the only way to set location
of the default terminal database. The complete list of database
locations in order follows:
- <STRONG>o</STRONG> the last terminal database to which <STRONG>ncurses</STRONG> wrote, if any, is
+ <B>o</B> the last terminal database to which <B>ncurses</B> wrote, if any, is
searched first
- <STRONG>o</STRONG> the location specified by the TERMINFO environment variable
+ <B>o</B> the location specified by the TERMINFO environment variable
- <STRONG>o</STRONG> $HOME/.terminfo
+ <B>o</B> $HOME/.terminfo
- <STRONG>o</STRONG> locations listed in the TERMINFO_DIRS environment variable
+ <B>o</B> locations listed in the TERMINFO_DIRS environment variable
- <STRONG>o</STRONG> one or more locations whose names are configured and compiled
+ <B>o</B> one or more locations whose names are configured and compiled
into the ncurses library, i.e.,
- <STRONG>o</STRONG> no default value (corresponding to the TERMINFO_DIRS
+ <B>o</B> no default value (corresponding to the TERMINFO_DIRS
variable)
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the TERMINFO variable)
+ <B>o</B> /usr/share/terminfo (corresponding to the TERMINFO variable)
</PRE><H3><a name="h3-TERMINFO_DIRS">TERMINFO_DIRS</a></H3><PRE>
Specifies a list of locations to search for terminal descriptions.
Each location in the list is a terminal database as described in the
- section on the <STRONG>TERMINFO</STRONG> variable. The list is separated by colons
+ section on the <B>TERMINFO</B> variable. The list is separated by colons
(i.e., ":") on Unix, semicolons on OS/2 EMX.
There is no corresponding feature in System V terminfo; it is an
- extension developed for <STRONG>ncurses</STRONG>.
+ extension developed for <B>ncurses</B>.
</PRE><H3><a name="h3-TERMPATH">TERMPATH</a></H3><PRE>
- If <STRONG>TERMCAP</STRONG> does not hold a file name then <STRONG>ncurses</STRONG> checks the <STRONG>TERMPATH</STRONG>
+ If <B>TERMCAP</B> does not hold a file name then <B>ncurses</B> checks the <B>TERMPATH</B>
environment variable. This is a list of filenames separated by spaces
or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
- If the <STRONG>TERMPATH</STRONG> environment variable is not set, <STRONG>ncurses</STRONG> looks in the
+ If the <B>TERMPATH</B> environment variable is not set, <B>ncurses</B> looks in the
files
/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
Several different configurations are possible, depending on the
- configure script options used when building <STRONG>ncurses</STRONG>. There are a few
+ configure script options used when building <B>ncurses</B>. There are a few
main options whose effects are visible to the applications developer
- using <STRONG>ncurses</STRONG>:
+ using <B>ncurses</B>:
--disable-overwrite
- The standard include for <STRONG>ncurses</STRONG> is as noted in <STRONG>SYNOPSIS</STRONG>:
+ The standard include for <B>ncurses</B> is as noted in <B>SYNOPSIS</B>:
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- This option is used to avoid filename conflicts when <STRONG>ncurses</STRONG> is
- not the main implementation of curses of the computer. If <STRONG>ncurses</STRONG>
+ This option is used to avoid filename conflicts when <B>ncurses</B> is
+ not the main implementation of curses of the computer. If <B>ncurses</B>
is installed disabling overwrite, it puts its headers in a
subdirectory, e.g.,
- <STRONG>#include</STRONG> <STRONG><ncurses/curses.h></STRONG>
+ <B>#include</B> <B><ncurses/curses.h></B>
It also omits a symbolic link which would allow you to use
- <STRONG>-lcurses</STRONG> to build executables.
+ <B>-lcurses</B> to build executables.
--enable-widec
The configure script renames the library and (if the
- <STRONG>--disable-overwrite</STRONG> option is used) puts the header files in a
+ <B>--disable-overwrite</B> option is used) puts the header files in a
different subdirectory. All of the library names have a "w"
appended to them, i.e., instead of
- <STRONG>-lncurses</STRONG>
+ <B>-lncurses</B>
you link with
- <STRONG>-lncursesw</STRONG>
+ <B>-lncursesw</B>
You must also enable the wide-character features in the header
file when compiling for the wide-character library to use the
extended (wide-character) functions. The symbol which enables
these features has changed since XSI Curses, Issue 4:
- <STRONG>o</STRONG> Originally, the wide-character feature required the symbol
- <STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
+ <B>o</B> Originally, the wide-character feature required the symbol
+ <B>_XOPEN_SOURCE_EXTENDED</B> but that was only valid for XPG4
(1996).
- <STRONG>o</STRONG> Later, that was deemed conflicting with <STRONG>_XOPEN_SOURCE</STRONG> defined
+ <B>o</B> Later, that was deemed conflicting with <B>_XOPEN_SOURCE</B> defined
to 500.
- <STRONG>o</STRONG> As of mid-2018, none of the features in this implementation
- require a <STRONG>_XOPEN_SOURCE</STRONG> feature greater than 600. However,
+ <B>o</B> As of mid-2018, none of the features in this implementation
+ require a <B>_XOPEN_SOURCE</B> feature greater than 600. However,
X/Open Curses, Issue 7 (2009) recommends defining it to 700.
- <STRONG>o</STRONG> Alternatively, you can enable the feature by defining
- <STRONG>NCURSES_WIDECHAR</STRONG> with the caveat that some other header file
- than <STRONG>curses.h</STRONG> may require a specific value for <STRONG>_XOPEN_SOURCE</STRONG>
+ <B>o</B> Alternatively, you can enable the feature by defining
+ <B>NCURSES_WIDECHAR</B> with the caveat that some other header file
+ than <B>curses.h</B> may require a specific value for <B>_XOPEN_SOURCE</B>
(or a system-specific symbol).
- The <STRONG>curses.h</STRONG> file which is installed for the wide-character
+ The <B>curses.h</B> file which is installed for the wide-character
library is designed to be compatible with the normal library's
- header. Only the size of the <STRONG>WINDOW</STRONG> structure differs, and very
- few applications require more than a pointer to <STRONG>WINDOW</STRONG>s.
+ header. Only the size of the <B>WINDOW</B> structure differs, and very
+ few applications require more than a pointer to <B>WINDOW</B>s.
If the headers are installed allowing overwrite, the wide-
character library's headers should be installed last, to allow
--with-pthread
The configure script renames the library. All of the library
names have a "t" appended to them (before any "w" added by
- <STRONG>--enable-widec</STRONG>).
+ <B>--enable-widec</B>).
- The global variables such as <STRONG>LINES</STRONG> are replaced by macros to allow
+ The global variables such as <B>LINES</B> are replaced by macros to allow
read-only access. At the same time, setter-functions are provided
to set these values. Some applications (very few) may require
changes to work with this convention.
--with-profile
The shared and normal (static) library names differ by their
- suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and
+ suffixes, e.g., <B>libncurses.so</B> and <B>libncurses.a</B>. The debug and
profiling libraries add a "_g" and a "_p" to the root names
- respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
+ respectively, e.g., <B>libncurses_g.a</B> and <B>libncurses_p.a</B>.
--with-termlib
Low-level functions which do not depend upon whether the library
Those functions are described in these pages:
- <STRONG>o</STRONG> <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> - miscellaneous curses extensions
+ <B>o</B> <B><A HREF="curs_extend.3X.html">curs_extend(3X)</A></B> - miscellaneous curses extensions
- <STRONG>o</STRONG> <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> - <STRONG>curses</STRONG> input options
+ <B>o</B> <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B> - <B>curses</B> input options
- <STRONG>o</STRONG> <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> - low-level <STRONG>curses</STRONG> routines
+ <B>o</B> <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B> - low-level <B>curses</B> routines
- <STRONG>o</STRONG> <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> - <STRONG>curses</STRONG> environment query routines
+ <B>o</B> <B><A HREF="curs_termattrs.3X.html">curs_termattrs(3X)</A></B> - <B>curses</B> environment query routines
- <STRONG>o</STRONG> <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> - <STRONG>curses</STRONG> emulation of termcap
+ <B>o</B> <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B> - <B>curses</B> emulation of termcap
- <STRONG>o</STRONG> <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> - <STRONG>curses</STRONG> interfaces to terminfo database
+ <B>o</B> <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B> - <B>curses</B> interfaces to terminfo database
- <STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <STRONG>curses</STRONG> utility routines
+ <B>o</B> <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B> - miscellaneous <B>curses</B> utility routines
--with-trace
- The <STRONG>trace</STRONG> function normally resides in the debug library, but it
+ The <B>trace</B> function normally resides in the debug library, but it
is sometimes useful to configure this in the shared library.
Configure scripts should check for the function's existence rather
than assuming it is always in the debug library.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> and related pages whose names begin "curs_" for detailed
+ <B><A HREF="terminfo.5.html">terminfo(5)</A></B> and related pages whose names begin "curs_" for detailed
routine descriptions.
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
- <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> for user-defined capabilities
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>
+ <B><A HREF="user_caps.5.html">user_caps(5)</A></B> for user-defined capabilities
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- The <STRONG>ncurses</STRONG> library can be compiled with an option (<STRONG>-DUSE_GETCAP</STRONG>) that
+ The <B>ncurses</B> library can be compiled with an option (<B>-DUSE_GETCAP</B>) that
falls back to the old-style /etc/termcap file if the terminal setup
- code cannot find a terminfo entry corresponding to <STRONG>TERM</STRONG>. Use of this
+ code cannot find a terminfo entry corresponding to <B>TERM</B>. Use of this
feature is not recommended, as it essentially includes an entire
- termcap compiler in the <STRONG>ncurses</STRONG> startup code, at significant cost in
+ termcap compiler in the <B>ncurses</B> startup code, at significant cost in
core and startup cycles.
- The <STRONG>ncurses</STRONG> library includes facilities for capturing mouse events on
- certain terminals (including xterm). See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual
+ The <B>ncurses</B> library includes facilities for capturing mouse events on
+ certain terminals (including xterm). See the <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B> manual
page for details.
- The <STRONG>ncurses</STRONG> library includes facilities for responding to window
+ The <B>ncurses</B> library includes facilities for responding to window
resizing events, e.g., when running in an xterm. See the
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> and <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual pages for details. In addition,
- the library may be configured with a <STRONG>SIGWINCH</STRONG> handler.
+ <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B> and <B><A HREF="wresize.3X.html">wresize(3X)</A></B> manual pages for details. In addition,
+ the library may be configured with a <B>SIGWINCH</B> handler.
- The <STRONG>ncurses</STRONG> library extends the fixed set of function key capabilities
+ The <B>ncurses</B> library extends the fixed set of function key capabilities
of terminals by allowing the application designer to define additional
- key sequences at runtime. See the <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and
- <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> manual pages for details.
+ key sequences at runtime. See the <B><A HREF="define_key.3X.html">define_key(3X)</A></B> <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B>, and
+ <B><A HREF="keyok.3X.html">keyok(3X)</A></B> manual pages for details.
- The <STRONG>ncurses</STRONG> library can exploit the capabilities of terminals which
+ The <B>ncurses</B> library can exploit the capabilities of terminals which
implement the ISO-6429 SGR 39 and SGR 49 controls, which allow an
application to reset the terminal to its original foreground and
background colors. From the users' perspective, the application is
able to draw colored text on a background whose color is set
independently, providing better control over color contrasts. See the
- <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> manual page for details.
+ <B><A HREF="default_colors.3X.html">default_colors(3X)</A></B> manual page for details.
- The <STRONG>ncurses</STRONG> library includes a function for directing application
+ The <B>ncurses</B> library includes a function for directing application
output to a printer attached to the terminal device. See the
- <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+ <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B> manual page for details.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>ncurses</STRONG> library is intended to be BASE-level conformant with XSI
+ The <B>ncurses</B> library is intended to be BASE-level conformant with XSI
Curses. The EXTENDED XSI Curses functionality (including color
support) is supported.
A small number of local differences (that is, individual differences
- between the XSI Curses and <STRONG>ncurses</STRONG> calls) are described in <STRONG>PORTABILITY</STRONG>
+ between the XSI Curses and <B>ncurses</B> calls) are described in <B>PORTABILITY</B>
sections of the library man pages.
Some have been incorporated into other implementations, such as
PDCurses or NetBSD curses. Here are a few to consider:
- <STRONG>o</STRONG> The routine <STRONG>has_key</STRONG> is not part of XPG4, nor is it present in SVr4.
- See the <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> manual page for details.
+ <B>o</B> The routine <B>has_key</B> is not part of XPG4, nor is it present in SVr4.
+ See the <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>slk_attr</STRONG> is not part of XPG4, nor is it present in
- SVr4. See the <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> manual page for details.
+ <B>o</B> The routine <B>slk_attr</B> is not part of XPG4, nor is it present in
+ SVr4. See the <B><A HREF="curs_slk.3X.html">curs_slk(3X)</A></B> manual page for details.
- <STRONG>o</STRONG> The routines <STRONG>getmouse</STRONG>, <STRONG>mousemask</STRONG>, <STRONG>ungetmouse</STRONG>, <STRONG>mouseinterval</STRONG>, and
- <STRONG>wenclose</STRONG> relating to mouse interfacing are not part of XPG4, nor
- are they present in SVr4. See the <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> manual page for
+ <B>o</B> The routines <B>getmouse</B>, <B>mousemask</B>, <B>ungetmouse</B>, <B>mouseinterval</B>, and
+ <B>wenclose</B> relating to mouse interfacing are not part of XPG4, nor
+ are they present in SVr4. See the <B><A HREF="curs_mouse.3X.html">curs_mouse(3X)</A></B> manual page for
details.
- <STRONG>o</STRONG> The routine <STRONG>mcprint</STRONG> was not present in any previous curses
- implementation. See the <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> manual page for details.
+ <B>o</B> The routine <B>mcprint</B> was not present in any previous curses
+ implementation. See the <B><A HREF="curs_print.3X.html">curs_print(3X)</A></B> manual page for details.
- <STRONG>o</STRONG> The routine <STRONG>wresize</STRONG> is not part of XPG4, nor is it present in SVr4.
- See the <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> manual page for details.
+ <B>o</B> The routine <B>wresize</B> is not part of XPG4, nor is it present in SVr4.
+ See the <B><A HREF="wresize.3X.html">wresize(3X)</A></B> manual page for details.
- <STRONG>o</STRONG> The WINDOW structure's internal details can be hidden from
- application programs. See <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> for the discussion of
- <STRONG>is_scrollok</STRONG>, etc.
+ <B>o</B> The WINDOW structure's internal details can be hidden from
+ application programs. See <B><A HREF="curs_opaque.3X.html">curs_opaque(3X)</A></B> for the discussion of
+ <B>is_scrollok</B>, etc.
- <STRONG>o</STRONG> This implementation can be configured to provide rudimentary
- support for multi-threaded applications. See <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> for
+ <B>o</B> This implementation can be configured to provide rudimentary
+ support for multi-threaded applications. See <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B> for
details.
- <STRONG>o</STRONG> This implementation can also be configured to provide a set of
+ <B>o</B> This implementation can also be configured to provide a set of
functions which improve the ability to manage multiple screens.
- See <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> for details.
+ See <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B> for details.
</PRE><H3><a name="h3-Padding-differences">Padding differences</a></H3><PRE>
- In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
- <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the UNIX
+ In historic curses versions, delays embedded in the capabilities <B>cr</B>,
+ <B>ind</B>, <B>cub1</B>, <B>ff</B> and <B>tab</B> activated corresponding delay bits in the UNIX
tty driver. In this implementation, all padding is done by sending NUL
bytes. This method is slightly more expensive, but narrows the
interface to the UNIX kernel significantly and increases the package's
</PRE><H3><a name="h3-Header-files">Header files</a></H3><PRE>
- The header file <STRONG><curses.h></STRONG> automatically includes the header files
- <STRONG><stdio.h></STRONG> and <STRONG><unctrl.h></STRONG>.
+ The header file <B><curses.h></B> automatically includes the header files
+ <B><stdio.h></B> and <B><unctrl.h></B>.
X/Open Curses has more to say, but does not finish the story:
Here is a more complete story:
- <STRONG>o</STRONG> Starting with BSD curses, all implementations have included
+ <B>o</B> Starting with BSD curses, all implementations have included
<stdio.h>.
BSD curses included <curses.h> and <unctrl.h> from an internal
- header "curses.ext" ("ext" was a short name for <EM>externs</EM>).
+ header "curses.ext" ("ext" was a short name for <I>externs</I>).
- BSD curses used <stdio.h> internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
+ BSD curses used <stdio.h> internally (for <B>printw</B> and <B>scanw</B>), but
nothing in <curses.h> itself relied upon <stdio.h>.
- <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon <stdio.h>. That
- is, the function prototype uses <STRONG>FILE</STRONG>.
+ <B>o</B> SVr2 curses added <B><A HREF="curs_initscr.3X.html">newterm(3X)</A></B>, which relies upon <stdio.h>. That
+ is, the function prototype uses <B>FILE</B>.
- SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use <stdio.h>.
+ SVr4 curses added <B>putwin</B> and <B>getwin</B>, which also use <stdio.h>.
X/Open Curses documents all three of these functions.
As a result, standard <curses.h> will always include <stdio.h>.
- <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding
+ <B>o</B> X/Open Curses is inconsistent with respect to SVr4 regarding
<unctrl.h>.
- As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, ncurses includes <unctrl.h> from
+ As noted in <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>, ncurses includes <unctrl.h> from
<curses.h> (like SVr4).
- <STRONG>o</STRONG> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
+ <B>o</B> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
and AIX:
- HP-UX curses includes <term.h> from <curses.h> to declare <STRONG>setupterm</STRONG>
+ HP-UX curses includes <term.h> from <curses.h> to declare <B>setupterm</B>
in curses.h, but ncurses (and Solaris curses) do not.
AIX curses includes <term.h> and <termios.h>. Again, ncurses (and
Solaris curses) do not.
- <STRONG>o</STRONG> X/Open says that <curses.h> <EM>may</EM> include <term.h>, but there is no
+ <B>o</B> X/Open says that <curses.h> <I>may</I> include <term.h>, but there is no
requirement that it do that.
Some programs use functions declared in both <curses.h> and
in any order. But for portability, you should include <curses.h>
before <term.h>.
- <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
+ <B>o</B> X/Open Curses says <I>"may</I> <I>make</I> <I>visible"</I> because including a header
file does not necessarily make all symbols in it visible (there are
ifdef's to consider).
- For instance, in ncurses <wchar.h> <EM>may</EM> be included if the proper
+ For instance, in ncurses <wchar.h> <I>may</I> be included if the proper
symbol is defined, and if ncurses is configured for wide-character
support. If the header is included, its symbols may be made
- visible. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
+ visible. That depends on the value used for <B>_XOPEN_SOURCE</B> feature
test macro.
- <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
- <stdarg.h> before <curses.h> to prototype the <STRONG>vw_printw</STRONG> and
- <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and
- <STRONG>vwscanw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
+ <B>o</B> X/Open Curses documents one required header, in a special case:
+ <stdarg.h> before <curses.h> to prototype the <B>vw_printw</B> and
+ <B>vw_scanw</B> functions (as well as the obsolete the <B>vwprintw</B> and
+ <B>vwscanw</B> functions). Each of those uses a <B>va_list</B> parameter.
The two obsolete functions were introduced in SVr3. The other
functions were introduced in X/Open Curses. In between, SVr4
curses provided for the possibility that an application might
include either <varargs.h> or <stdarg.h>. Initially, that was done
- by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
+ by using <B>void*</B> for the <B>va_list</B> parameter. Later, a special type
(defined in <stdio.h>) was introduced, to allow for compiler type-
checking. That special type is always available, because <stdio.h>
is always included by <curses.h>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- If standard output from a <STRONG>ncurses</STRONG> program is re-directed to something
+ If standard output from a <B>ncurses</B> program is re-directed to something
which is not a tty, screen updates will be directed to standard error.
This was an undocumented feature of AT&T System V Release 3 curses.
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKncu_config.in,v 1.4 2020/02/02 23:34:34 tom Exp @
+ * @Id: MKncu_config.in,v 1.5 2021/06/17 21:20:30 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<BODY>
<H1 class="no-header">ncurses6-config 1</H1>
<PRE>
-<STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG> General Commands Manual <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
+<B><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></B> General Commands Manual <B><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>ncurses6-config</STRONG> [<EM>options</EM>]
+ <B>ncurses6-config</B> [<I>options</I>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
- <STRONG>--prefix</STRONG>
+ <B>--prefix</B>
echos the package-prefix of ncurses
- <STRONG>--exec-prefix</STRONG>
+ <B>--exec-prefix</B>
echos the executable-prefix of ncurses
- <STRONG>--cflags</STRONG>
+ <B>--cflags</B>
echos the C compiler flags needed to compile with ncurses
- <STRONG>--libs</STRONG> echos the libraries needed to link with ncurses
+ <B>--libs</B> echos the libraries needed to link with ncurses
- <STRONG>--version</STRONG>
+ <B>--version</B>
echos the release+patchdate version of ncurses
- <STRONG>--abi-version</STRONG>
+ <B>--abi-version</B>
echos the ABI version of ncurses
- <STRONG>--mouse-version</STRONG>
+ <B>--mouse-version</B>
echos the mouse-interface version of ncurses
- <STRONG>--bindir</STRONG>
+ <B>--bindir</B>
echos the directory containing ncurses programs
- <STRONG>--datadir</STRONG>
+ <B>--datadir</B>
echos the directory containing ncurses data
- <STRONG>--includedir</STRONG>
+ <B>--includedir</B>
echos the directory containing ncurses header files
- <STRONG>--libdir</STRONG>
+ <B>--libdir</B>
echos the directory containing ncurses libraries
- <STRONG>--mandir</STRONG>
+ <B>--mandir</B>
echos the directory containing ncurses manpages
- <STRONG>--terminfo</STRONG>
+ <B>--terminfo</B>
echos the $TERMINFO terminfo database path, e.g.,
/usr/share/terminfo
- <STRONG>--terminfo-dirs</STRONG>
+ <B>--terminfo-dirs</B>
echos the $TERMINFO_DIRS directory list, e.g.,
/usr/share/terminfo
- <STRONG>--termpath</STRONG>
+ <B>--termpath</B>
echos the $TERMPATH termcap list, if support for termcap is
configured.
- <STRONG>--help</STRONG> prints this message
+ <B>--help</B> prints this message
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></STRONG>
+ <B><A HREF="ncurses6-config.1.html">ncurses6-config(1)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: new_pair.3x,v 1.15 2020/10/17 23:54:50 tom Exp @
+ * @Id: new_pair.3x,v 1.16 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>new_pair 3x</TITLE>
+<TITLE>new_pair 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">new_pair 3x</H1>
+<H1 class="no-header">new_pair 3X</H1>
<PRE>
-<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+<B><A HREF="new_pair.3X.html">new_pair(3X)</A></B> <B><A HREF="new_pair.3X.html">new_pair(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>alloc_pair</STRONG>, <STRONG>find_pair</STRONG>, <STRONG>free_pair</STRONG> - new curses color-pair functions
+ <B>alloc_pair</B>, <B>find_pair</B>, <B>free_pair</B> - new curses color-pair functions
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>alloc_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>find_pair(int</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>bg</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>free_pair(int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
+ <B>int</B> <B>alloc_pair(int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>find_pair(int</B> <I>fg</I><B>,</B> <B>int</B> <I>bg</I><B>);</B>
+ <B>int</B> <B>free_pair(int</B> <I>pair</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The number of colors may be related to the number of possible color
pairs for a given terminal, or it may not:
- <STRONG>o</STRONG> While almost all terminals allow setting the color <EM>attributes</EM>
+ <B>o</B> While almost all terminals allow setting the color <I>attributes</I>
independently, it is unlikely that your terminal allows you to
modify the attributes of a given character cell without rewriting
it. That is, the foreground and background colors are applied as a
pair.
- <STRONG>o</STRONG> Color pairs are the curses library's way of managing a color
+ <B>o</B> Color pairs are the curses library's way of managing a color
palette on a terminal. If the library does not keep track of the
- <EM>combinations</EM> of colors which are displayed, it will be inefficient.
+ <I>combinations</I> of colors which are displayed, it will be inefficient.
- <STRONG>o</STRONG> For simple terminal emulators with only a few dozen color
+ <B>o</B> For simple terminal emulators with only a few dozen color
combinations, it is convenient to use the maximum number of
combinations as the limit on color pairs:
- <STRONG>COLORS</STRONG> <EM>*</EM> <STRONG>COLORS</STRONG>
+ <B>COLORS</B> <I>*</I> <B>COLORS</B>
- <STRONG>o</STRONG> Terminals which support <EM>default</EM> <EM>colors</EM> distinct from "ANSI colors"
+ <B>o</B> Terminals which support <I>default</I> <I>colors</I> distinct from "ANSI colors"
add to the possible combinations, producing this total:
- <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM> <EM>*</EM> <EM>(</EM> <STRONG>COLORS</STRONG> <EM>+</EM> <EM>1</EM> <EM>)</EM>
+ <I>(</I> <B>COLORS</B> <I>+</I> <I>1</I> <I>)</I> <I>*</I> <I>(</I> <B>COLORS</B> <I>+</I> <I>1</I> <I>)</I>
- <STRONG>o</STRONG> An application might use up to a few dozen color pairs to implement
+ <B>o</B> An application might use up to a few dozen color pairs to implement
a predefined color scheme.
Beyond that lies in the realm of programs using the foreground and
</PRE><H3><a name="h3-alloc_pair">alloc_pair</a></H3><PRE>
- The <STRONG>alloc_pair</STRONG> function accepts parameters for foreground and
+ The <B>alloc_pair</B> function accepts parameters for foreground and
background color, and checks if that color combination is already
associated with a color pair.
- <STRONG>o</STRONG> If the combination already exists, <STRONG>alloc_pair</STRONG> returns the existing
+ <B>o</B> If the combination already exists, <B>alloc_pair</B> returns the existing
pair.
- <STRONG>o</STRONG> If the combination does not exist, <STRONG>alloc_pair</STRONG> allocates a new color
+ <B>o</B> If the combination does not exist, <B>alloc_pair</B> allocates a new color
pair and returns that.
- <STRONG>o</STRONG> If the table fills up, <STRONG>alloc_pair</STRONG> discards the least-recently
- allocated entry using <STRONG>free_pair</STRONG> and allocates a new color pair.
+ <B>o</B> If the table fills up, <B>alloc_pair</B> discards the least-recently
+ allocated entry using <B>free_pair</B> and allocates a new color pair.
All of the color pairs are allocated from a table of possible color
- pairs. The size of the table is determined by the terminfo <EM>pairs</EM>
- capability. The table is shared with <STRONG>init_pair</STRONG>; in fact <STRONG>alloc_pair</STRONG>
- calls <STRONG>init_pair</STRONG> after updating the ncurses library's fast index to the
+ pairs. The size of the table is determined by the terminfo <I>pairs</I>
+ capability. The table is shared with <B>init_pair</B>; in fact <B>alloc_pair</B>
+ calls <B>init_pair</B> after updating the ncurses library's fast index to the
colors versus color pairs.
</PRE><H3><a name="h3-find_pair">find_pair</a></H3><PRE>
- The <STRONG>find_pair</STRONG> function accepts parameters for foreground and background
+ The <B>find_pair</B> function accepts parameters for foreground and background
color, and checks if that color combination is already associated with
a color pair, returning the pair number if it has been allocated.
Otherwise it returns -1.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The <STRONG>alloc_pair</STRONG> function returns a color pair number in the range 1
- through <STRONG>COLOR_PAIRS</STRONG>-1, unless it encounters an error updating its fast
+ The <B>alloc_pair</B> function returns a color pair number in the range 1
+ through <B>COLOR_PAIRS</B>-1, unless it encounters an error updating its fast
index to the color pair values, preventing it from allocating a color
pair. In that case, it returns -1.
- The <STRONG>find_pair</STRONG> function returns a color pair number if the given color
+ The <B>find_pair</B> function returns a color pair number if the given color
combination has been associated with a color pair, or -1 if not.
- Likewise, <STRONG>free_pair</STRONG> returns <STRONG>OK</STRONG> unless it encounters an error updating
+ Likewise, <B>free_pair</B> returns <B>OK</B> unless it encounters an error updating
the fast index or if no such color pair is in use.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>.
+ <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+ <B><A HREF="new_pair.3X.html">new_pair(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>panel 3x</TITLE>
+<TITLE>panel 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">panel 3x</H1>
+<H1 class="no-header">panel 3X</H1>
<PRE>
-<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+<B><A HREF="panel.3X.html">panel(3X)</A></B> <B><A HREF="panel.3X.html">panel(3X)</A></B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><panel.h></STRONG>
+ <B>#include</B> <B><panel.h></B>
- <STRONG>cc</STRONG> <STRONG>[flags]</STRONG> <STRONG>sourcefiles</STRONG> <STRONG>-lpanel</STRONG> <STRONG>-lncurses</STRONG>
+ <B>cc</B> <B>[flags]</B> <B>sourcefiles</B> <B>-lpanel</B> <B>-lncurses</B>
- <STRONG>PANEL</STRONG> <STRONG>*new_panel(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>);</STRONG>
+ <B>PANEL</B> <B>*new_panel(WINDOW</B> <B>*</B><I>win</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>bottom_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>top_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>show_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
- <STRONG>void</STRONG> <STRONG>update_panels(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>hide_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+ <B>int</B> <B>bottom_panel(PANEL</B> <B>*</B><I>pan</I><B>);</B>
+ <B>int</B> <B>top_panel(PANEL</B> <B>*</B><I>pan</I><B>);</B>
+ <B>int</B> <B>show_panel(PANEL</B> <B>*</B><I>pan</I><B>);</B>
+ <B>void</B> <B>update_panels(void);</B>
+ <B>int</B> <B>hide_panel(PANEL</B> <B>*</B><I>pan</I><B>);</B>
- <STRONG>WINDOW</STRONG> <STRONG>*panel_window(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>replace_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>window</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>move_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>starty</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>startx</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>panel_hidden(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+ <B>WINDOW</B> <B>*panel_window(const</B> <B>PANEL</B> <B>*</B><I>pan</I><B>);</B>
+ <B>int</B> <B>replace_panel(PANEL</B> <B>*</B><I>pan</I><B>,</B> <B>WINDOW</B> <B>*</B><I>window</I><B>);</B>
+ <B>int</B> <B>move_panel(PANEL</B> <B>*</B><I>pan</I><B>,</B> <B>int</B> <I>starty</I><B>,</B> <B>int</B> <I>startx</I><B>);</B>
+ <B>int</B> <B>panel_hidden(const</B> <B>PANEL</B> <B>*</B><I>pan</I><B>);</B>
- <STRONG>PANEL</STRONG> <STRONG>*panel_above(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*panel_below(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+ <B>PANEL</B> <B>*panel_above(const</B> <B>PANEL</B> <B>*</B><I>pan</I><B>);</B>
+ <B>PANEL</B> <B>*panel_below(const</B> <B>PANEL</B> <B>*</B><I>pan</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>set_panel_userptr(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>ptr</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*panel_userptr(const</STRONG> <STRONG>PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+ <B>int</B> <B>set_panel_userptr(PANEL</B> <B>*</B><I>pan</I><B>,</B> <B>const</B> <B>void</B> <B>*</B><I>ptr</I><B>);</B>
+ <B>const</B> <B>void</B> <B>*panel_userptr(const</B> <B>PANEL</B> <B>*</B><I>pan</I><B>);</B>
- <STRONG>int</STRONG> <STRONG>del_panel(PANEL</STRONG> <STRONG>*</STRONG><EM>pan</EM><STRONG>);</STRONG>
+ <B>int</B> <B>del_panel(PANEL</B> <B>*</B><I>pan</I><B>);</B>
/* ncurses-extensions */
- <STRONG>PANEL</STRONG> <STRONG>*ground_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG>
- <STRONG>PANEL</STRONG> <STRONG>*ceiling_panel(SCREEN</STRONG> <STRONG>*</STRONG><EM>sp</EM><STRONG>);</STRONG>
+ <B>PANEL</B> <B>*ground_panel(SCREEN</B> <B>*</B><I>sp</I><B>);</B>
+ <B>PANEL</B> <B>*ceiling_panel(SCREEN</B> <B>*</B><I>sp</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- Panels are <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG> windows with the added feature of depth. Panel
+ Panels are <B><A HREF="curses.3X.html">curses(3X)</A></B> windows with the added feature of depth. Panel
functions allow the use of stacked windows and ensure the proper
- portions of each window and the curses <STRONG>stdscr</STRONG> window are hidden or
+ portions of each window and the curses <B>stdscr</B> window are hidden or
displayed when panels are added, moved, modified or removed. The set
- of currently visible panels is the stack of panels. The <STRONG>stdscr</STRONG> window
+ of currently visible panels is the stack of panels. The <B>stdscr</B> window
is beneath all panels, and is not considered part of the stack.
A window is associated with every panel. The panel routines enable you
to create, move, hide, and show panels, as well as position a panel at
any desired location in the stack.
- Panel routines are a functional layer added to <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, make only
+ Panel routines are a functional layer added to <B><A HREF="curses.3X.html">curses(3X)</A></B>, make only
high-level curses calls, and work anywhere terminfo curses does.
</PRE><H2><a name="h2-FUNCTIONS">FUNCTIONS</a></H2><PRE>
</PRE><H3><a name="h3-bottom_panel">bottom_panel</a></H3><PRE>
- <STRONG>bottom_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> puts panel <EM>pan</EM> at the bottom of all panels.
+ <B>bottom_panel(</B><I>pan</I><B>)</B> puts panel <I>pan</I> at the bottom of all panels.
</PRE><H3><a name="h3-ceiling_panel">ceiling_panel</a></H3><PRE>
- <STRONG>ceiling_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_below(NULL)</STRONG>, for the given <STRONG>SCREEN</STRONG> <EM>sp</EM>.
+ <B>ceiling_panel(</B><I>sp</I><B>)</B> acts like <B>panel_below(NULL)</B>, for the given <B>SCREEN</B> <I>sp</I>.
</PRE><H3><a name="h3-del_panel">del_panel</a></H3><PRE>
- <STRONG>del_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the stack and
- deallocates the <STRONG>PANEL</STRONG> structure (but not its associated window).
+ <B>del_panel(</B><I>pan</I><B>)</B> removes the given panel <I>pan</I> from the stack and
+ deallocates the <B>PANEL</B> structure (but not its associated window).
</PRE><H3><a name="h3-ground_panel">ground_panel</a></H3><PRE>
- <STRONG>ground_panel(</STRONG><EM>sp</EM><STRONG>)</STRONG> acts like <STRONG>panel_above(NULL)</STRONG>, for the given <STRONG>SCREEN</STRONG> <EM>sp</EM>.
+ <B>ground_panel(</B><I>sp</I><B>)</B> acts like <B>panel_above(NULL)</B>, for the given <B>SCREEN</B> <I>sp</I>.
</PRE><H3><a name="h3-hide_panel">hide_panel</a></H3><PRE>
- <STRONG>hide_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> removes the given panel <EM>pan</EM> from the panel stack and
- thus hides it from view. The <STRONG>PANEL</STRONG> structure is not lost, merely
+ <B>hide_panel(</B><I>pan</I><B>)</B> removes the given panel <I>pan</I> from the panel stack and
+ thus hides it from view. The <B>PANEL</B> structure is not lost, merely
removed from the stack.
</PRE><H3><a name="h3-move_panel">move_panel</a></H3><PRE>
- <STRONG>move_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>starty</EM><STRONG>,</STRONG><EM>startx</EM><STRONG>)</STRONG> moves the given panel <EM>pan</EM>'s window so
- that its upper-left corner is at <EM>starty</EM>, <EM>startx</EM>. It does not change
+ <B>move_panel(</B><I>pan</I><B>,</B><I>starty</I><B>,</B><I>startx</I><B>)</B> moves the given panel <I>pan</I>'s window so
+ that its upper-left corner is at <I>starty</I>, <I>startx</I>. It does not change
the position of the panel in the stack. Be sure to use this function,
- not <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, to move a panel window.
+ not <B><A HREF="curs_window.3X.html">mvwin(3X)</A></B>, to move a panel window.
</PRE><H3><a name="h3-new_panel">new_panel</a></H3><PRE>
- <STRONG>new_panel(</STRONG><EM>win</EM><STRONG>)</STRONG> allocates a <STRONG>PANEL</STRONG> structure, associates it with <EM>win</EM>,
+ <B>new_panel(</B><I>win</I><B>)</B> allocates a <B>PANEL</B> structure, associates it with <I>win</I>,
places the panel on the top of the stack (causes it to be displayed
above any other panel) and returns a pointer to the new panel.
</PRE><H3><a name="h3-panel_above">panel_above</a></H3><PRE>
- <STRONG>panel_above(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the panel above <EM>pan</EM>. If the
- panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the bottom panel
+ <B>panel_above(</B><I>pan</I><B>)</B> returns a pointer to the panel above <I>pan</I>. If the
+ panel argument is <B>(PANEL</B> <B>*)0</B>, it returns a pointer to the bottom panel
in the stack.
</PRE><H3><a name="h3-panel_below">panel_below</a></H3><PRE>
- <STRONG>panel_below(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the panel just below <EM>pan</EM>. If the
- panel argument is <STRONG>(PANEL</STRONG> <STRONG>*)0</STRONG>, it returns a pointer to the top panel in
+ <B>panel_below(</B><I>pan</I><B>)</B> returns a pointer to the panel just below <I>pan</I>. If the
+ panel argument is <B>(PANEL</B> <B>*)0</B>, it returns a pointer to the top panel in
the stack.
</PRE><H3><a name="h3-panel_hidden">panel_hidden</a></H3><PRE>
- <STRONG>panel_hidden(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns <STRONG>TRUE</STRONG> if the panel <EM>pan</EM> is in the panel stack,
- <STRONG>FALSE</STRONG> if it is not. If the panel is a null pointer, return <STRONG>ERR</STRONG>.
+ <B>panel_hidden(</B><I>pan</I><B>)</B> returns <B>TRUE</B> if the panel <I>pan</I> is in the panel stack,
+ <B>FALSE</B> if it is not. If the panel is a null pointer, return <B>ERR</B>.
</PRE><H3><a name="h3-panel_userptr">panel_userptr</a></H3><PRE>
- <STRONG>panel_userptr(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns the user pointer for a given panel <EM>pan</EM>.
+ <B>panel_userptr(</B><I>pan</I><B>)</B> returns the user pointer for a given panel <I>pan</I>.
</PRE><H3><a name="h3-panel_window">panel_window</a></H3><PRE>
- <STRONG>panel_window(</STRONG><EM>pan</EM><STRONG>)</STRONG> returns a pointer to the window of the given panel
- <EM>pan</EM>.
+ <B>panel_window(</B><I>pan</I><B>)</B> returns a pointer to the window of the given panel
+ <I>pan</I>.
</PRE><H3><a name="h3-replace_panel">replace_panel</a></H3><PRE>
- <STRONG>replace_panel(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>window</EM><STRONG>)</STRONG> replaces the current window of panel <EM>pan</EM> with
- <EM>window</EM> This is useful, for example if you want to resize a panel. In
- <STRONG>ncurses</STRONG>, you can call <STRONG>replace_panel</STRONG> to resize a panel using a window
- resized with <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>. It does not change the position of the panel
+ <B>replace_panel(</B><I>pan</I><B>,</B><I>window</I><B>)</B> replaces the current window of panel <I>pan</I> with
+ <I>window</I> This is useful, for example if you want to resize a panel. In
+ <B>ncurses</B>, you can call <B>replace_panel</B> to resize a panel using a window
+ resized with <B><A HREF="wresize.3X.html">wresize(3X)</A></B>. It does not change the position of the panel
in the stack.
</PRE><H3><a name="h3-set_panel_userptr">set_panel_userptr</a></H3><PRE>
- <STRONG>set_panel_userptr(</STRONG><EM>pan</EM><STRONG>,</STRONG><EM>ptr</EM><STRONG>)</STRONG> sets the panel's user pointer.
+ <B>set_panel_userptr(</B><I>pan</I><B>,</B><I>ptr</I><B>)</B> sets the panel's user pointer.
</PRE><H3><a name="h3-show_panel">show_panel</a></H3><PRE>
- <STRONG>show_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> makes a hidden panel visible by placing it on top of
- the panels in the panel stack. See <STRONG>COMPATIBILITY</STRONG> below.
+ <B>show_panel(</B><I>pan</I><B>)</B> makes a hidden panel visible by placing it on top of
+ the panels in the panel stack. See <B>COMPATIBILITY</B> below.
</PRE><H3><a name="h3-top_panel">top_panel</a></H3><PRE>
- <STRONG>top_panel(</STRONG><EM>pan</EM><STRONG>)</STRONG> puts the given visible panel <EM>pan</EM> on top of all panels in
- the stack. See <STRONG>COMPATIBILITY</STRONG> below.
+ <B>top_panel(</B><I>pan</I><B>)</B> puts the given visible panel <I>pan</I> on top of all panels in
+ the stack. See <B>COMPATIBILITY</B> below.
</PRE><H3><a name="h3-update_panels">update_panels</a></H3><PRE>
- <STRONG>update_panels()</STRONG> refreshes the <EM>virtual</EM> <EM>screen</EM> to reflect the relations
- between the panels in the stack, but does not call <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> to
- refresh the <EM>physical</EM> <EM>screen</EM>. Use this function and not <STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG> or
- <STRONG><A HREF="curs_refresh.3x.html">wnoutrefresh(3x)</A></STRONG>.
+ <B>update_panels()</B> refreshes the <I>virtual</I> <I>screen</I> to reflect the relations
+ between the panels in the stack, but does not call <B><A HREF="curs_refresh.3X.html">doupdate(3X)</A></B> to
+ refresh the <I>physical</I> <I>screen</I>. Use this function and not <B><A HREF="curs_refresh.3X.html">wrefresh(3X)</A></B> or
+ <B><A HREF="curs_refresh.3X.html">wnoutrefresh(3X)</A></B>.
- <STRONG>update_panels</STRONG> may be called more than once before a call to <STRONG>doupdate</STRONG>,
- but <STRONG>doupdate</STRONG> is the function responsible for updating the <EM>physical</EM>
- <EM>screen</EM>.
+ <B>update_panels</B> may be called more than once before a call to <B>doupdate</B>,
+ but <B>doupdate</B> is the function responsible for updating the <I>physical</I>
+ <I>screen</I>.
</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
- Each routine that returns a pointer returns <STRONG>NULL</STRONG> if an error occurs.
- Each routine that returns an int value returns <STRONG>OK</STRONG> if it executes
- successfully and <STRONG>ERR</STRONG> if not.
+ Each routine that returns a pointer returns <B>NULL</B> if an error occurs.
+ Each routine that returns an int value returns <B>OK</B> if it executes
+ successfully and <B>ERR</B> if not.
- Except as noted, the <EM>pan</EM> and <EM>window</EM> parameters must be non-null. If
+ Except as noted, the <I>pan</I> and <I>window</I> parameters must be non-null. If
those are null, an error is returned.
- The <STRONG>move_panel</STRONG> function uses <STRONG><A HREF="curs_window.3x.html">mvwin(3x)</A></STRONG>, and will return an error if
- <STRONG>mvwin</STRONG> returns an error.
+ The <B>move_panel</B> function uses <B><A HREF="curs_window.3X.html">mvwin(3X)</A></B>, and will return an error if
+ <B>mvwin</B> returns an error.
</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
Reasonable care has been taken to ensure compatibility with the
native panel facility introduced in System V (inspection of the SVr4
manual pages suggests the programming interface is unchanged). The
- <STRONG>PANEL</STRONG> data structures are merely similar. The programmer is
- cautioned not to directly use <STRONG>PANEL</STRONG> fields.
+ <B>PANEL</B> data structures are merely similar. The programmer is
+ cautioned not to directly use <B>PANEL</B> fields.
- The functions <STRONG>show_panel</STRONG> and <STRONG>top_panel</STRONG> are identical in this
+ The functions <B>show_panel</B> and <B>top_panel</B> are identical in this
implementation, and work equally well with displayed or hidden panels.
- In the native System V implementation, <STRONG>show_panel</STRONG> is intended for
- making a hidden panel visible (at the top of the stack) and <STRONG>top_panel</STRONG>
+ In the native System V implementation, <B>show_panel</B> is intended for
+ making a hidden panel visible (at the top of the stack) and <B>top_panel</B>
is intended for making an already-visible panel move to the top of the
stack. You are cautioned to use the correct function to ensure
compatibility with native panel libraries.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The panel facility was documented in SVr4.2 in <EM>Character</EM> <EM>User</EM> <EM>Interface</EM>
- <EM>Programming</EM> <EM>(UNIX</EM> <EM>SVR4.2)</EM>.
+ The panel facility was documented in SVr4.2 in <I>Character</I> <I>User</I> <I>Interface</I>
+ <I>Programming</I> <I>(UNIX</I> <I>SVR4.2)</I>.
It is not part of X/Open Curses.
A few implementations exist:
- <STRONG>o</STRONG> Systems based on SVr4 source code, e.g., Solaris, provide this
+ <B>o</B> Systems based on SVr4 source code, e.g., Solaris, provide this
library.
- <STRONG>o</STRONG> <STRONG>ncurses</STRONG> (since version 0.6 in 1993) and <STRONG>PDCurses</STRONG> (since version 2.2
+ <B>o</B> <B>ncurses</B> (since version 0.6 in 1993) and <B>PDCurses</B> (since version 2.2
in 1995) provide a panel library whose common ancestor was a public
- domain implementation by Warren Tucker published in <EM>u386mon</EM> 2.20
+ domain implementation by Warren Tucker published in <I>u386mon</I> 2.20
(1990).
According to Tucker, the SystemV panel library was first released
Several developers have improved each of these; they are no longer
the same as Tucker's implementation.
- <STRONG>o</STRONG> NetBSD 8 (2018) has a panel library begun by Valery Ushakov in
+ <B>o</B> NetBSD 8 (2018) has a panel library begun by Valery Ushakov in
2015. This is based on the AT&T documentation.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>,
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>,
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
Originally written by Warren Tucker <wht@n4hgf.mt-park.ga.us>,
- primarily to assist in porting <EM>u386mon</EM> to systems without a native
+ primarily to assist in porting <I>u386mon</I> to systems without a native
panels library.
Repackaged for ncurses by Zeyd ben-Halim.
- <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ <B><A HREF="panel.3X.html">panel(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>resizeterm 3x</TITLE>
+<TITLE>resizeterm 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">resizeterm 3x</H1>
+<H1 class="no-header">resizeterm 3X</H1>
<PRE>
-<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+<B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B> <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>is_term_resized</STRONG>, <STRONG>resize_term</STRONG>, <STRONG>resizeterm</STRONG> - change the curses terminal
+ <B>is_term_resized</B>, <B>resize_term</B>, <B>resizeterm</B> - change the curses terminal
size
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>bool</STRONG> <STRONG>is_term_resized(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>resize_term(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>resizeterm(int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <B>bool</B> <B>is_term_resized(int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
+ <B>int</B> <B>resize_term(int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
+ <B>int</B> <B>resizeterm(int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This is an extension to the curses library. It provides callers with a
- hook into the <STRONG>ncurses</STRONG> data to resize windows, primarily for use by
+ hook into the <B>ncurses</B> data to resize windows, primarily for use by
programs running in an X Window terminal (e.g., xterm).
</PRE><H3><a name="h3-resizeterm">resizeterm</a></H3><PRE>
- The function <STRONG>resizeterm</STRONG> resizes the standard and current windows to the
+ The function <B>resizeterm</B> resizes the standard and current windows to the
specified dimensions, and adjusts other bookkeeping data used by the
- <STRONG>ncurses</STRONG> library that record the window dimensions such as the <STRONG>LINES</STRONG> and
- <STRONG>COLS</STRONG> variables.
+ <B>ncurses</B> library that record the window dimensions such as the <B>LINES</B> and
+ <B>COLS</B> variables.
</PRE><H3><a name="h3-resize_term">resize_term</a></H3><PRE>
- Most of the work is done by the inner function <STRONG>resize_term</STRONG>. The outer
- function <STRONG>resizeterm</STRONG> adds bookkeeping for the <STRONG>SIGWINCH</STRONG> handler, as well
- as repainting the soft-key area (see <STRONG><A HREF="curs_slk.3x.html">slk_touch(3x)</A></STRONG>).
+ Most of the work is done by the inner function <B>resize_term</B>. The outer
+ function <B>resizeterm</B> adds bookkeeping for the <B>SIGWINCH</B> handler, as well
+ as repainting the soft-key area (see <B><A HREF="curs_slk.3X.html">slk_touch(3X)</A></B>).
- When resizing the windows, <STRONG>resize_term</STRONG> blank-fills the areas that are
+ When resizing the windows, <B>resize_term</B> blank-fills the areas that are
extended. The calling application should fill in these areas with
appropriate data.
- The <STRONG>resize_term</STRONG> function attempts to resize all windows. However, due
+ The <B>resize_term</B> function attempts to resize all windows. However, due
to the calling convention of pads, it is not possible to resize these
without additional interaction with the application.
- When resizing windows, <STRONG>resize_term</STRONG> recursively adjusts subwindows,
+ When resizing windows, <B>resize_term</B> recursively adjusts subwindows,
keeping them within the updated parent window's limits. If a top-level
window happens to extend to the screen's limits, then on resizing the
- window, <STRONG>resize_term</STRONG> will keep the window extending to the corresponding
+ window, <B>resize_term</B> will keep the window extending to the corresponding
limit, regardless of whether the screen has shrunk or grown.
</PRE><H3><a name="h3-is_term_resized">is_term_resized</a></H3><PRE>
- A support function <STRONG>is_term_resized</STRONG> is provided so that applications can
- check if the <STRONG>resize_term</STRONG> function would modify the window structures.
- It returns <STRONG>TRUE</STRONG> if the windows would be modified, and <STRONG>FALSE</STRONG> otherwise.
+ A support function <B>is_term_resized</B> is provided so that applications can
+ check if the <B>resize_term</B> function would modify the window structures.
+ It returns <B>TRUE</B> if the windows would be modified, and <B>FALSE</B> otherwise.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Except as noted, these functions return the integer <STRONG>ERR</STRONG> upon failure
- and <STRONG>OK</STRONG> on success. They will fail if either of the dimensions are less
+ Except as noted, these functions return the integer <B>ERR</B> upon failure
+ and <B>OK</B> on success. They will fail if either of the dimensions are less
than or equal to zero, or if an error occurs while (re)allocating
memory for the windows.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
While these functions are intended to be used to support a signal
- handler (i.e., for <STRONG>SIGWINCH</STRONG>), care should be taken to avoid invoking
- them in a context where <STRONG>malloc</STRONG> or <STRONG>realloc</STRONG> may have been interrupted,
+ handler (i.e., for <B>SIGWINCH</B>), care should be taken to avoid invoking
+ them in a context where <B>malloc</B> or <B>realloc</B> may have been interrupted,
since it uses those functions.
- If ncurses is configured to supply its own <STRONG>SIGWINCH</STRONG> handler,
+ If ncurses is configured to supply its own <B>SIGWINCH</B> handler,
- <STRONG>o</STRONG> on receipt of a <STRONG>SIGWINCH</STRONG>, the handler sets a flag
+ <B>o</B> on receipt of a <B>SIGWINCH</B>, the handler sets a flag
- <STRONG>o</STRONG> which is tested in <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> and <STRONG>doupdate</STRONG>,
+ <B>o</B> which is tested in <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B> and <B>doupdate</B>,
- <STRONG>o</STRONG> in turn, calling the <STRONG>resizeterm</STRONG> function,
+ <B>o</B> in turn, calling the <B>resizeterm</B> function,
- <STRONG>o</STRONG> which <STRONG>ungetch</STRONG>'s a <STRONG>KEY_RESIZE</STRONG> which will be read on the next call to
- <STRONG>wgetch</STRONG>.
+ <B>o</B> which <B>ungetch</B>'s a <B>KEY_RESIZE</B> which will be read on the next call to
+ <B>wgetch</B>.
- The <STRONG>KEY_RESIZE</STRONG> alerts an application that the screen size has
+ The <B>KEY_RESIZE</B> alerts an application that the screen size has
changed, and that it should repaint special features such as pads
that cannot be done automatically.
- Calling <STRONG>resizeterm</STRONG> or <STRONG>resize_term</STRONG> directly from a signal handler is
+ Calling <B>resizeterm</B> or <B>resize_term</B> directly from a signal handler is
unsafe. This indirect method is used to provide a safe way to
resize the ncurses data structures.
- If the environment variables <STRONG>LINES</STRONG> or <STRONG>COLUMNS</STRONG> are set, this overrides
+ If the environment variables <B>LINES</B> or <B>COLUMNS</B> are set, this overrides
the library's use of the window size obtained from the operating
- system. Thus, even if a <STRONG>SIGWINCH</STRONG> is received, no screen size change
+ system. Thus, even if a <B>SIGWINCH</B> is received, no screen size change
may be recorded.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
It is possible to resize the screen with SVr4 curses, by
- <STRONG>o</STRONG> exiting curses with <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG> and
+ <B>o</B> exiting curses with <B><A HREF="curs_initscr.3X.html">endwin(3X)</A></B> and
- <STRONG>o</STRONG> resuming using <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.
+ <B>o</B> resuming using <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>.
Doing that clears the screen and is visually distracting.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>.
+ <B><A HREF="curs_getch.3X.html">curs_getch(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B><A HREF="wresize.3X.html">wresize(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: scr_dump.5,v 1.16 2020/02/02 23:34:34 tom Exp @
+ * @Id: scr_dump.5,v 1.17 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<BODY>
<H1 class="no-header">scr_dump 5</H1>
<PRE>
-<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File Formats Manual <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+<B><A HREF="scr_dump.5.html">scr_dump(5)</A></B> File Formats Manual <B><A HREF="scr_dump.5.html">scr_dump(5)</A></B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>scr_dump</STRONG>
+ <B>scr_dump</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
The curses library provides applications with the ability to write the
- contents of a window to an external file using <STRONG>scr_dump</STRONG> or <STRONG>putwin</STRONG>, and
- read it back using <STRONG>scr_restore</STRONG> or <STRONG>getwin</STRONG>.
+ contents of a window to an external file using <B>scr_dump</B> or <B>putwin</B>, and
+ read it back using <B>scr_restore</B> or <B>getwin</B>.
- The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions do the work; while <STRONG>scr_dump</STRONG> and
- <STRONG>scr_restore</STRONG> conveniently save and restore the whole screen, i.e.,
- <STRONG>stdscr</STRONG>.
+ The <B>putwin</B> and <B>getwin</B> functions do the work; while <B>scr_dump</B> and
+ <B>scr_restore</B> conveniently save and restore the whole screen, i.e.,
+ <B>stdscr</B>.
</PRE><H3><a name="h3-ncurses6">ncurses6</a></H3><PRE>
A longstanding implementation of screen-dump was revised with ncurses6
to remedy problems with the earlier approach:
- <STRONG>o</STRONG> A "magic number" is written to the beginning of the dump file,
- allowing applications (such as <STRONG>file(1)</STRONG>) to recognize curses dump
+ <B>o</B> A "magic number" is written to the beginning of the dump file,
+ allowing applications (such as <B>file(1)</B>) to recognize curses dump
files.
Because ncurses6 uses a new format, that requires a new magic
0x88888888 (octal "\210\210\210\210")
- This is the pattern submitted to the maintainers of the <STRONG>file</STRONG>
+ This is the pattern submitted to the maintainers of the <B>file</B>
program:
#
0 string \210\210\210\210ncurses ncurses6 screen image
#
- <STRONG>o</STRONG> The screen dumps are written in textual form, so that internal data
+ <B>o</B> The screen dumps are written in textual form, so that internal data
sizes are not directly related to the dump-format, and enabling the
library to read dumps from either narrow- or wide-character-
configurations.
- The <EM>narrow</EM> library configuration holds characters and video
- attributes in a 32-bit <STRONG>chtype</STRONG>, while the <EM>wide-character</EM> library
- stores this information in the <STRONG>cchar_t</STRONG> structure, which is much
+ The <I>narrow</I> library configuration holds characters and video
+ attributes in a 32-bit <B>chtype</B>, while the <I>wide-character</I> library
+ stores this information in the <B>cchar_t</B> structure, which is much
larger than 32-bits.
- <STRONG>o</STRONG> It is possible to read a screen dump into a terminal with a
+ <B>o</B> It is possible to read a screen dump into a terminal with a
different screen-size, because the library truncates or fills the
screen as necessary.
- <STRONG>o</STRONG> The ncurses6 <STRONG>getwin</STRONG> reads the legacy screen dumps from ncurses5.
+ <B>o</B> The ncurses6 <B>getwin</B> reads the legacy screen dumps from ncurses5.
</PRE><H3><a name="h3-ncurses5-_legacy_">ncurses5 (legacy)</a></H3><PRE>
were fixes and improvements in succeeding years, the basic scheme was
unchanged:
- <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure was written in binary form.
+ <B>o</B> The <B>WINDOW</B> structure was written in binary form.
- <STRONG>o</STRONG> The <STRONG>WINDOW</STRONG> structure refers to lines of data, which were written as
- an array of binary data following the <STRONG>WINDOW</STRONG>.
+ <B>o</B> The <B>WINDOW</B> structure refers to lines of data, which were written as
+ an array of binary data following the <B>WINDOW</B>.
- <STRONG>o</STRONG> When <STRONG>getwin</STRONG> restored the window, it would keep track of offsets
- into the array of line-data and adjust the <STRONG>WINDOW</STRONG> structure which
+ <B>o</B> When <B>getwin</B> restored the window, it would keep track of offsets
+ into the array of line-data and adjust the <B>WINDOW</B> structure which
was read back into memory.
This is similar to Unix SystemV, but does not write a "magic number" to
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- There is no standard format for <STRONG>putwin</STRONG>. This section gives a brief
+ There is no standard format for <B>putwin</B>. This section gives a brief
description of the existing formats.
</PRE><H3><a name="h3-X_Open-Curses">X/Open Curses</a></H3><PRE>
- Refer to <EM>X/Open</EM> <EM>Curses,</EM> <EM>Issue</EM> <EM>7</EM> (2009).
+ Refer to <I>X/Open</I> <I>Curses,</I> <I>Issue</I> <I>7</I> (2009).
- X/Open's documentation for <EM>enhanced</EM> <EM>curses</EM> says only:
+ X/Open's documentation for <I>enhanced</I> <I>curses</I> says only:
- The <EM>getwin(</EM> <EM>)</EM> function reads window-related data stored in the file
- by <EM>putwin(</EM> <EM>)</EM>. The function then creates and initializes a new
+ The <I>getwin(</I> <I>)</I> function reads window-related data stored in the file
+ by <I>putwin(</I> <I>)</I>. The function then creates and initializes a new
window using that data.
- The <EM>putwin(</EM> <EM>)</EM> function writes all data associated with <EM>win</EM> into the
- <EM>stdio</EM> stream to which <EM>filep</EM> points, using an <STRONG>unspecified</STRONG> <STRONG>format</STRONG>.
- This information can be retrieved later using <EM>getwin(</EM> <EM>)</EM>.
+ The <I>putwin(</I> <I>)</I> function writes all data associated with <I>win</I> into the
+ <I>stdio</I> stream to which <I>filep</I> points, using an <B>unspecified</B> <B>format</B>.
+ This information can be retrieved later using <I>getwin(</I> <I>)</I>.
In the mid-1990s when the X/Open Curses document was written, there
were still systems using older, less capable curses libraries (aside
from the BSD curses library which was not relevant to X/Open because it
- did not meet the criteria for <EM>base</EM> <EM>curses</EM>). The document explained the
+ did not meet the criteria for <I>base</I> <I>curses</I>). The document explained the
term "enhanced" as follows:
- <STRONG>o</STRONG> Shading is used to identify <EM>X/Open</EM> <EM>Enhanced</EM> <EM>Curses</EM> material,
+ <B>o</B> Shading is used to identify <I>X/Open</I> <I>Enhanced</I> <I>Curses</I> material,
relating to interfaces included to provide enhanced capabilities
for applications originally written to be compiled on systems
based on the UNIX operating system. Therefore, the features
- described may not be present on systems that conform to <STRONG>XPG4</STRONG> <STRONG>or</STRONG>
- <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>. The relevant reference pages may
+ described may not be present on systems that conform to <B>XPG4</B> <B>or</B>
+ <B>to</B> <B>earlier</B> <B>XPG</B> <B>releases</B>. The relevant reference pages may
provide additional or more specific portability warnings about
use of the material.
- In the foregoing, emphasis was added to <STRONG>unspecified</STRONG> <STRONG>format</STRONG> and to <STRONG>XPG4</STRONG>
- <STRONG>or</STRONG> <STRONG>to</STRONG> <STRONG>earlier</STRONG> <STRONG>XPG</STRONG> <STRONG>releases</STRONG>, for clarity.
+ In the foregoing, emphasis was added to <B>unspecified</B> <B>format</B> and to <B>XPG4</B>
+ <B>or</B> <B>to</B> <B>earlier</B> <B>XPG</B> <B>releases</B>, for clarity.
</PRE><H3><a name="h3-Unix-SystemV">Unix SystemV</a></H3><PRE>
Unix SystemV curses identified the file format by writing a "magic
- number" at the beginning of the dump. The <STRONG>WINDOW</STRONG> data and the lines of
+ number" at the beginning of the dump. The <B>WINDOW</B> data and the lines of
text follow, all in binary form.
The Solaris curses source has these definitions:
01 35
- After the magic number, the <STRONG>WINDOW</STRONG> structure and line-data are written
+ After the magic number, the <B>WINDOW</B> structure and line-data are written
in binary format. While the magic number used by the Unix systems can
- be seen using <STRONG>od(1)</STRONG>, none of the Unix systems documents the format used
+ be seen using <B>od(1)</B>, none of the Unix systems documents the format used
for screen-dumps.
The Unix systems do not use identical formats. While collecting
- information for for this manual page, the <EM>savescreen</EM> test-program
+ information for for this manual page, the <I>savescreen</I> test-program
produced dumps of different size (all on 64-bit hardware, on 40x80
screens):
- <STRONG>o</STRONG> AIX (51817 bytes)
+ <B>o</B> AIX (51817 bytes)
- <STRONG>o</STRONG> HPUX (90093 bytes)
+ <B>o</B> HPUX (90093 bytes)
- <STRONG>o</STRONG> Solaris 10 (13273 bytes)
+ <B>o</B> Solaris 10 (13273 bytes)
- <STRONG>o</STRONG> ncurses5 (12888 bytes)
+ <B>o</B> ncurses5 (12888 bytes)
</PRE><H3><a name="h3-Solaris">Solaris</a></H3><PRE>
SVr4 curses. This is odd since Solaris was the first operating system
to pass the SVr4 guidelines. Solaris has two versions of curses:
- <STRONG>o</STRONG> The default curses library uses the SVr3 magic number.
+ <B>o</B> The default curses library uses the SVr3 magic number.
- <STRONG>o</STRONG> There is an alternate curses library in <STRONG>/usr/xpg4</STRONG>. This uses a
+ <B>o</B> There is an alternate curses library in <B>/usr/xpg4</B>. This uses a
textual format with no magic number.
- According to the copyright notice, the <EM>xpg4</EM> Solaris curses library
+ According to the copyright notice, the <I>xpg4</I> Solaris curses library
was developed by MKS (Mortice Kern Systems) from 1990 to 1995.
Like ncurses6, there is a file-header with parameters. Unlike
</PRE><H3><a name="h3-PDCurses">PDCurses</a></H3><PRE>
PDCurses added support for screen dumps in version 2.7 (2005). Like
- Unix SystemV and ncurses5, it writes the <STRONG>WINDOW</STRONG> structure in binary,
+ Unix SystemV and ncurses5, it writes the <B>WINDOW</B> structure in binary,
but begins the file with its three-byte identifier "PDC", followed by a
one-byte version, e.g.,
</PRE><H3><a name="h3-NetBSD">NetBSD</a></H3><PRE>
- As of April 2017, NetBSD curses does not support <STRONG>scr_dump</STRONG> and
- <STRONG>scr_restore</STRONG> (or <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>), although it has <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>.
+ As of April 2017, NetBSD curses does not support <B>scr_dump</B> and
+ <B>scr_restore</B> (or <B>scr_init</B>, <B>scr_set</B>), although it has <B>putwin</B> and <B>getwin</B>.
- Like ncurses5, NetBSD <STRONG>putwin</STRONG> does not identify its dumps with a useful
+ Like ncurses5, NetBSD <B>putwin</B> does not identify its dumps with a useful
magic number. It writes
- <STRONG>o</STRONG> the curses shared library major and minor versions as the first two
+ <B>o</B> the curses shared library major and minor versions as the first two
bytes (e.g., 7 and 1),
- <STRONG>o</STRONG> followed by a binary dump of the <STRONG>WINDOW</STRONG>,
+ <B>o</B> followed by a binary dump of the <B>WINDOW</B>,
- <STRONG>o</STRONG> some data for wide-characters referenced by the <STRONG>WINDOW</STRONG> structure,
+ <B>o</B> some data for wide-characters referenced by the <B>WINDOW</B> structure,
and
- <STRONG>o</STRONG> finally, lines as done by other implementations.
+ <B>o</B> finally, lines as done by other implementations.
</PRE><H2><a name="h2-EXAMPLE">EXAMPLE</a></H2><PRE>
start_color();
init_pair(1, COLOR_WHITE, COLOR_BLUE);
init_pair(2, COLOR_RED, COLOR_BLACK);
- bkgd(<STRONG>COLOR_PAIR(1)</STRONG>);
+ bkgd(<B>COLOR_PAIR(1)</B>);
move(4, 5);
attron(A_BOLD);
addstr("Hello");
move(5, 5);
attroff(A_BOLD);
- attrset(A_REVERSE | <STRONG>COLOR_PAIR(2)</STRONG>);
+ attrset(A_REVERSE | <B>COLOR_PAIR(2)</B>);
addstr("World!");
refresh();
scr_dump("foo.out");
The first four octal escapes are actually nonprinting characters, while
the remainder of the file is printable text. You may notice:
- <STRONG>o</STRONG> The actual color pair values are not written to the file.
+ <B>o</B> The actual color pair values are not written to the file.
- <STRONG>o</STRONG> All characters are shown in printable form; spaces are "\s" to
+ <B>o</B> All characters are shown in printable form; spaces are "\s" to
ensure they are not overlooked.
- <STRONG>o</STRONG> Attributes are written in escaped curly braces, e.g., "\{BOLD}",
+ <B>o</B> Attributes are written in escaped curly braces, e.g., "\{BOLD}",
and may include a color-pair (C1 or C2 in this example).
- <STRONG>o</STRONG> The parameters in the header are written out only if they are
+ <B>o</B> The parameters in the header are written out only if they are
nonzero. When reading back, order does not matter.
- Running the same program with Solaris <EM>xpg4</EM> curses gives this dump:
+ Running the same program with Solaris <I>xpg4</I> curses gives this dump:
MAX=10,20
BEG=0,0
9,19,0,0,
CUR=11,5
- Solaris <STRONG>getwin</STRONG> requires that all parameters are present, and in the
- same order. The <EM>xpg4</EM> curses library does not know about the <STRONG>bce</STRONG> (back
+ Solaris <B>getwin</B> requires that all parameters are present, and in the
+ same order. The <I>xpg4</I> curses library does not know about the <B>bce</B> (back
color erase) capability, and does not color the window background.
On the other hand, the SVr4 curses library does know about the
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>.
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>, <B><A HREF="curs_util.3X.html">curs_util(3X)</A></B>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ <B><A HREF="scr_dump.5.html">scr_dump(5)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 2008-2016,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1</TITLE>
+<TITLE>@TABS@ 1</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1</H1>
+<H1 class="no-header">@TABS@ 1</H1>
<PRE>
-<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+<B><A HREF="tabs.1.html">tabs(1)</A></B> General Commands Manual <B><A HREF="tabs.1.html">tabs(1)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tabs</STRONG> - set tabs on a terminal
+ <B>tabs</B> - set tabs on a terminal
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tabs</STRONG> [<EM>options</EM>]] <EM>[tabstop-list]</EM>
+ <B>tabs</B> [<I>options</I>]] <I>[tabstop-list]</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>tabs</STRONG> program clears and sets tab-stops on the terminal. This uses
- the terminfo <EM>clear</EM><STRONG>_</STRONG><EM>all</EM><STRONG>_</STRONG><EM>tabs</EM> and <EM>set</EM><STRONG>_</STRONG><EM>tab</EM> capabilities. If either is
- absent, <STRONG>tabs</STRONG> is unable to clear/set tab-stops. The terminal should be
+ The <B>tabs</B> program clears and sets tab-stops on the terminal. This uses
+ the terminfo <I>clear</I><B>_</B><I>all</I><B>_</B><I>tabs</I> and <I>set</I><B>_</B><I>tab</I> capabilities. If either is
+ absent, <B>tabs</B> is unable to clear/set tab-stops. The terminal should be
configured to use hard tabs, e.g.,
stty tab0
- Like <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>tabs</STRONG> writes to the standard output. You can redirect
- the standard output to a file (which prevents <STRONG>tabs</STRONG> from actually
- changing the tabstops), and later <STRONG>cat</STRONG> the file to the screen, setting
+ Like <B><A HREF="clear.1.html">clear(1)</A></B>, <B>tabs</B> writes to the standard output. You can redirect
+ the standard output to a file (which prevents <B>tabs</B> from actually
+ changing the tabstops), and later <B>cat</B> the file to the screen, setting
tabstops at that point.
These are hardware tabs, which cannot be queried rapidly by
tabs -8
- or use the <STRONG>reset</STRONG> program, since the normal initialization sequences do
+ or use the <B>reset</B> program, since the normal initialization sequences do
not ensure that tab-stops are reset.
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
</PRE><H3><a name="h3-General-Options">General Options</a></H3><PRE>
- <STRONG>-T</STRONG><EM>name</EM>
- Tell <STRONG>tabs</STRONG> which terminal type to use. If this option is not
- given, <STRONG>tabs</STRONG> will use the <STRONG>$TERM</STRONG> environment variable. If that is
- not set, it will use the <EM>ansi+tabs</EM> entry.
+ <B>-T</B><I>name</I>
+ Tell <B>tabs</B> which terminal type to use. If this option is not
+ given, <B>tabs</B> will use the <B>$TERM</B> environment variable. If that is
+ not set, it will use the <I>ansi+tabs</I> entry.
- <STRONG>-d</STRONG> The debugging option shows a ruler line, followed by two data
+ <B>-d</B> The debugging option shows a ruler line, followed by two data
lines. The first data line shows the expected tab-stops marked
with asterisks. The second data line shows the actual tab-stops,
marked with asterisks.
- <STRONG>-n</STRONG> This option tells <STRONG>tabs</STRONG> to check the options and run any debugging
+ <B>-n</B> This option tells <B>tabs</B> to check the options and run any debugging
option, but not to modify the terminal settings.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <B>-V</B> reports the version of ncurses which was used in this program, and
exits.
- The <STRONG>tabs</STRONG> program processes a single list of tab stops. The last option
+ The <B>tabs</B> program processes a single list of tab stops. The last option
to be processed which defines a list is the one that determines the
list to be processed.
</PRE><H3><a name="h3-Implicit-Lists">Implicit Lists</a></H3><PRE>
- Use a single number as an option, e.g., "<STRONG>-5</STRONG>" to set tabs at the given
+ Use a single number as an option, e.g., "<B>-5</B>" to set tabs at the given
interval (in this case 1, 6, 11, 16, 21, etc.). Tabs are repeated up
to the right margin of the screen.
- Use "<STRONG>-0</STRONG>" to clear all tabs.
+ Use "<B>-0</B>" to clear all tabs.
- Use "<STRONG>-8</STRONG>" to set tabs to the standard interval.
+ Use "<B>-8</B>" to set tabs to the standard interval.
</PRE><H3><a name="h3-Explicit-Lists">Explicit Lists</a></H3><PRE>
</PRE><H3><a name="h3-Predefined-Tab-Stops">Predefined Tab-Stops</a></H3><PRE>
X/Open defines several predefined lists of tab stops.
- <STRONG>-a</STRONG> Assembler, IBM S/370, first format
+ <B>-a</B> Assembler, IBM S/370, first format
- <STRONG>-a2</STRONG> Assembler, IBM S/370, second format
+ <B>-a2</B> Assembler, IBM S/370, second format
- <STRONG>-c</STRONG> COBOL, normal format
+ <B>-c</B> COBOL, normal format
- <STRONG>-c2</STRONG> COBOL compact format
+ <B>-c2</B> COBOL compact format
- <STRONG>-c3</STRONG> COBOL compact format extended
+ <B>-c3</B> COBOL compact format extended
- <STRONG>-f</STRONG> FORTRAN
+ <B>-f</B> FORTRAN
- <STRONG>-p</STRONG> PL/I
+ <B>-p</B> PL/I
- <STRONG>-s</STRONG> SNOBOL
+ <B>-s</B> SNOBOL
- <STRONG>-u</STRONG> UNIVAC 1100 Assembler
+ <B>-u</B> UNIVAC 1100 Assembler
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- <EM>IEEE</EM> <EM>Std</EM> <EM>1003.1/The</EM> <EM>Open</EM> <EM>Group</EM> <EM>Base</EM> <EM>Specifications</EM> <EM>Issue</EM> <EM>7</EM>
- (POSIX.1-2008) describes a <STRONG>tabs</STRONG> utility. However
+ <I>IEEE</I> <I>Std</I> <I>1003.1/The</I> <I>Open</I> <I>Group</I> <I>Base</I> <I>Specifications</I> <I>Issue</I> <I>7</I>
+ (POSIX.1-2008) describes a <B>tabs</B> utility. However
- <STRONG>o</STRONG> This standard describes a <STRONG>+m</STRONG> option, to set a terminal's left-
+ <B>o</B> This standard describes a <B>+m</B> option, to set a terminal's left-
margin. Very few of the entries in the terminal database provide
- the <STRONG>smgl</STRONG> (<STRONG>set_left_margin</STRONG>) or <STRONG>smglp</STRONG> (<STRONG>set_left_margin_parm</STRONG>)
+ the <B>smgl</B> (<B>set_left_margin</B>) or <B>smglp</B> (<B>set_left_margin_parm</B>)
capability needed to support the feature.
- <STRONG>o</STRONG> There is no counterpart in X/Open Curses Issue 7 for this utility,
- unlike <STRONG>tput(1)</STRONG>.
+ <B>o</B> There is no counterpart in X/Open Curses Issue 7 for this utility,
+ unlike <B>tput(1)</B>.
- The <STRONG>-d</STRONG> (debug) and <STRONG>-n</STRONG> (no-op) options are extensions not provided by
+ The <B>-d</B> (debug) and <B>-n</B> (no-op) options are extensions not provided by
other implementations.
- A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). There was a reduced
- version of the <STRONG>tabs</STRONG> utility in Unix 7th edition and in 3BSD (1979).
+ A <B>tabs</B> utility appeared in PWB/Unix 1.0 (1977). There was a reduced
+ version of the <B>tabs</B> utility in Unix 7th edition and in 3BSD (1979).
The latter supported a single "-n" option (to cause the first tab stop
to be set on the left margin). That option is not documented by POSIX.
- The PWB/Unix <STRONG>tabs</STRONG> utility, which was included in System III (1980),
+ The PWB/Unix <B>tabs</B> utility, which was included in System III (1980),
used built-in tables rather than the terminal database, to support a
half-dozen terminal types. It also had built-in logic to support the
left-margin, as well as a feature for copying the tab settings from a
Later versions of Unix, e.g., SVr4, added support for the terminal
database, but kept the tables, as a fallback. In an earlier
- development effort, the tab-stop initialization provided by <STRONG>tset</STRONG> (1982)
- and incorporated into <STRONG>tput</STRONG> uses the terminal database,
+ development effort, the tab-stop initialization provided by <B>tset</B> (1982)
+ and incorporated into <B>tput</B> uses the terminal database,
POSIX documents no limits on the number of tab stops. Documentation
for other implementations states that there is a limit on the number of
- tab stops (e.g., 20 in PWB/Unix's <STRONG>tabs</STRONG> utility). While some terminals
+ tab stops (e.g., 20 in PWB/Unix's <B>tabs</B> utility). While some terminals
may not accept an arbitrary number of tab stops, this implementation
will attempt to set tab stops up to the right margin of the screen, if
the given list happens to be that long.
- The <EM>Rationale</EM> section of the POSIX documentation goes into some detail
- about the ways the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG>
+ The <I>Rationale</I> section of the POSIX documentation goes into some detail
+ about the ways the committee considered redesigning the <B>tabs</B> and <B>tput</B>
utilities, without proposing an improved solution. It comments that
no known historical version of tabs supports the capability of
setting arbitrary tab stops.
- However, the <EM>Explicit</EM> <EM>Lists</EM> described in this manual page were
+ However, the <I>Explicit</I> <I>Lists</I> described in this manual page were
implemented in PWB/Unix. Those provide the capability of setting
abitrary tab stops.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="tset.1.html">tset(1)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ <B><A HREF="tabs.1.html">tabs(1)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
<BODY>
<H1 class="no-header">term 5</H1>
<PRE>
-<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File Formats Manual <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+<B><A HREF="term.5.html">term(5)</A></B> File Formats Manual <B><A HREF="term.5.html">term(5)</A></B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>term</STRONG>
+ <B>term</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-STORAGE-LOCATION">STORAGE LOCATION</a></H3><PRE>
Compiled terminfo descriptions are placed under the directory
- <STRONG>/usr/share/terminfo</STRONG>. Two configurations are supported (when building
- the <STRONG>ncurses</STRONG> libraries):
+ <B>/usr/share/terminfo</B>. Two configurations are supported (when building
+ the <B>ncurses</B> libraries):
- <STRONG>directory</STRONG> <STRONG>tree</STRONG>
+ <B>directory</B> <B>tree</B>
A two-level scheme is used to avoid a linear search of a huge UNIX
- system directory: <STRONG>/usr/share/terminfo/c/name</STRONG> where <EM>name</EM> is the
- name of the terminal, and <EM>c</EM> is the first character of <EM>name</EM>. Thus,
- <EM>act4</EM> can be found in the file <STRONG>/usr/share/terminfo/a/act4</STRONG>.
+ system directory: <B>/usr/share/terminfo/c/name</B> where <I>name</I> is the
+ name of the terminal, and <I>c</I> is the first character of <I>name</I>. Thus,
+ <I>act4</I> can be found in the file <B>/usr/share/terminfo/a/act4</B>.
Synonyms for the same terminal are implemented by multiple links
to the same compiled file.
- <STRONG>hashed</STRONG> <STRONG>database</STRONG>
+ <B>hashed</B> <B>database</B>
Using Berkeley database, two types of records are stored: the
terminfo data in the same format as stored in a directory tree
with the terminfo's primary name as a key, and records containing
only aliases pointing to the primary name.
- If built to write hashed databases, <STRONG>ncurses</STRONG> can still read
+ If built to write hashed databases, <B>ncurses</B> can still read
terminfo databases organized as a directory tree, but cannot write
entries into the directory tree. It can write (or rewrite)
entries in the hashed database.
- <STRONG>ncurses</STRONG> distinguishes the two cases in the TERMINFO and
+ <B>ncurses</B> distinguishes the two cases in the TERMINFO and
TERMINFO_DIRS environment variable by assuming a directory tree
for entries that correspond to an existing directory, and hashed
database otherwise.
An 8 or more bit byte is assumed, but no assumptions about byte
ordering or sign extension are made.
- The compiled file is created with the <STRONG>tic</STRONG> program, and read by the
- routine <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>. The file is divided into six parts:
+ The compiled file is created with the <B>tic</B> program, and read by the
+ routine <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B>. The file is divided into six parts:
- a) <EM>header</EM>,
+ a) <I>header</I>,
- b) <EM>terminal</EM> <EM>names</EM>,
+ b) <I>terminal</I> <I>names</I>,
- c) <EM>boolean</EM> <EM>flags</EM>,
+ c) <I>boolean</I> <I>flags</I>,
- d) <EM>numbers</EM>,
+ d) <I>numbers</I>,
- e) <EM>strings</EM>, and
+ e) <I>strings</I>, and
- f) <EM>string</EM> <EM>table</EM>.
+ f) <I>string</I> <I>table</I>.
- The <EM>header</EM> section begins the file. This section contains six short
+ The <I>header</I> section begins the file. This section contains six short
integers in the format described below. These integers are
- (1) the <EM>magic</EM> <EM>number</EM> (octal 0432);
+ (1) the <I>magic</I> <I>number</I> (octal 0432);
- (2) the size, in bytes, of the <EM>terminal</EM> <EM>names</EM> section;
+ (2) the size, in bytes, of the <I>terminal</I> <I>names</I> section;
- (3) the number of bytes in the <EM>boolean</EM> <EM>flags</EM> section;
+ (3) the number of bytes in the <I>boolean</I> <I>flags</I> section;
- (4) the number of short integers in the <EM>numbers</EM> section;
+ (4) the number of short integers in the <I>numbers</I> section;
- (5) the number of offsets (short integers) in the <EM>strings</EM> section;
+ (5) the number of offsets (short integers) in the <I>strings</I> section;
- (6) the size, in bytes, of the <EM>string</EM> <EM>table</EM>.
+ (6) the size, in bytes, of the <I>string</I> <I>table</I>.
- The capabilities in the <EM>boolean</EM> <EM>flags</EM>, <EM>numbers</EM>, and <EM>strings</EM> sections
+ The capabilities in the <I>boolean</I> <I>flags</I>, <I>numbers</I>, and <I>strings</I> sections
are in the same order as the file <term.h>.
Short integers are signed, in the range -32768 to 32767. They are
little-endian value.
Numbers in a terminal description, whether they are entries in the
- <EM>numbers</EM> or <EM>strings</EM> table, are positive integers. Boolean flags are
+ <I>numbers</I> or <I>strings</I> table, are positive integers. Boolean flags are
treated as positive one-byte integers. In each case, those positive
integers represent a terminal capability. The terminal compiler tic
uses negative integers to handle the cases where a capability is not
available:
- <STRONG>o</STRONG> If a capability is absent from this terminal, tic stores a -1 in
+ <B>o</B> If a capability is absent from this terminal, tic stores a -1 in
the corresponding table.
The integer value -1 is represented by two bytes 0377, 0377.
Absent boolean values are represented by the byte 0 (false).
- <STRONG>o</STRONG> If a capability has been canceled from this terminal, tic stores a
+ <B>o</B> If a capability has been canceled from this terminal, tic stores a
-2 in the corresponding table.
The integer value -2 is represented by two bytes 0377, 0376.
The boolean value -2 is represented by the byte 0376.
- <STRONG>o</STRONG> Other negative values are illegal.
+ <B>o</B> Other negative values are illegal.
- The <EM>terminal</EM> <EM>names</EM> section comes after the <EM>header</EM>. It contains the
+ The <I>terminal</I> <I>names</I> section comes after the <I>header</I>. It contains the
first line of the terminfo description, listing the various names for
- the terminal, separated by the "|" character. The <EM>terminal</EM> <EM>names</EM>
+ the terminal, separated by the "|" character. The <I>terminal</I> <I>names</I>
section is terminated with an ASCII NUL character.
- The <EM>boolean</EM> <EM>flags</EM> section has one byte for each flag. Boolean
+ The <I>boolean</I> <I>flags</I> section has one byte for each flag. Boolean
capabilities are either 1 or 0 (true or false) according to whether the
terminal supports the given capability or not.
- Between the <EM>boolean</EM> <EM>flags</EM> section and the <EM>number</EM> section, a null byte
- will be inserted, if necessary, to ensure that the <EM>number</EM> section
+ Between the <I>boolean</I> <I>flags</I> section and the <I>number</I> section, a null byte
+ will be inserted, if necessary, to ensure that the <I>number</I> section
begins on an even byte This is a relic of the PDP-11's word-addressed
architecture, originally designed to avoid traps induced by addressing
a word on an odd byte boundary. All short integers are aligned on a
short word boundary.
- The <EM>numbers</EM> section is similar to the <EM>boolean</EM> <EM>flags</EM> section. Each
+ The <I>numbers</I> section is similar to the <I>boolean</I> <I>flags</I> section. Each
capability takes up two bytes, and is stored as a little-endian short
integer.
- The <EM>strings</EM> section is also similar. Each capability is stored as a
- short integer. The capability value is an index into the <EM>string</EM> <EM>table</EM>.
+ The <I>strings</I> section is also similar. Each capability is stored as a
+ short integer. The capability value is an index into the <I>string</I> <I>table</I>.
- The <EM>string</EM> <EM>table</EM> is the last section. It contains all of the values of
- string capabilities referenced in the <EM>strings</EM> section. Each string is
+ The <I>string</I> <I>table</I> is the last section. It contains all of the values of
+ string capabilities referenced in the <I>strings</I> section. Each string is
null-terminated. Special characters in ^X or \c notation are stored in
their interpreted form, not the printing representation. Padding
information $<nn> and parameter information %x are stored intact in
binary format is used in all modern UNIX systems. Each system uses a
predefined set of boolean, number or string capabilities.
- The <STRONG>ncurses</STRONG> libraries and applications support extended terminfo binary
+ The <B>ncurses</B> libraries and applications support extended terminfo binary
format, allowing users to define capabilities which are loaded at
runtime. This extension is made possible by using the fact that the
other implementations stop reading the terminfo data when they have
- reached the end of the size given in the header. <STRONG>ncurses</STRONG> checks the
+ reached the end of the size given in the header. <B>ncurses</B> checks the
size, and if it exceeds that due to the predefined data, continues to
parse according to its own scheme.
(5) size of the extended string table in bytes
The count- and size-values for the extended string table include the
- extended capability <EM>names</EM> as well as extended capability <EM>values</EM>.
+ extended capability <I>names</I> as well as extended capability <I>values</I>.
- Using the counts and sizes, <STRONG>ncurses</STRONG> allocates arrays and reads data for
+ Using the counts and sizes, <B>ncurses</B> allocates arrays and reads data for
the extended capabilities in the same order as the header information.
The extended string table contains values for string capabilities.
finally strings.
Applications which manipulate terminal data can use the definitions
- described in <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> which associate the long capability
- names with members of a <STRONG>TERMTYPE</STRONG> structure.
+ described in <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B> which associate the long capability
+ names with members of a <B>TERMTYPE</B> structure.
</PRE><H3><a name="h3-EXTENDED-NUMBER-FORMAT">EXTENDED NUMBER FORMAT</a></H3><PRE>
- On occasion, 16-bit signed integers are not large enough. With <STRONG>ncurses</STRONG>
+ On occasion, 16-bit signed integers are not large enough. With <B>ncurses</B>
6.1, a new format was introduced by making a few changes to the legacy
format:
- <STRONG>o</STRONG> a different magic number (octal 01036)
+ <B>o</B> a different magic number (octal 01036)
- <STRONG>o</STRONG> changing the type for the <EM>number</EM> array from signed 16-bit integers
+ <B>o</B> changing the type for the <I>number</I> array from signed 16-bit integers
to signed 32-bit integers.
To maintain compatibility, the library presents the same data
- structures to direct users of the <STRONG>TERMTYPE</STRONG> structure as in previous
+ structures to direct users of the <B>TERMTYPE</B> structure as in previous
formats. However, that cannot provide callers with the extended
numbers. The library uses a similar but hidden data structure
- <STRONG>TERMTYPE2</STRONG> to provide data for the terminfo functions.
+ <B>TERMTYPE2</B> to provide data for the terminfo functions.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
</PRE><H3><a name="h3-setupterm">setupterm</a></H3><PRE>
- Note that it is possible for <STRONG>setupterm</STRONG> to expect a different set of
+ Note that it is possible for <B>setupterm</B> to expect a different set of
capabilities than are actually present in the file. Either the
- database may have been updated since <STRONG>setupterm</STRONG> has been recompiled
+ database may have been updated since <B>setupterm</B> has been recompiled
(resulting in extra unrecognized entries in the file) or the program
may have been recompiled more recently than the database was updated
- (resulting in missing entries). The routine <STRONG>setupterm</STRONG> must be prepared
+ (resulting in missing entries). The routine <B>setupterm</B> must be prepared
for both possibilities - this is why the numbers and sizes are
included. Also, new capabilities must always be added at the end of
the lists of boolean, number, and string capabilities.
terminfo (under HP-UX, AIX, and OSF/1) which diverged from System V
terminfo after SVr1, and have added extension capabilities to the
string table that (in the binary format) collide with System V and XSI
- Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo
+ Curses extensions. See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for detailed discussion of terminfo
source compatibility issues.
This implementation is by default compatible with the binary terminfo
</PRE><H3><a name="h3-Magic-codes">Magic codes</a></H3><PRE>
The magic number in a binary terminfo file is the first 16-bits (two
bytes). Besides making it more reliable for the library to check that
- a file is terminfo, utilities such as <STRONG>file</STRONG> also use that to tell what
+ a file is terminfo, utilities such as <B>file</B> also use that to tell what
the file-format is. System V defined more than one magic number, with
- 0433, 0435 as screen-dumps (see <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>). This implementation uses
+ 0433, 0435 as screen-dumps (see <B><A HREF="scr_dump.5.html">scr_dump(5)</A></B>). This implementation uses
01036 as a continuation of that sequence, but with a different high-
order byte to avoid confusion.
</PRE><H3><a name="h3-The-TERMTYPE-structure">The TERMTYPE structure</a></H3><PRE>
- Direct access to the <STRONG>TERMTYPE</STRONG> structure is provided for legacy
- applications. Portable applications should use the <STRONG>tigetflag</STRONG> and
- related functions described in <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> for reading terminal
+ Direct access to the <B>TERMTYPE</B> structure is provided for legacy
+ applications. Portable applications should use the <B>tigetflag</B> and
+ related functions described in <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B> for reading terminal
capabilities.
</PRE><H3><a name="h3-Mixed-case-terminal-names">Mixed-case terminal names</a></H3><PRE>
A small number of terminal descriptions use uppercase characters in
their names. If the underlying filesystem ignores the difference
- between uppercase and lowercase, <STRONG>ncurses</STRONG> represents the "first
+ between uppercase and lowercase, <B>ncurses</B> represents the "first
character" of the terminal name used as the intermediate level of a
directory tree in (two-character) hexadecimal form.
</PRE><H2><a name="h2-LIMITS">LIMITS</a></H2><PRE>
Some limitations:
- <STRONG>o</STRONG> total compiled entries cannot exceed 4096 bytes in the legacy
+ <B>o</B> total compiled entries cannot exceed 4096 bytes in the legacy
format.
- <STRONG>o</STRONG> total compiled entries cannot exceed 32768 bytes in the extended
+ <B>o</B> total compiled entries cannot exceed 32768 bytes in the extended
format.
- <STRONG>o</STRONG> the name field cannot exceed 128 bytes.
+ <B>o</B> the name field cannot exceed 128 bytes.
Compiled entries are limited to 32768 bytes because offsets into the
- <EM>strings</EM> <EM>table</EM> use two-byte integers. The legacy format could have
+ <I>strings</I> <I>table</I> use two-byte integers. The legacy format could have
supported 32768-byte entries, but was limited a virtual memory page's
4096 bytes.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ <B><A HREF="term.5.html">term(5)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018-2019,2020 Thomas E. Dickey *
* Copyright 1998-2011,2017 Free Software Foundation, Inc. *
<BODY>
<H1 class="no-header">term 7</H1>
<PRE>
-<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous Information Manual <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+<B><A HREF="term.7.html">term(7)</A></B> Miscellaneous Information Manual <B><A HREF="term.7.html">term(7)</A></B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The environment variable <STRONG>TERM</STRONG> should normally contain the type name of
+ The environment variable <B>TERM</B> should normally contain the type name of
the terminal, console or display-device type you are using. This
information is critical for all screen-oriented programs, including
your editor and mailer.
- A default <STRONG>TERM</STRONG> value will be set on a per-line basis by either
- <STRONG>/etc/inittab</STRONG> (e.g., System-V-like UNIXes) or <STRONG>/etc/ttys</STRONG> (BSD UNIXes).
+ A default <B>TERM</B> value will be set on a per-line basis by either
+ <B>/etc/inittab</B> (e.g., System-V-like UNIXes) or <B>/etc/ttys</B> (BSD UNIXes).
This will nearly always suffice for workstation and microcomputer
consoles.
the prevalence of DEC VT100-compatible terminals and personal-computer
emulators.
- Modern telnets pass your <STRONG>TERM</STRONG> environment variable from the local side
+ Modern telnets pass your <B>TERM</B> environment variable from the local side
to the remote one. There can be problems if the remote terminfo or
termcap entry for your type is not compatible with yours, but this
situation is rare and can almost always be avoided by explicitly
exporting "vt100" (assuming you are in fact using a VT100-superset
console, terminal, or terminal emulator.)
- In any case, you are free to override the system <STRONG>TERM</STRONG> setting to your
- taste in your shell profile. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility may be of assistance;
+ In any case, you are free to override the system <B>TERM</B> setting to your
+ taste in your shell profile. The <B><A HREF="tset.1.html">tset(1)</A></B> utility may be of assistance;
you can give it a set of rules for deducing or requesting a terminal
type based on the tty device and baud rate.
- Setting your own <STRONG>TERM</STRONG> value may also be useful if you have created a
+ Setting your own <B>TERM</B> value may also be useful if you have created a
custom entry incorporating options (such as visual bell or reverse-
video) which you wish to override the system default type for your
line.
toe | more
from your shell. These capability files are in a binary format
- optimized for retrieval speed (unlike the old text-based <STRONG>termcap</STRONG> format
- they replace); to examine an entry, you must use the <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ optimized for retrieval speed (unlike the old text-based <B>termcap</B> format
+ they replace); to examine an entry, you must use the <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>
command. Invoke it as follows:
- infocmp <EM>entry</EM><STRONG>_</STRONG><EM>name</EM>
+ infocmp <I>entry</I><B>_</B><I>name</I>
- where <EM>entry</EM><STRONG>_</STRONG><EM>name</EM> is the name of the type you wish to examine (and the
+ where <I>entry</I><B>_</B><I>name</I> is the name of the type you wish to examine (and the
name of its capability file the subdirectory of /usr/share/terminfo
named for its first letter). This command dumps a capability file in
- the text format described by <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ the text format described by <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- The first line of a <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> description gives the names by which
+ The first line of a <B><A HREF="terminfo.5.html">terminfo(5)</A></B> description gives the names by which
terminfo knows a terminal, separated by "|" (pipe-bar) characters with
the last name field terminated by a comma. The first name field is the
- type's <EM>primary</EM> <EM>name</EM>, and is the one to use when setting <STRONG>TERM</STRONG>. The last
+ type's <I>primary</I> <I>name</I>, and is the one to use when setting <B>TERM</B>. The last
name field (if distinct from the first) is actually a description of
the terminal type (it may contain blanks; the others must be single
words). Name fields between the first and last (if present) are
name; some historical terminfo names use it.
The root name for a terminal or workstation console type should almost
- always begin with a vendor prefix (such as <STRONG>hp</STRONG> for Hewlett-Packard, <STRONG>wy</STRONG>
- for Wyse, or <STRONG>att</STRONG> for AT&T terminals), or a common name of the terminal
- line (<STRONG>vt</STRONG> for the VT series of terminals from DEC, or <STRONG>sun</STRONG> for Sun
- Microsystems workstation consoles, or <STRONG>regent</STRONG> for the ADDS Regent
+ always begin with a vendor prefix (such as <B>hp</B> for Hewlett-Packard, <B>wy</B>
+ for Wyse, or <B>att</B> for AT&T terminals), or a common name of the terminal
+ line (<B>vt</B> for the VT series of terminals from DEC, or <B>sun</B> for Sun
+ Microsystems workstation consoles, or <B>regent</B> for the ADDS Regent
series. You can list the terminfo tree to see what prefixes are
already in common use. The root name prefix should be followed when
- appropriate by a model number; thus <STRONG>vt100</STRONG>, <STRONG>hp2621</STRONG>, <STRONG>wy50</STRONG>.
+ appropriate by a model number; thus <B>vt100</B>, <B>hp2621</B>, <B>wy50</B>.
The root name for a PC-Unix console type should be the OS name, i.e.,
- <STRONG>linux</STRONG>, <STRONG>bsdos</STRONG>, <STRONG>freebsd</STRONG>, <STRONG>netbsd</STRONG>. It should <EM>not</EM> be <STRONG>console</STRONG> or any other
+ <B>linux</B>, <B>bsdos</B>, <B>freebsd</B>, <B>netbsd</B>. It should <I>not</I> be <B>console</B> or any other
generic that might cause confusion in a multi-platform environment! If
a model number follows, it should indicate either the OS release level
or the console driver release level.
The root name for a terminal emulator (assuming it does not fit one of
the standard ANSI or vt100 types) should be the program name or a
- readily recognizable abbreviation of it (i.e., <STRONG>versaterm</STRONG>, <STRONG>ctrm</STRONG>).
+ readily recognizable abbreviation of it (i.e., <B>versaterm</B>, <B>ctrm</B>).
Following the root name, you may add any reasonable number of hyphen-
separated feature suffixes.
Conventionally, if your terminal type is a variant intended to specify
a line height, that suffix should go first. So, for a hypothetical
FuBarCo model 2317 terminal in 30-line mode with reverse video, best
- form would be <STRONG>fubar-30-rv</STRONG> (rather than, say, "fubar-rv-30").
+ form would be <B>fubar-30-rv</B> (rather than, say, "fubar-rv-30").
Terminal types that are written not as standalone entries, but rather
- as components to be plugged into other entries via <STRONG>use</STRONG> capabilities,
+ as components to be plugged into other entries via <B>use</B> capabilities,
are distinguished by using embedded plus signs rather than dashes.
Commands which use a terminal type to control display often accept a -T
option that accepts a terminal name argument. Such programs should
- fall back on the <STRONG>TERM</STRONG> environment variable when no -T option is
+ fall back on the <B>TERM</B> environment variable when no -T option is
specified.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>, <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>, <B><A HREF="term.5.html">term(5)</A></B>.
- <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ <B><A HREF="term.7.html">term(7)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2019,2020 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term_variables 3x</TITLE>
+<TITLE>term_variables 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">term_variables 3x</H1>
+<H1 class="no-header">term_variables 3X</H1>
<PRE>
-<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+<B><A HREF="term_variables.3X.html">term_variables(3X)</A></B> <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>SP</STRONG>, <STRONG>acs_map</STRONG>, <STRONG>boolcodes</STRONG>, <STRONG>boolfnames</STRONG>, <STRONG>boolnames</STRONG>, <STRONG>cur_term</STRONG>, <STRONG>numcodes</STRONG>,
- <STRONG>numfnames</STRONG>, <STRONG>numnames</STRONG>, <STRONG>strcodes</STRONG>, <STRONG>strfnames</STRONG>, <STRONG>strnames</STRONG>, <STRONG>ttytype</STRONG> - <STRONG>curses</STRONG>
+ <B>SP</B>, <B>acs_map</B>, <B>boolcodes</B>, <B>boolfnames</B>, <B>boolnames</B>, <B>cur_term</B>, <B>numcodes</B>,
+ <B>numfnames</B>, <B>numnames</B>, <B>strcodes</B>, <B>strfnames</B>, <B>strnames</B>, <B>ttytype</B> - <B>curses</B>
terminfo global variables
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>#include</STRONG> <STRONG><term.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
+ <B>#include</B> <B><term.h></B>
- <STRONG>chtype</STRONG> <STRONG>acs_map[];</STRONG>
+ <B>chtype</B> <B>acs_map[];</B>
- <STRONG>SCREEN</STRONG> <STRONG>*</STRONG> <STRONG>SP;</STRONG>
+ <B>SCREEN</B> <B>*</B> <B>SP;</B>
- <STRONG>TERMINAL</STRONG> <STRONG>*</STRONG> <STRONG>cur_term;</STRONG>
+ <B>TERMINAL</B> <B>*</B> <B>cur_term;</B>
- <STRONG>char</STRONG> <STRONG>ttytype[];</STRONG>
+ <B>char</B> <B>ttytype[];</B>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolcodes[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolfnames[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>boolnames[];</STRONG>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>boolcodes[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>boolfnames[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>boolnames[];</B>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numcodes[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numfnames[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>numnames[];</STRONG>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>numcodes[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>numfnames[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>numnames[];</B>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strcodes[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strfnames[];</STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>const</STRONG> <STRONG>strnames[];</STRONG>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>strcodes[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>strfnames[];</B>
+ <B>NCURSES_CONST</B> <B>char</B> <B>*</B> <B>const</B> <B>strnames[];</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- This page summarizes variables provided by the <STRONG>curses</STRONG> library's low-
+ This page summarizes variables provided by the <B>curses</B> library's low-
level terminfo interface. A more complete description is given in the
- <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> manual page.
+ <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B> manual page.
Depending on the configuration, these may be actual variables, or
- macros (see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>) which provide read-only access to <EM>curs-</EM>
- <EM>es</EM>'s state. In either case, applications should treat them as read-on-
+ macros (see <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>) which provide read-only access to <I>curs-</I>
+ <I>es</I>'s state. In either case, applications should treat them as read-on-
ly to avoid confusing the library.
</PRE><H3><a name="h3-Alternate-Character-Set-Mapping">Alternate Character Set Mapping</a></H3><PRE>
- After initializing the curses or terminfo interfaces, the <STRONG>acs_map</STRONG> array
- holds information used to translate cells with the <STRONG>A_ALTCHARSET</STRONG> video
+ After initializing the curses or terminfo interfaces, the <B>acs_map</B> array
+ holds information used to translate cells with the <B>A_ALTCHARSET</B> video
attribute into line-drawing characters.
The encoding of the information in this array has changed periodically.
</PRE><H3><a name="h3-Current-Terminal-Data">Current Terminal Data</a></H3><PRE>
- After initializing the curses or terminfo interfaces, the <STRONG>cur_term</STRONG> con-
+ After initializing the curses or terminfo interfaces, the <B>cur_term</B> con-
tains data describing the current terminal. This variable is also set
- as a side-effect of <STRONG><A HREF="curs_initscr.3x.html">set_term(3x)</A></STRONG> and <STRONG><A HREF="curs_initscr.3x.html">delscreen(3x)</A></STRONG>.
+ as a side-effect of <B><A HREF="curs_initscr.3X.html">set_term(3X)</A></B> and <B><A HREF="curs_initscr.3X.html">delscreen(3X)</A></B>.
- It is possible to save a value of <STRONG>cur_term</STRONG> for subsequent use as a pa-
- rameter to <STRONG>set_term</STRONG>, for switching between screens. Alternatively, one
- can save the return value from <STRONG>newterm</STRONG> or <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to reuse in
- <STRONG>set_term</STRONG>.
+ It is possible to save a value of <B>cur_term</B> for subsequent use as a pa-
+ rameter to <B>set_term</B>, for switching between screens. Alternatively, one
+ can save the return value from <B>newterm</B> or <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B> to reuse in
+ <B>set_term</B>.
</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
- The <STRONG><A HREF="tic.1m.html">tic(1)</A></STRONG> and <STRONG><A HREF="infocmp.1m.html">infocmp(1)</A></STRONG> programs use lookup tables for the long and
+ The <B><A HREF="tic.1M.html">tic(1)</A></B> and <B><A HREF="infocmp.1M.html">infocmp(1)</A></B> programs use lookup tables for the long and
short names of terminfo capabilities, as well as the corresponding
names for termcap capabilities. These are available to other applica-
tions, although the hash-tables used by the terminfo and termcap func-
tions are not available.
The long terminfo capability names use a "l" (ell) in their names:
- <STRONG>boolfnames</STRONG>, <STRONG>numfnames</STRONG>, and <STRONG>strfnames</STRONG>.
+ <B>boolfnames</B>, <B>numfnames</B>, and <B>strfnames</B>.
- These are the short names for terminfo capabilities: <STRONG>boolnames</STRONG>, <STRONG>num-</STRONG>
- <STRONG>names</STRONG>, and <STRONG>strnames</STRONG>.
+ These are the short names for terminfo capabilities: <B>boolnames</B>, <B>num-</B>
+ <B>names</B>, and <B>strnames</B>.
- These are the corresponding names used for termcap descriptions: <STRONG>bool-</STRONG>
- <STRONG>codes</STRONG>, <STRONG>numcodes</STRONG>, and <STRONG>strcodes</STRONG>.
+ These are the corresponding names used for termcap descriptions: <B>bool-</B>
+ <B>codes</B>, <B>numcodes</B>, and <B>strcodes</B>.
</PRE><H3><a name="h3-Terminal-Type">Terminal Type</a></H3><PRE>
A terminal description begins with one or more terminal names separated
by "|" (vertical bars). On initialization of the curses or terminfo
- interfaces, <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> copies the terminal names to the array <STRONG>tty-</STRONG>
- <STRONG>type</STRONG>.
+ interfaces, <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B> copies the terminal names to the array <B>tty-</B>
+ <B>type</B>.
</PRE><H3><a name="h3-Terminfo-Names">Terminfo Names</a></H3><PRE>
- In addition to the variables, <STRONG><term.h></STRONG> also defines a symbol for each
- terminfo capability <EM>long</EM> <EM>name</EM>. These are in terms of the symbol <STRONG>CUR</STRONG>,
+ In addition to the variables, <B><term.h></B> also defines a symbol for each
+ terminfo capability <I>long</I> <I>name</I>. These are in terms of the symbol <B>CUR</B>,
which is defined
#define CUR ((TERMTYPE *)(cur_term))->
These symbols provide a faster method of accessing terminfo capabili-
- ties than using <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG>, etc.
+ ties than using <B><A HREF="curs_terminfo.3X.html">tigetstr(3X)</A></B>, etc.
- The actual definition of <STRONG>CUR</STRONG> depends upon the implementation, but each
+ The actual definition of <B>CUR</B> depends upon the implementation, but each
terminfo library provides these long names defined to point into the
current terminal description loaded into memory.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The low-level terminfo interface is initialized using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
+ The low-level terminfo interface is initialized using <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B>.
The upper-level curses interface uses the low-level terminfo interface,
internally.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses does not describe any of these except for <STRONG>cur_term</STRONG>. (The
- inclusion of <STRONG>cur_term</STRONG> appears to be an oversight, since other compara-
+ X/Open Curses does not describe any of these except for <B>cur_term</B>. (The
+ inclusion of <B>cur_term</B> appears to be an oversight, since other compara-
ble low-level information is omitted by X/Open).
Other implementations may have comparable variables. Some implementa-
header files.
All implementations which provide terminfo interfaces add definitions
- as described in the <STRONG>Terminfo</STRONG> <STRONG>Names</STRONG> section. Most, but not all, base
- the definition upon the <STRONG>cur_term</STRONG> variable.
+ as described in the <B>Terminfo</B> <B>Names</B> section. Most, but not all, base
+ the definition upon the <B>cur_term</B> variable.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>, <B><A HREF="curs_threads.3X.html">curs_threads(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
* DO NOT EDIT THIS FILE BY HAND!
* It is generated from terminfo.head, ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
* Note: this must be run through tbl before nroff.
* The magic cookie on the first line triggers this under some man programs.
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.39 2020/02/02 23:34:34 tom Exp @
+ * @Id: terminfo.head,v 1.40 2021/06/17 21:30:22 tom Exp @
* Head of terminfo man page ends here
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.tail,v 1.100 2020/12/19 21:51:22 tom Exp @
+ * @Id: terminfo.tail,v 1.101 2021/06/17 21:30:22 tom Exp @
*.in -2
*.in +2
*.in -2
<BODY>
<H1 class="no-header">terminfo 5 File Formats</H1>
<PRE>
-<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File Formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+<B><A HREF="terminfo.5.html">terminfo(5)</A></B> File Formats <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- <EM>Terminfo</EM> is a data base describing terminals, used by screen-oriented
- programs such as <STRONG>nvi(1)</STRONG>, <STRONG>lynx(1)</STRONG>, <STRONG>mutt(1)</STRONG>, and other curses
- applications, using high-level calls to libraries such as <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>.
+ <I>Terminfo</I> is a data base describing terminals, used by screen-oriented
+ programs such as <B>nvi(1)</B>, <B>lynx(1)</B>, <B>mutt(1)</B>, and other curses
+ applications, using high-level calls to libraries such as <B><A HREF="curses.3X.html">curses(3X)</A></B>.
It is also used via low-level calls by non-curses applications which
- may be screen-oriented (such as <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>) or non-screen (such as
- <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>).
+ may be screen-oriented (such as <B><A HREF="clear.1.html">clear(1)</A></B>) or non-screen (such as
+ <B><A HREF="tabs.1.html">tabs(1)</A></B>).
- <EM>Terminfo</EM> describes terminals by giving a set of capabilities which they
+ <I>Terminfo</I> describes terminals by giving a set of capabilities which they
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This manual describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H3><a name="h3-Terminfo-Entry-Syntax">Terminfo Entry Syntax</a></H3><PRE>
- Entries in <EM>terminfo</EM> consist of a sequence of fields:
+ Entries in <I>terminfo</I> consist of a sequence of fields:
- <STRONG>o</STRONG> Each field ends with a comma "," (embedded commas may be escaped
+ <B>o</B> Each field ends with a comma "," (embedded commas may be escaped
with a backslash or written as "\054").
- <STRONG>o</STRONG> White space between fields is ignored.
+ <B>o</B> White space between fields is ignored.
- <STRONG>o</STRONG> The first field in a <EM>terminfo</EM> entry begins in the first column.
+ <B>o</B> The first field in a <I>terminfo</I> entry begins in the first column.
- <STRONG>o</STRONG> Newlines and leading whitespace (spaces or tabs) may be used for
+ <B>o</B> Newlines and leading whitespace (spaces or tabs) may be used for
formatting entries for readability. These are removed from parsed
entries.
- The <STRONG>infocmp</STRONG> <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options rely on this to format if-then-else
+ The <B>infocmp</B> <B>-f</B> and <B>-W</B> options rely on this to format if-then-else
expressions, or to enforce maximum line-width. The resulting
- formatted terminal description can be read by <STRONG>tic</STRONG>.
+ formatted terminal description can be read by <B>tic</B>.
- <STRONG>o</STRONG> The first field for each terminal gives the names which are known
+ <B>o</B> The first field for each terminal gives the names which are known
for the terminal, separated by "|" characters.
The first name given is the most common abbreviation for the
terminal (its primary name), the last name given should be a long
- name fully identifying the terminal (see <STRONG><A HREF="curs_termattrs.3x.html">longname(3x)</A></STRONG>), and all
+ name fully identifying the terminal (see <B><A HREF="curs_termattrs.3X.html">longname(3X)</A></B>), and all
others are treated as synonyms (aliases) for the primary terminal
name.
it allows that to be both an alias and a verbose name (but will
warn about this ambiguity).
- <STRONG>o</STRONG> Lines beginning with a "#" in the first column are treated as
+ <B>o</B> Lines beginning with a "#" in the first column are treated as
comments.
- While comment lines are legal at any point, the output of <STRONG>captoinfo</STRONG>
- and <STRONG>infotocap</STRONG> (aliases for <STRONG>tic</STRONG>) will move comments so they occur
+ While comment lines are legal at any point, the output of <B>captoinfo</B>
+ and <B>infotocap</B> (aliases for <B>tic</B>) will move comments so they occur
only between entries.
Terminal names (except for the last, verbose entry) should be chosen
suffix. Thus, a vt100 in 132-column mode would be vt100-w. The
following suffixes should be used where possible:
- <STRONG>Suffix</STRONG> <STRONG>Meaning</STRONG> <STRONG>Example</STRONG>
- -<EM>nn</EM> Number of lines on the screen aaa-60
- -<EM>n</EM>p Number of pages of memory c100-4p
+ <B>Suffix</B> <B>Meaning</B> <B>Example</B>
+ -<I>nn</I> Number of lines on the screen aaa-60
+ -<I>n</I>p Number of pages of memory c100-4p
-am With automargins (usually the default) vt100-am
-m Mono mode; suppress color ansi-m
-mc Magic cookie; spaces when highlighting wy30-mc
-vb Use visible bell instead of beep wy370-vb
-w Wide mode (> 80 columns, usually 132) vt100-w
- For more on terminal naming conventions, see the <STRONG><A HREF="term.7.html">term(7)</A></STRONG> manual page.
+ For more on terminal naming conventions, see the <B><A HREF="term.7.html">term(7)</A></B> manual page.
</PRE><H3><a name="h3-Terminfo-Capabilities-Syntax">Terminfo Capabilities Syntax</a></H3><PRE>
- The terminfo entry consists of several <EM>capabilities</EM>, i.e., features
+ The terminfo entry consists of several <I>capabilities</I>, i.e., features
that the terminal has, or methods for exercising the terminal's
features.
After the first field (giving the name(s) of the terminal entry), there
- should be one or more <EM>capability</EM> fields. These are boolean, numeric or
+ should be one or more <I>capability</I> fields. These are boolean, numeric or
string names with corresponding values:
- <STRONG>o</STRONG> Boolean capabilities are true when present, false when absent.
+ <B>o</B> Boolean capabilities are true when present, false when absent.
There is no explicit value for boolean capabilities.
- <STRONG>o</STRONG> Numeric capabilities have a "#" following the name, then an
+ <B>o</B> Numeric capabilities have a "#" following the name, then an
unsigned decimal integer value.
- <STRONG>o</STRONG> String capabilities have a "=" following the name, then an string
+ <B>o</B> String capabilities have a "=" following the name, then an string
of characters making up the capability value.
String capabilities can be split into multiple lines, just as the
within a string value are retained, except for leading blanks on a
line.
- Any capability can be <EM>canceled</EM>, i.e., suppressed from the terminal
+ Any capability can be <I>canceled</I>, i.e., suppressed from the terminal
entry, by following its name with "@" rather than a capability value.
If there are two very similar terminals, one (the variant) can be
defined as being just like the other (the base) with certain
exceptions. In the definition of the variant, the string capability
- <STRONG>use</STRONG> can be given with the name of the base terminal:
+ <B>use</B> can be given with the name of the base terminal:
- <STRONG>o</STRONG> The capabilities given before <STRONG>use</STRONG> override those in the base type
- named by <STRONG>use</STRONG>.
+ <B>o</B> The capabilities given before <B>use</B> override those in the base type
+ named by <B>use</B>.
- <STRONG>o</STRONG> If there are multiple <STRONG>use</STRONG> capabilities, they are merged in reverse
- order. That is, the rightmost <STRONG>use</STRONG> reference is processed first,
+ <B>o</B> If there are multiple <B>use</B> capabilities, they are merged in reverse
+ order. That is, the rightmost <B>use</B> reference is processed first,
then the one to its left, and so forth.
- <STRONG>o</STRONG> Capabilities given explicitly in the entry override those brought
- in by <STRONG>use</STRONG> references.
+ <B>o</B> Capabilities given explicitly in the entry override those brought
+ in by <B>use</B> references.
- A capability can be canceled by placing <STRONG>xx@</STRONG> to the left of the use
- reference that imports it, where <EM>xx</EM> is the capability. For example,
+ A capability can be canceled by placing <B>xx@</B> to the left of the use
+ reference that imports it, where <I>xx</I> is the capability. For example,
the entry
2621-nl, smkx@, rmkx@, use=2621,
- defines a 2621-nl that does not have the <STRONG>smkx</STRONG> or <STRONG>rmkx</STRONG> capabilities, and
+ defines a 2621-nl that does not have the <B>smkx</B> or <B>rmkx</B> capabilities, and
hence does not turn on the function key labels when in visual mode.
This is useful for different modes for a terminal, or for different
user preferences.
- An entry included via <STRONG>use</STRONG> can contain canceled capabilities, which have
+ An entry included via <B>use</B> can contain canceled capabilities, which have
the same effect as if those cancels were inline in the using terminal
entry.
terminfo description block and available to terminfo-using code. In
each line of the table,
- The <STRONG>variable</STRONG> is the name by which the programmer (at the terminfo
+ The <B>variable</B> is the name by which the programmer (at the terminfo
level) accesses the capability.
- The <STRONG>capname</STRONG> is the short name used in the text of the database, and is
+ The <B>capname</B> is the short name used in the text of the database, and is
used by a person updating the database. Whenever possible, capnames
are chosen to be the same as or similar to the ANSI X3.64-1979 standard
(now superseded by ECMA-48, which uses identical or very similar
names). Semantics are also intended to match those of the
specification.
- The termcap code is the old <STRONG>termcap</STRONG> capability name (some capabilities
+ The termcap code is the old <B>termcap</B> capability name (some capabilities
are new, and have names which termcap did not originate).
Capability names have no hard length limit, but an informal limit of 5
characters has been adopted to keep them short and to allow the tabs in
- the source file <STRONG>Caps</STRONG> to line up nicely.
+ the source file <B>Caps</B> to line up nicely.
Finally, the description field attempts to convey the semantics of the
capability. You may find some codes in the description field:
(P) indicates that padding may be specified
#[1-9] in the description field indicates that the string is passed
- through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> with parameters as given (#<EM>i</EM>).
+ through <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B> with parameters as given (#<I>i</I>).
If no parameters are listed in the description, passing the
- string through <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> may give unexpected results, e.g., if
+ string through <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B> may give unexpected results, e.g., if
it contains percent (%%) signs.
(P*) indicates that padding may vary in proportion to the number of
lines affected
- (#<EM>i</EM>) indicates the <EM>i</EM>th parameter.
+ (#<I>i</I>) indicates the <I>i</I>th parameter.
These are the boolean capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Booleans</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>Booleans</B> <B>name</B> <B>Code</B>
These are the numeric capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>Numeric</B> <B>name</B> <B>Code</B>
columns cols co number of columns in
a line
init_tabs it it tabs initially every
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>Numeric</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>Numeric</B> <B>name</B> <B>Code</B>
bit_image_entwining bitwin Yo number of passes for
each bit-image row
bit_image_type bitype Yp type of bit-image
These are the string capabilities:
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>String</B> <B>name</B> <B>Code</B>
acs_chars acsc ac graphics charset
pairs, based on
vt100
structure, but were originally not documented in the man page.
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>String</B> <B>name</B> <B>Code</B>
alt_scancode_esc scesa S8 Alternate escape
for scancode
emulation
The XSI Curses standard added these hardcopy capabilities. They were
used in some post-4.1 versions of System V curses, e.g., Solaris 2.5
- and IRIX 6.x. Except for <STRONG>YI</STRONG>, the <STRONG>ncurses</STRONG> termcap names for them are
+ and IRIX 6.x. Except for <B>YI</B>, the <B>ncurses</B> termcap names for them are
invented. According to the XSI Curses standard, they have no termcap
names. If your compiled terminfo entries use these, they may not be
binary-compatible with System V terminfo entries after SVr4.1; beware!
- <STRONG>Variable</STRONG> <STRONG>Cap-</STRONG> <STRONG>TCap</STRONG> <STRONG>Description</STRONG>
- <STRONG>String</STRONG> <STRONG>name</STRONG> <STRONG>Code</STRONG>
+ <B>Variable</B> <B>Cap-</B> <B>TCap</B> <B>Description</B>
+ <B>String</B> <B>name</B> <B>Code</B>
enter_horizontal_hl_mode ehhlm Xh Enter horizontal
highlight mode
enter_left_hl_mode elhlm Xl Enter left highlight
</PRE><H3><a name="h3-User-Defined-Capabilities">User-Defined Capabilities</a></H3><PRE>
- The preceding section listed the <EM>predefined</EM> capabilities. They deal
+ The preceding section listed the <I>predefined</I> capabilities. They deal
with some special features for terminals no longer (or possibly never)
produced. Occasionally there are special features of newer terminals
which are awkward or impossible to represent by reusing the predefined
capabilities.
- <STRONG>ncurses</STRONG> addresses this limitation by allowing user-defined
- capabilities. The <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> programs provide the <STRONG>-x</STRONG> option for
- this purpose. When <STRONG>-x</STRONG> is set, <STRONG>tic</STRONG> treats unknown capabilities as user-
- defined. That is, if <STRONG>tic</STRONG> encounters a capability name which it does
+ <B>ncurses</B> addresses this limitation by allowing user-defined
+ capabilities. The <B>tic</B> and <B>infocmp</B> programs provide the <B>-x</B> option for
+ this purpose. When <B>-x</B> is set, <B>tic</B> treats unknown capabilities as user-
+ defined. That is, if <B>tic</B> encounters a capability name which it does
not recognize, it infers its type (boolean, number or string) from the
syntax and makes an extended table entry for that capability. The
- <STRONG><A HREF="curs_extend.3x.html">use_extended_names(3x)</A></STRONG> function makes this information conditionally
+ <B><A HREF="curs_extend.3X.html">use_extended_names(3X)</A></B> function makes this information conditionally
available to applications. The ncurses library provides the data
leaving most of the behavior to applications:
- <STRONG>o</STRONG> User-defined capability strings whose name begins with "k" are
+ <B>o</B> User-defined capability strings whose name begins with "k" are
treated as function keys.
- <STRONG>o</STRONG> The types (boolean, number, string) determined by <STRONG>tic</STRONG> can be
- inferred by successful calls on <STRONG>tigetflag</STRONG>, etc.
+ <B>o</B> The types (boolean, number, string) determined by <B>tic</B> can be
+ inferred by successful calls on <B>tigetflag</B>, etc.
- <STRONG>o</STRONG> If the capability name happens to be two characters, the capability
+ <B>o</B> If the capability name happens to be two characters, the capability
is also available through the termcap interface.
While termcap is said to be extensible because it does not use a
</PRE><H3><a name="h3-A-Sample-Entry">A Sample Entry</a></H3><PRE>
The following entry, describing an ANSI-standard terminal, is
- representative of what a <STRONG>terminfo</STRONG> entry for a modern terminal typically
+ representative of what a <B>terminfo</B> entry for a modern terminal typically
looks like.
ansi|ansi/pc-term compatible with color,
Entries may continue onto multiple lines by placing white space at the
beginning of each line except the first. Comments may be included on
- lines beginning with "#". Capabilities in <EM>terminfo</EM> are of three types:
+ lines beginning with "#". Capabilities in <I>terminfo</I> are of three types:
- <STRONG>o</STRONG> Boolean capabilities which indicate that the terminal has some
+ <B>o</B> Boolean capabilities which indicate that the terminal has some
particular feature,
- <STRONG>o</STRONG> numeric capabilities giving the size of the terminal or the size of
+ <B>o</B> numeric capabilities giving the size of the terminal or the size of
particular delays, and
- <STRONG>o</STRONG> string capabilities, which give a sequence which can be used to
+ <B>o</B> string capabilities, which give a sequence which can be used to
perform particular terminal operations.
</PRE><H3><a name="h3-Types-of-Capabilities">Types of Capabilities</a></H3><PRE>
All capabilities have names. For instance, the fact that ANSI-standard
- terminals have <EM>automatic</EM> <EM>margins</EM> (i.e., an automatic return and line-
+ terminals have <I>automatic</I> <I>margins</I> (i.e., an automatic return and line-
feed when the end of a line is reached) is indicated by the capability
- <STRONG>am</STRONG>. Hence the description of ansi includes <STRONG>am</STRONG>. Numeric capabilities
+ <B>am</B>. Hence the description of ansi includes <B>am</B>. Numeric capabilities
are followed by the character "#" and then a positive value. Thus
- <STRONG>cols</STRONG>, which indicates the number of columns the terminal has, gives the
+ <B>cols</B>, which indicates the number of columns the terminal has, gives the
value "80" for ansi. Values for numeric capabilities may be specified
in decimal, octal or hexadecimal, using the C programming language
conventions (e.g., 255, 0377 and 0xff or 0xFF).
- Finally, string valued capabilities, such as <STRONG>el</STRONG> (clear to end of line
+ Finally, string valued capabilities, such as <B>el</B> (clear to end of line
sequence) are given by the two-character code, an "=", and then a
string ending at the next following ",".
A number of escape sequences are provided in the string valued
capabilities for easy encoding of characters there:
- <STRONG>o</STRONG> Both <STRONG>\E</STRONG> and <STRONG>\e</STRONG> map to an ESCAPE character,
+ <B>o</B> Both <B>\E</B> and <B>\e</B> map to an ESCAPE character,
- <STRONG>o</STRONG> <STRONG>^x</STRONG> maps to a control-x for any appropriate <EM>x</EM>, and
+ <B>o</B> <B>^x</B> maps to a control-x for any appropriate <I>x</I>, and
- <STRONG>o</STRONG> the sequences
+ <B>o</B> the sequences
- <STRONG>\n</STRONG>, <STRONG>\l</STRONG>, <STRONG>\r</STRONG>, <STRONG>\t</STRONG>, <STRONG>\b</STRONG>, <STRONG>\f</STRONG>, and <STRONG>\s</STRONG>
+ <B>\n</B>, <B>\l</B>, <B>\r</B>, <B>\t</B>, <B>\b</B>, <B>\f</B>, and <B>\s</B>
produce
- <EM>newline</EM>, <EM>line-feed</EM>, <EM>return</EM>, <EM>tab</EM>, <EM>backspace</EM>, <EM>form-feed</EM>, and <EM>space</EM>,
+ <I>newline</I>, <I>line-feed</I>, <I>return</I>, <I>tab</I>, <I>backspace</I>, <I>form-feed</I>, and <I>space</I>,
respectively.
- X/Open Curses does not say what "appropriate <EM>x</EM>" might be. In practice,
+ X/Open Curses does not say what "appropriate <I>x</I>" might be. In practice,
that is a printable ASCII graphic character. The special case "^?" is
interpreted as DEL (127). In all other cases, the character value is
AND'd with 0x1f, mapping to ASCII control codes in the range 0 through
Other escapes include
- <STRONG>o</STRONG> <STRONG>\^</STRONG> for <STRONG>^</STRONG>,
+ <B>o</B> <B>\^</B> for <B>^</B>,
- <STRONG>o</STRONG> <STRONG>\\</STRONG> for <STRONG>\</STRONG>,
+ <B>o</B> <B>\\</B> for <B>\</B>,
- <STRONG>o</STRONG> <STRONG>\</STRONG>, for comma,
+ <B>o</B> <B>\</B>, for comma,
- <STRONG>o</STRONG> <STRONG>\:</STRONG> for <STRONG>:</STRONG>,
+ <B>o</B> <B>\:</B> for <B>:</B>,
- <STRONG>o</STRONG> and <STRONG>\0</STRONG> for null.
+ <B>o</B> and <B>\0</B> for null.
- <STRONG>\0</STRONG> will produce \200, which does not terminate a string but behaves
+ <B>\0</B> will produce \200, which does not terminate a string but behaves
as a null character on most terminals, providing CS7 is specified.
- See <STRONG>stty(1)</STRONG>.
+ See <B>stty(1)</B>.
The reason for this quirk is to maintain binary compatibility of
the compiled terminfo files with other implementations, e.g., the
require a new binary format, which would not work with other
implementations.
- Finally, characters may be given as three octal digits after a <STRONG>\</STRONG>.
+ Finally, characters may be given as three octal digits after a <B>\</B>.
A delay in milliseconds may appear anywhere in a string capability,
- enclosed in $<..> brackets, as in <STRONG>el</STRONG>=\EK$<5>, and padding characters
- are supplied by <STRONG><A HREF="curs_terminfo.3x.html">tputs(3x)</A></STRONG> to provide this delay.
+ enclosed in $<..> brackets, as in <B>el</B>=\EK$<5>, and padding characters
+ are supplied by <B><A HREF="curs_terminfo.3X.html">tputs(3X)</A></B> to provide this delay.
- <STRONG>o</STRONG> The delay must be a number with at most one decimal place of
+ <B>o</B> The delay must be a number with at most one decimal place of
precision; it may be followed by suffixes "*" or "/" or both.
- <STRONG>o</STRONG> A "*" indicates that the padding required is proportional to the
+ <B>o</B> A "*" indicates that the padding required is proportional to the
number of lines affected by the operation, and the amount given is
the per-affected-unit padding required. (In the case of insert
- character, the factor is still the number of <EM>lines</EM> affected.)
+ character, the factor is still the number of <I>lines</I> affected.)
- Normally, padding is advisory if the device has the <STRONG>xon</STRONG> capability;
+ Normally, padding is advisory if the device has the <B>xon</B> capability;
it is used for cost computation but does not trigger delays.
- <STRONG>o</STRONG> A "/" suffix indicates that the padding is mandatory and forces a
+ <B>o</B> A "/" suffix indicates that the padding is mandatory and forces a
delay of the given number of milliseconds even on devices for which
- <STRONG>xon</STRONG> is present to indicate flow control.
+ <B>xon</B> is present to indicate flow control.
Sometimes individual capabilities must be commented out. To do this,
put a period before the capability name. For example, see the second
- <STRONG>ind</STRONG> in the example above.
+ <B>ind</B> in the example above.
</PRE><H3><a name="h3-Fetching-Compiled-Descriptions">Fetching Compiled Descriptions</a></H3><PRE>
- The <STRONG>ncurses</STRONG> library searches for terminal descriptions in several
+ The <B>ncurses</B> library searches for terminal descriptions in several
places. It uses only the first description found. The library has a
compiled-in list of places to search which can be overridden by
- environment variables. Before starting to search, <STRONG>ncurses</STRONG> eliminates
+ environment variables. Before starting to search, <B>ncurses</B> eliminates
duplicates in its search list.
- <STRONG>o</STRONG> If the environment variable TERMINFO is set, it is interpreted as
+ <B>o</B> If the environment variable TERMINFO is set, it is interpreted as
the pathname of a directory containing the compiled description you
are working on. Only that directory is searched.
- <STRONG>o</STRONG> If TERMINFO is not set, <STRONG>ncurses</STRONG> will instead look in the directory
- <STRONG>$HOME/.terminfo</STRONG> for a compiled description.
+ <B>o</B> If TERMINFO is not set, <B>ncurses</B> will instead look in the directory
+ <B>$HOME/.terminfo</B> for a compiled description.
- <STRONG>o</STRONG> Next, if the environment variable TERMINFO_DIRS is set, <STRONG>ncurses</STRONG>
+ <B>o</B> Next, if the environment variable TERMINFO_DIRS is set, <B>ncurses</B>
will interpret the contents of that variable as a list of colon-
separated directories (or database files) to be searched.
An empty directory name (i.e., if the variable begins or ends with
a colon, or contains adjacent colons) is interpreted as the system
- location <EM>/usr/share/terminfo</EM>.
+ location <I>/usr/share/terminfo</I>.
- <STRONG>o</STRONG> Finally, <STRONG>ncurses</STRONG> searches these compiled-in locations:
+ <B>o</B> Finally, <B>ncurses</B> searches these compiled-in locations:
- <STRONG>o</STRONG> a list of directories (no default value), and
+ <B>o</B> a list of directories (no default value), and
- <STRONG>o</STRONG> the system terminfo directory, <EM>/usr/share/terminfo</EM> (the
+ <B>o</B> the system terminfo directory, <I>/usr/share/terminfo</I> (the
compiled-in default).
</PRE><H3><a name="h3-Preparing-Descriptions">Preparing Descriptions</a></H3><PRE>
We now outline how to prepare descriptions of terminals. The most
effective way to prepare a terminal description is by imitating the
- description of a similar terminal in <EM>terminfo</EM> and to build up a
- description gradually, using partial descriptions with <EM>vi</EM> or some other
+ description of a similar terminal in <I>terminfo</I> and to build up a
+ description gradually, using partial descriptions with <I>vi</I> or some other
screen-oriented program to check that they are correct. Be aware that
a very unusual terminal may expose deficiencies in the ability of the
- <EM>terminfo</EM> file to describe it or bugs in the screen-handling code of the
+ <I>terminfo</I> file to describe it or bugs in the screen-handling code of the
test program.
To get the padding for insert line right (if the terminal manufacturer
</PRE><H3><a name="h3-Basic-Capabilities">Basic Capabilities</a></H3><PRE>
The number of columns on each line for the terminal is given by the
- <STRONG>cols</STRONG> numeric capability. If the terminal is a CRT, then the number of
- lines on the screen is given by the <STRONG>lines</STRONG> capability. If the terminal
+ <B>cols</B> numeric capability. If the terminal is a CRT, then the number of
+ lines on the screen is given by the <B>lines</B> capability. If the terminal
wraps around to the beginning of the next line when it reaches the
- right margin, then it should have the <STRONG>am</STRONG> capability. If the terminal
+ right margin, then it should have the <B>am</B> capability. If the terminal
can clear its screen, leaving the cursor in the home position, then
- this is given by the <STRONG>clear</STRONG> string capability. If the terminal
+ this is given by the <B>clear</B> string capability. If the terminal
overstrikes (rather than clearing a position when a character is struck
- over) then it should have the <STRONG>os</STRONG> capability. If the terminal is a
- printing terminal, with no soft copy unit, give it both <STRONG>hc</STRONG> and <STRONG>os</STRONG>. (<STRONG>os</STRONG>
+ over) then it should have the <B>os</B> capability. If the terminal is a
+ printing terminal, with no soft copy unit, give it both <B>hc</B> and <B>os</B>. (<B>os</B>
applies to storage scope terminals, such as TEKTRONIX 4010 series, as
well as hard copy and APL terminals.) If there is a code to move the
- cursor to the left edge of the current row, give this as <STRONG>cr</STRONG>. (Normally
+ cursor to the left edge of the current row, give this as <B>cr</B>. (Normally
this will be carriage return, control/M.) If there is a code to
- produce an audible signal (bell, beep, etc) give this as <STRONG>bel</STRONG>.
+ produce an audible signal (bell, beep, etc) give this as <B>bel</B>.
If there is a code to move the cursor one position to the left (such as
- backspace) that capability should be given as <STRONG>cub1</STRONG>. Similarly, codes
- to move to the right, up, and down should be given as <STRONG>cuf1</STRONG>, <STRONG>cuu1</STRONG>, and
- <STRONG>cud1</STRONG>. These local cursor motions should not alter the text they pass
- over, for example, you would not normally use "<STRONG>cuf1</STRONG>= " because the
+ backspace) that capability should be given as <B>cub1</B>. Similarly, codes
+ to move to the right, up, and down should be given as <B>cuf1</B>, <B>cuu1</B>, and
+ <B>cud1</B>. These local cursor motions should not alter the text they pass
+ over, for example, you would not normally use "<B>cuf1</B>= " because the
space would erase the character moved over.
A very important point here is that the local cursor motions encoded in
- <EM>terminfo</EM> are undefined at the left and top edges of a CRT terminal.
+ <I>terminfo</I> are undefined at the left and top edges of a CRT terminal.
Programs should never attempt to backspace around the left edge, unless
- <STRONG>bw</STRONG> is given, and never attempt to go up locally off the top. In order
+ <B>bw</B> is given, and never attempt to go up locally off the top. In order
to scroll text up, a program will go to the bottom left corner of the
- screen and send the <STRONG>ind</STRONG> (index) string.
+ screen and send the <B>ind</B> (index) string.
To scroll text down, a program goes to the top left corner of the
- screen and sends the <STRONG>ri</STRONG> (reverse index) string. The strings <STRONG>ind</STRONG> and <STRONG>ri</STRONG>
+ screen and sends the <B>ri</B> (reverse index) string. The strings <B>ind</B> and <B>ri</B>
are undefined when not on their respective corners of the screen.
- Parameterized versions of the scrolling sequences are <STRONG>indn</STRONG> and <STRONG>rin</STRONG>
- which have the same semantics as <STRONG>ind</STRONG> and <STRONG>ri</STRONG> except that they take one
+ Parameterized versions of the scrolling sequences are <B>indn</B> and <B>rin</B>
+ which have the same semantics as <B>ind</B> and <B>ri</B> except that they take one
parameter, and scroll that many lines. They are also undefined except
at the appropriate edge of the screen.
- The <STRONG>am</STRONG> capability tells whether the cursor sticks at the right edge of
+ The <B>am</B> capability tells whether the cursor sticks at the right edge of
the screen when text is output, but this does not necessarily apply to
- a <STRONG>cuf1</STRONG> from the last column. The only local motion which is defined
- from the left edge is if <STRONG>bw</STRONG> is given, then a <STRONG>cub1</STRONG> from the left edge
- will move to the right edge of the previous row. If <STRONG>bw</STRONG> is not given,
+ a <B>cuf1</B> from the last column. The only local motion which is defined
+ from the left edge is if <B>bw</B> is given, then a <B>cub1</B> from the left edge
+ will move to the right edge of the previous row. If <B>bw</B> is not given,
the effect is undefined. This is useful for drawing a box around the
edge of the screen, for example. If the terminal has switch selectable
- automatic margins, the <EM>terminfo</EM> file usually assumes that this is on;
- i.e., <STRONG>am</STRONG>. If the terminal has a command which moves to the first
- column of the next line, that command can be given as <STRONG>nel</STRONG> (newline).
+ automatic margins, the <I>terminfo</I> file usually assumes that this is on;
+ i.e., <B>am</B>. If the terminal has a command which moves to the first
+ column of the next line, that command can be given as <B>nel</B> (newline).
It does not matter if the command clears the remainder of the current
- line, so if the terminal has no <STRONG>cr</STRONG> and <STRONG>lf</STRONG> it may still be possible to
- craft a working <STRONG>nel</STRONG> out of one or both of them.
+ line, so if the terminal has no <B>cr</B> and <B>lf</B> it may still be possible to
+ craft a working <B>nel</B> out of one or both of them.
These capabilities suffice to describe hard-copy and "glass-tty"
terminals. Thus the model 33 teletype is described as
</PRE><H3><a name="h3-Parameterized-Strings">Parameterized Strings</a></H3><PRE>
Cursor addressing and other strings requiring parameters in the
terminal are described by a parameterized string capability, with
- <EM>printf</EM>-like escapes such as <EM>%x</EM> in it. For example, to address the
- cursor, the <STRONG>cup</STRONG> capability is given, using two parameters: the row and
+ <I>printf</I>-like escapes such as <I>%x</I> in it. For example, to address the
+ cursor, the <B>cup</B> capability is given, using two parameters: the row and
column to address to. (Rows and columns are numbered from zero and
refer to the physical screen visible to the user, not to any unseen
memory.) If the terminal has memory relative cursor addressing, that
- can be indicated by <STRONG>mrcup</STRONG>.
+ can be indicated by <B>mrcup</B>.
- The parameter mechanism uses a stack and special <STRONG>%</STRONG> codes to manipulate
+ The parameter mechanism uses a stack and special <B>%</B> codes to manipulate
it. Typically a sequence will push one of the parameters onto the
stack and then print it in some format. Print (e.g., "%d") is a
special case. Other operations, including "%t" pop their operand from
the stack. It is noted that more complex operations are often
- necessary, e.g., in the <STRONG>sgr</STRONG> string.
+ necessary, e.g., in the <B>sgr</B> string.
- The <STRONG>%</STRONG> encodings have the following meanings:
+ The <B>%</B> encodings have the following meanings:
- <STRONG>%%</STRONG> outputs "%"
+ <B>%%</B> outputs "%"
- <STRONG>%</STRONG><EM>[[</EM>:<EM>]flags][width[.precision]][</EM><STRONG>doxXs</STRONG><EM>]</EM>
- as in <STRONG>printf(3)</STRONG>, flags are <EM>[-+#]</EM> and <EM>space</EM>. Use a ":" to allow
+ <B>%</B><I>[[</I>:<I>]flags][width[.precision]][</I><B>doxXs</B><I>]</I>
+ as in <B>printf(3)</B>, flags are <I>[-+#]</I> and <I>space</I>. Use a ":" to allow
the next character to be a "-" flag, avoiding interpreting "%-" as
an operator.
- %c print <EM>pop()</EM> like %c in <STRONG>printf</STRONG>
+ %c print <I>pop()</I> like %c in <B>printf</B>
- <STRONG>%s</STRONG> print <EM>pop()</EM> like %s in <STRONG>printf</STRONG>
+ <B>%s</B> print <I>pop()</I> like %s in <B>printf</B>
- <STRONG>%p</STRONG><EM>[1-9]</EM>
- push <EM>i</EM>'th parameter
+ <B>%p</B><I>[1-9]</I>
+ push <I>i</I>'th parameter
- <STRONG>%P</STRONG><EM>[a-z]</EM>
- set dynamic variable <EM>[a-z]</EM> to <EM>pop()</EM>
+ <B>%P</B><I>[a-z]</I>
+ set dynamic variable <I>[a-z]</I> to <I>pop()</I>
- <STRONG>%g</STRONG><EM>[a-z]/</EM>
- get dynamic variable <EM>[a-z]</EM> and push it
+ <B>%g</B><I>[a-z]/</I>
+ get dynamic variable <I>[a-z]</I> and push it
- <STRONG>%P</STRONG><EM>[A-Z]</EM>
- set static variable <EM>[a-z]</EM> to <EM>pop()</EM>
+ <B>%P</B><I>[A-Z]</I>
+ set static variable <I>[a-z]</I> to <I>pop()</I>
- <STRONG>%g</STRONG><EM>[A-Z]</EM>
- get static variable <EM>[a-z]</EM> and push it
+ <B>%g</B><I>[A-Z]</I>
+ get static variable <I>[a-z]</I> and push it
The terms "static" and "dynamic" are misleading. Historically,
these are simply two different sets of variables, whose values are
- not reset between calls to <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>. However, that fact is not
+ not reset between calls to <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B>. However, that fact is not
documented in other implementations. Relying on it will adversely
impact portability to other implementations.
- <STRONG>%'</STRONG><EM>c</EM><STRONG>'</STRONG> char constant <EM>c</EM>
+ <B>%'</B><I>c</I><B>'</B> char constant <I>c</I>
- <STRONG>%{</STRONG><EM>nn</EM><STRONG>}</STRONG>
- integer constant <EM>nn</EM>
+ <B>%{</B><I>nn</I><B>}</B>
+ integer constant <I>nn</I>
- <STRONG>%l</STRONG> push strlen(pop)
+ <B>%l</B> push strlen(pop)
- <STRONG>%+</STRONG>, <STRONG>%-</STRONG>, <STRONG>%*</STRONG>, <STRONG>%/</STRONG>, <STRONG>%m</STRONG>
- arithmetic (%m is <EM>mod</EM>): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+ <B>%+</B>, <B>%-</B>, <B>%*</B>, <B>%/</B>, <B>%m</B>
+ arithmetic (%m is <I>mod</I>): <I>push(pop()</I> <I>op</I> <I>pop())</I>
- <STRONG>%&</STRONG>, <STRONG>%|</STRONG>, <STRONG>%^</STRONG>
- bit operations (AND, OR and exclusive-OR): <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+ <B>%&</B>, <B>%|</B>, <B>%^</B>
+ bit operations (AND, OR and exclusive-OR): <I>push(pop()</I> <I>op</I> <I>pop())</I>
- <STRONG>%=</STRONG>, <STRONG>%></STRONG>, <STRONG>%<</STRONG>
- logical operations: <EM>push(pop()</EM> <EM>op</EM> <EM>pop())</EM>
+ <B>%=</B>, <B>%></B>, <B>%<</B>
+ logical operations: <I>push(pop()</I> <I>op</I> <I>pop())</I>
- <STRONG>%A</STRONG>, <STRONG>%O</STRONG>
+ <B>%A</B>, <B>%O</B>
logical AND and OR operations (for conditionals)
- <STRONG>%!</STRONG>, <STRONG>%~</STRONG>
- unary operations (logical and bit complement): <EM>push(op</EM> <EM>pop())</EM>
+ <B>%!</B>, <B>%~</B>
+ unary operations (logical and bit complement): <I>push(op</I> <I>pop())</I>
- <STRONG>%i</STRONG> add 1 to first two parameters (for ANSI terminals)
+ <B>%i</B> add 1 to first two parameters (for ANSI terminals)
- <STRONG>%?</STRONG> <EM>expr</EM> <STRONG>%t</STRONG> <EM>thenpart</EM> <STRONG>%e</STRONG> <EM>elsepart</EM> <STRONG>%;</STRONG>
- This forms an if-then-else. The <STRONG>%e</STRONG> <EM>elsepart</EM> is optional. Usually
- the <STRONG>%?</STRONG> <EM>expr</EM> part pushes a value onto the stack, and <STRONG>%t</STRONG> pops it
+ <B>%?</B> <I>expr</I> <B>%t</B> <I>thenpart</I> <B>%e</B> <I>elsepart</I> <B>%;</B>
+ This forms an if-then-else. The <B>%e</B> <I>elsepart</I> is optional. Usually
+ the <B>%?</B> <I>expr</I> part pushes a value onto the stack, and <B>%t</B> pops it
from the stack, testing if it is nonzero (true). If it is zero
- (false), control passes to the <STRONG>%e</STRONG> (else) part.
+ (false), control passes to the <B>%e</B> (else) part.
It is possible to form else-if's a la Algol 68:
- <STRONG>%?</STRONG> c1 <STRONG>%t</STRONG> b1 <STRONG>%e</STRONG> c2 <STRONG>%t</STRONG> b2 <STRONG>%e</STRONG> c3 <STRONG>%t</STRONG> b3 <STRONG>%e</STRONG> c4 <STRONG>%t</STRONG> b4 <STRONG>%e</STRONG> <STRONG>%;</STRONG>
+ <B>%?</B> c1 <B>%t</B> b1 <B>%e</B> c2 <B>%t</B> b2 <B>%e</B> c3 <B>%t</B> b3 <B>%e</B> c4 <B>%t</B> b4 <B>%e</B> <B>%;</B>
where ci are conditions, bi are bodies.
- Use the <STRONG>-f</STRONG> option of <STRONG>tic</STRONG> or <STRONG>infocmp</STRONG> to see the structure of if-
- then-else's. Some strings, e.g., <STRONG>sgr</STRONG> can be very complicated when
- written on one line. The <STRONG>-f</STRONG> option splits the string into lines
+ Use the <B>-f</B> option of <B>tic</B> or <B>infocmp</B> to see the structure of if-
+ then-else's. Some strings, e.g., <B>sgr</B> can be very complicated when
+ written on one line. The <B>-f</B> option splits the string into lines
with the parts indented.
Binary operations are in postfix form with the operands in the usual
- order. That is, to get x-5 one would use "%gx%{5}%-". <STRONG>%P</STRONG> and <STRONG>%g</STRONG>
+ order. That is, to get x-5 one would use "%gx%{5}%-". <B>%P</B> and <B>%g</B>
variables are persistent across escape-string evaluations.
Consider the HP2645, which, to get to row 3 and column 12, needs to be
sent \E&a12c03Y padded for 6 milliseconds. Note that the order of the
rows and columns is inverted here, and that the row and column are
- printed as two digits. Thus its <STRONG>cup</STRONG> capability is
+ printed as two digits. Thus its <B>cup</B> capability is
"cup=6\E&%p2%2dc%p1%2dY".
The Microterm ACT-IV needs the current row and column sent preceded by
- a <STRONG>^T</STRONG>, with the row and column simply encoded in binary,
+ a <B>^T</B>, with the row and column simply encoded in binary,
"cup=^T%p1%c%p2%c". Terminals which use "%c" need to be able to
- backspace the cursor (<STRONG>cub1</STRONG>), and to move the cursor up one line on the
- screen (<STRONG>cuu1</STRONG>). This is necessary because it is not always safe to
- transmit <STRONG>\n</STRONG> <STRONG>^D</STRONG> and <STRONG>\r</STRONG>, as the system may change or discard them. (The
+ backspace the cursor (<B>cub1</B>), and to move the cursor up one line on the
+ screen (<B>cuu1</B>). This is necessary because it is not always safe to
+ transmit <B>\n</B> <B>^D</B> and <B>\r</B>, as the system may change or discard them. (The
library routines dealing with terminfo set tty modes so that tabs are
never expanded, so \t is safe to send. This turns out to be essential
for the Ann Arbor 4080.)
</PRE><H3><a name="h3-Cursor-Motions">Cursor Motions</a></H3><PRE>
If the terminal has a fast way to home the cursor (to very upper left
- corner of screen) then this can be given as <STRONG>home</STRONG>; similarly a fast way
- of getting to the lower left-hand corner can be given as <STRONG>ll</STRONG>; this may
- involve going up with <STRONG>cuu1</STRONG> from the home position, but a program should
- never do this itself (unless <STRONG>ll</STRONG> does) because it can make no assumption
+ corner of screen) then this can be given as <B>home</B>; similarly a fast way
+ of getting to the lower left-hand corner can be given as <B>ll</B>; this may
+ involve going up with <B>cuu1</B> from the home position, but a program should
+ never do this itself (unless <B>ll</B> does) because it can make no assumption
about the effect of moving up from the home position. Note that the
home position is the same as addressing to (0,0): to the top left
corner of the screen, not of memory. (Thus, the \EH sequence on HP
- terminals cannot be used for <STRONG>home</STRONG>.)
+ terminals cannot be used for <B>home</B>.)
If the terminal has row or column absolute cursor addressing, these can
- be given as single parameter capabilities <STRONG>hpa</STRONG> (horizontal position
- absolute) and <STRONG>vpa</STRONG> (vertical position absolute). Sometimes these are
+ be given as single parameter capabilities <B>hpa</B> (horizontal position
+ absolute) and <B>vpa</B> (vertical position absolute). Sometimes these are
shorter than the more general two parameter sequence (as with the
- hp2645) and can be used in preference to <STRONG>cup</STRONG>. If there are
- parameterized local motions (e.g., move <EM>n</EM> spaces to the right) these
- can be given as <STRONG>cud</STRONG>, <STRONG>cub</STRONG>, <STRONG>cuf</STRONG>, and <STRONG>cuu</STRONG> with a single parameter
+ hp2645) and can be used in preference to <B>cup</B>. If there are
+ parameterized local motions (e.g., move <I>n</I> spaces to the right) these
+ can be given as <B>cud</B>, <B>cub</B>, <B>cuf</B>, and <B>cuu</B> with a single parameter
indicating how many spaces to move. These are primarily useful if the
- terminal does not have <STRONG>cup</STRONG>, such as the TEKTRONIX 4025.
+ terminal does not have <B>cup</B>, such as the TEKTRONIX 4025.
If the terminal needs to be in a special mode when running a program
that uses these capabilities, the codes to enter and exit this mode can
- be given as <STRONG>smcup</STRONG> and <STRONG>rmcup</STRONG>. This arises, for example, from terminals
+ be given as <B>smcup</B> and <B>rmcup</B>. This arises, for example, from terminals
like the Concept with more than one page of memory. If the terminal
has only memory relative cursor addressing and not screen relative
cursor addressing, a one screen-sized window must be fixed into the
terminal for cursor addressing to work properly. This is also used for
- the TEKTRONIX 4025, where <STRONG>smcup</STRONG> sets the command character to be the
- one used by terminfo. If the <STRONG>smcup</STRONG> sequence will not restore the
- screen after an <STRONG>rmcup</STRONG> sequence is output (to the state prior to
- outputting <STRONG>rmcup</STRONG>), specify <STRONG>nrrmc</STRONG>.
+ the TEKTRONIX 4025, where <B>smcup</B> sets the command character to be the
+ one used by terminfo. If the <B>smcup</B> sequence will not restore the
+ screen after an <B>rmcup</B> sequence is output (to the state prior to
+ outputting <B>rmcup</B>), specify <B>nrrmc</B>.
</PRE><H3><a name="h3-Area-Clears">Area Clears</a></H3><PRE>
If the terminal can clear from the current position to the end of the
- line, leaving the cursor where it is, this should be given as <STRONG>el</STRONG>. If
+ line, leaving the cursor where it is, this should be given as <B>el</B>. If
the terminal can clear from the beginning of the line to the current
position inclusive, leaving the cursor where it is, this should be
- given as <STRONG>el1</STRONG>. If the terminal can clear from the current position to
- the end of the display, then this should be given as <STRONG>ed</STRONG>. <STRONG>Ed</STRONG> is only
+ given as <B>el1</B>. If the terminal can clear from the current position to
+ the end of the display, then this should be given as <B>ed</B>. <B>Ed</B> is only
defined from the first column of a line. (Thus, it can be simulated by
- a request to delete a large number of lines, if a true <STRONG>ed</STRONG> is not
+ a request to delete a large number of lines, if a true <B>ed</B> is not
available.)
</PRE><H3><a name="h3-Insert_delete-line-and-vertical-motions">Insert/delete line and vertical motions</a></H3><PRE>
If the terminal can open a new blank line before the line where the
- cursor is, this should be given as <STRONG>il1</STRONG>; this is done only from the
+ cursor is, this should be given as <B>il1</B>; this is done only from the
first position of a line. The cursor must then appear on the newly
blank line. If the terminal can delete the line which the cursor is
- on, then this should be given as <STRONG>dl1</STRONG>; this is done only from the first
- position on the line to be deleted. Versions of <STRONG>il1</STRONG> and <STRONG>dl1</STRONG> which take
+ on, then this should be given as <B>dl1</B>; this is done only from the first
+ position on the line to be deleted. Versions of <B>il1</B> and <B>dl1</B> which take
a single parameter and insert or delete that many lines can be given as
- <STRONG>il</STRONG> and <STRONG>dl</STRONG>.
+ <B>il</B> and <B>dl</B>.
If the terminal has a settable scrolling region (like the vt100) the
- command to set this can be described with the <STRONG>csr</STRONG> capability, which
+ command to set this can be described with the <B>csr</B> capability, which
takes two parameters: the top and bottom lines of the scrolling region.
The cursor position is, alas, undefined after using this command.
- It is possible to get the effect of insert or delete line using <STRONG>csr</STRONG> on
- a properly chosen region; the <STRONG>sc</STRONG> and <STRONG>rc</STRONG> (save and restore cursor)
+ It is possible to get the effect of insert or delete line using <B>csr</B> on
+ a properly chosen region; the <B>sc</B> and <B>rc</B> (save and restore cursor)
commands may be useful for ensuring that your synthesized insert/delete
- string does not move the cursor. (Note that the <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> library
+ string does not move the cursor. (Note that the <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B> library
does this synthesis automatically, so you need not compose
- insert/delete strings for an entry with <STRONG>csr</STRONG>).
+ insert/delete strings for an entry with <B>csr</B>).
Yet another way to construct insert and delete might be to use a
combination of index with the memory-lock feature found on some
insert/delete).
Inserting lines at the top or bottom of the screen can also be done
- using <STRONG>ri</STRONG> or <STRONG>ind</STRONG> on many terminals without a true insert/delete line,
+ using <B>ri</B> or <B>ind</B> on many terminals without a true insert/delete line,
and is often faster even on terminals with those features.
- The boolean <STRONG>non_dest_scroll_region</STRONG> should be set if each scrolling
+ The boolean <B>non_dest_scroll_region</B> should be set if each scrolling
window is effectively a view port on a screen-sized canvas. To test
for this capability, create a scrolling region in the middle of the
screen, write something to the bottom line, move the cursor to the top
- of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled
- off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is
- non-destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
- and <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation
- cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
+ of the region, and do <B>ri</B> followed by <B>dl1</B> or <B>ind</B>. If the data scrolled
+ off the bottom of the region by the <B>ri</B> re-appears, then scrolling is
+ non-destructive. System V and XSI Curses expect that <B>ind</B>, <B>ri</B>, <B>indn</B>,
+ and <B>rin</B> will simulate destructive scrolling; their documentation
+ cautions you not to define <B>csr</B> unless this is true. This <B>curses</B>
implementation is more liberal and will do explicit erases after
- scrolling if <STRONG>ndsrc</STRONG> is defined.
+ scrolling if <B>ndsrc</B> is defined.
If the terminal has the ability to define a window as part of memory,
which all commands affect, it should be given as the parameterized
- string <STRONG>wind</STRONG>. The four parameters are the starting and ending lines in
+ string <B>wind</B>. The four parameters are the starting and ending lines in
memory and the starting and ending columns in memory, in that order.
- If the terminal can retain display memory above, then the <STRONG>da</STRONG> capability
- should be given; if display memory can be retained below, then <STRONG>db</STRONG>
+ If the terminal can retain display memory above, then the <B>da</B> capability
+ should be given; if display memory can be retained below, then <B>db</B>
should be given. These indicate that deleting a line or scrolling may
- bring non-blank lines up from below or that scrolling back with <STRONG>ri</STRONG> may
+ bring non-blank lines up from below or that scrolling back with <B>ri</B> may
bring down non-blank lines.
</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
There are two basic kinds of intelligent terminals with respect to
- insert/delete character which can be described using <EM>terminfo.</EM> The
+ insert/delete character which can be described using <I>terminfo.</I> The
most common insert/delete character operations affect only the
characters on the current line and shift characters off the end of the
line rigidly. Other terminals, such as the Concept 100 and the Perkin
does not distinguish between blanks and untyped positions. If the
"abc" shifts over to the "def" which then move together around the end
of the current line and onto the next as you insert, you have the
- second type of terminal, and should give the capability <STRONG>in</STRONG>, which
+ second type of terminal, and should give the capability <B>in</B>, which
stands for "insert null".
While these are two logically separate attributes (one line versus
Terminfo can describe both terminals which have an insert mode, and
terminals which send a simple sequence to open a blank position on the
- current line. Give as <STRONG>smir</STRONG> the sequence to get into insert mode. Give
- as <STRONG>rmir</STRONG> the sequence to leave insert mode. Now give as <STRONG>ich1</STRONG> any
+ current line. Give as <B>smir</B> the sequence to get into insert mode. Give
+ as <B>rmir</B> the sequence to leave insert mode. Now give as <B>ich1</B> any
sequence needed to be sent just before sending the character to be
- inserted. Most terminals with a true insert mode will not give <STRONG>ich1</STRONG>;
+ inserted. Most terminals with a true insert mode will not give <B>ich1</B>;
terminals which send a sequence to open a screen position should give
it here.
- If your terminal has both, insert mode is usually preferable to <STRONG>ich1</STRONG>.
+ If your terminal has both, insert mode is usually preferable to <B>ich1</B>.
Technically, you should not give both unless the terminal actually
requires both to be used in combination. Accordingly, some non-curses
applications get confused if both are present; the symptom is doubled
characters in an update using insert. This requirement is now rare;
- most <STRONG>ich</STRONG> sequences do not require previous smir, and most smir insert
- modes do not require <STRONG>ich1</STRONG> before each character. Therefore, the new
- <STRONG>curses</STRONG> actually assumes this is the case and uses either <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> or
- <STRONG>ich</STRONG>/<STRONG>ich1</STRONG> as appropriate (but not both). If you have to write an entry
+ most <B>ich</B> sequences do not require previous smir, and most smir insert
+ modes do not require <B>ich1</B> before each character. Therefore, the new
+ <B>curses</B> actually assumes this is the case and uses either <B>rmir</B>/<B>smir</B> or
+ <B>ich</B>/<B>ich1</B> as appropriate (but not both). If you have to write an entry
to be used under new curses for a terminal old enough to need both,
- include the <STRONG>rmir</STRONG>/<STRONG>smir</STRONG> sequences in <STRONG>ich1</STRONG>.
+ include the <B>rmir</B>/<B>smir</B> sequences in <B>ich1</B>.
If post insert padding is needed, give this as a number of milliseconds
- in <STRONG>ip</STRONG> (a string option). Any other sequence which may need to be sent
- after an insert of a single character may also be given in <STRONG>ip</STRONG>. If your
+ in <B>ip</B> (a string option). Any other sequence which may need to be sent
+ after an insert of a single character may also be given in <B>ip</B>. If your
terminal needs both to be placed into an "insert mode" and a special
- code to precede each inserted character, then both <STRONG>smir</STRONG>/<STRONG>rmir</STRONG> and <STRONG>ich1</STRONG>
- can be given, and both will be used. The <STRONG>ich</STRONG> capability, with one
- parameter, <EM>n</EM>, will repeat the effects of <STRONG>ich1</STRONG> <EM>n</EM> times.
+ code to precede each inserted character, then both <B>smir</B>/<B>rmir</B> and <B>ich1</B>
+ can be given, and both will be used. The <B>ich</B> capability, with one
+ parameter, <I>n</I>, will repeat the effects of <B>ich1</B> <I>n</I> times.
If padding is necessary between characters typed while not in insert
- mode, give this as a number of milliseconds padding in <STRONG>rmp</STRONG>.
+ mode, give this as a number of milliseconds padding in <B>rmp</B>.
It is occasionally necessary to move around while in insert mode to
delete characters on the same line (e.g., if there is a tab after the
insertion position). If your terminal allows motion while in insert
- mode you can give the capability <STRONG>mir</STRONG> to speed up inserting in this
- case. Omitting <STRONG>mir</STRONG> will affect only speed. Some terminals (notably
- Datamedia's) must not have <STRONG>mir</STRONG> because of the way their insert mode
+ mode you can give the capability <B>mir</B> to speed up inserting in this
+ case. Omitting <B>mir</B> will affect only speed. Some terminals (notably
+ Datamedia's) must not have <B>mir</B> because of the way their insert mode
works.
- Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
- one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
- <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
- needs to be placed in for <STRONG>dch1</STRONG> to work).
+ Finally, you can specify <B>dch1</B> to delete a single character, <B>dch</B> with
+ one parameter, <I>n</I>, to delete <I>n</I> <I>characters,</I> and delete mode by giving
+ <B>smdc</B> and <B>rmdc</B> to enter and exit delete mode (any mode the terminal
+ needs to be placed in for <B>dch1</B> to work).
- A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
- without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
+ A command to erase <I>n</I> characters (equivalent to outputting <I>n</I> blanks
+ without moving the cursor) can be given as <B>ech</B> with one parameter.
</PRE><H3><a name="h3-Highlighting_-Underlining_-and-Visible-Bells">Highlighting, Underlining, and Visible Bells</a></H3><PRE>
If your terminal has one or more kinds of display attributes, these can
be represented in a number of different ways. You should choose one
- display form as <EM>standout</EM> <EM>mode</EM>, representing a good, high contrast,
+ display form as <I>standout</I> <I>mode</I>, representing a good, high contrast,
easy-on-the-eyes, format for highlighting error messages and other
attention getters. (If you have a choice, reverse video plus half-
bright is good, or reverse video alone.) The sequences to enter and
- exit standout mode are given as <STRONG>smso</STRONG> and <STRONG>rmso</STRONG>, respectively. If the
+ exit standout mode are given as <B>smso</B> and <B>rmso</B>, respectively. If the
code to change into or out of standout mode leaves one or even two
blank spaces on the screen, as the TVI 912 and Teleray 1061 do, then
- <STRONG>xmc</STRONG> should be given to tell how many spaces are left.
+ <B>xmc</B> should be given to tell how many spaces are left.
- Codes to begin underlining and end underlining can be given as <STRONG>smul</STRONG> and
- <STRONG>rmul</STRONG> respectively. If the terminal has a code to underline the current
+ Codes to begin underlining and end underlining can be given as <B>smul</B> and
+ <B>rmul</B> respectively. If the terminal has a code to underline the current
character and move the cursor one space to the right, such as the
- Microterm Mime, this can be given as <STRONG>uc</STRONG>.
+ Microterm Mime, this can be given as <B>uc</B>.
- Other capabilities to enter various highlighting modes include <STRONG>blink</STRONG>
- (blinking) <STRONG>bold</STRONG> (bold or extra bright) <STRONG>dim</STRONG> (dim or half-bright) <STRONG>invis</STRONG>
- (blanking or invisible text) <STRONG>prot</STRONG> (protected) <STRONG>rev</STRONG> (reverse video) <STRONG>sgr0</STRONG>
- (turn off <EM>all</EM> attribute modes) <STRONG>smacs</STRONG> (enter alternate character set
- mode) and <STRONG>rmacs</STRONG> (exit alternate character set mode). Turning on any of
+ Other capabilities to enter various highlighting modes include <B>blink</B>
+ (blinking) <B>bold</B> (bold or extra bright) <B>dim</B> (dim or half-bright) <B>invis</B>
+ (blanking or invisible text) <B>prot</B> (protected) <B>rev</B> (reverse video) <B>sgr0</B>
+ (turn off <I>all</I> attribute modes) <B>smacs</B> (enter alternate character set
+ mode) and <B>rmacs</B> (exit alternate character set mode). Turning on any of
these modes singly may or may not turn off other modes.
If there is a sequence to set arbitrary combinations of modes, this
- should be given as <STRONG>sgr</STRONG> (set attributes), taking 9 parameters. Each
+ should be given as <B>sgr</B> (set attributes), taking 9 parameters. Each
parameter is either 0 or nonzero, as the corresponding attribute is on
or off. The 9 parameters are, in order: standout, underline, reverse,
blink, dim, bold, blank, protect, alternate character set. Not all
- modes need be supported by <STRONG>sgr</STRONG>, only those for which corresponding
+ modes need be supported by <B>sgr</B>, only those for which corresponding
separate attribute commands exist.
For example, the DEC vt220 supports most of the modes:
- <STRONG>tparm</STRONG> <STRONG>parameter</STRONG> <STRONG>attribute</STRONG> <STRONG>escape</STRONG> <STRONG>sequence</STRONG>
+ <B>tparm</B> <B>parameter</B> <B>attribute</B> <B>escape</B> <B>sequence</B>
none none \E[0m
p1 standout \E[0;1;7m
Writing out the above sequences, along with their dependencies yields
- <STRONG>sequence</STRONG> <STRONG>when</STRONG> <STRONG>to</STRONG> <STRONG>output</STRONG> <STRONG>terminfo</STRONG> <STRONG>translation</STRONG>
+ <B>sequence</B> <B>when</B> <B>to</B> <B>output</B> <B>terminfo</B> <B>translation</B>
\E[0 always \E[0
;1 if p1 or p6 %?%p1%p6%|%t;1%;
string. The only drawback to adding an sgr string is that termcap also
assumes that sgr0 does not exit alternate character set mode.
- Terminals with the "magic cookie" glitch (<STRONG>xmc</STRONG>) deposit special
+ Terminals with the "magic cookie" glitch (<B>xmc</B>) deposit special
"cookies" when they receive mode-setting sequences, which affect the
display algorithm rather than having extra bits for each character.
Some terminals, such as the HP 2621, automatically leave standout mode
when they move to a new line or the cursor is addressed. Programs
using standout mode should exit standout mode before moving the cursor
- or sending a newline, unless the <STRONG>msgr</STRONG> capability, asserting that it is
+ or sending a newline, unless the <B>msgr</B> capability, asserting that it is
safe to move in standout mode, is present.
If the terminal has a way of flashing the screen to indicate an error
- quietly (a bell replacement) then this can be given as <STRONG>flash</STRONG>; it must
+ quietly (a bell replacement) then this can be given as <B>flash</B>; it must
not move the cursor.
If the cursor needs to be made more visible than normal when it is not
on the bottom line (to make, for example, a non-blinking underline into
an easier to find block or blinking underline) give this sequence as
- <STRONG>cvvis</STRONG>. If there is a way to make the cursor completely invisible, give
- that as <STRONG>civis</STRONG>. The capability <STRONG>cnorm</STRONG> should be given which undoes the
+ <B>cvvis</B>. If there is a way to make the cursor completely invisible, give
+ that as <B>civis</B>. The capability <B>cnorm</B> should be given which undoes the
effects of both of these modes.
If your terminal correctly generates underlined characters (with no
special codes needed) even though it does not overstrike, then you
- should give the capability <STRONG>ul</STRONG>. If a character overstriking another
- leaves both characters on the screen, specify the capability <STRONG>os</STRONG>. If
+ should give the capability <B>ul</B>. If a character overstriking another
+ leaves both characters on the screen, specify the capability <B>os</B>. If
overstrikes are erasable with a blank, then this should be indicated by
- giving <STRONG>eo</STRONG>.
+ giving <B>eo</B>.
</PRE><H3><a name="h3-Keypad-and-Function-Keys">Keypad and Function Keys</a></H3><PRE>
pressed, this information can be given. Note that it is not possible
to handle terminals where the keypad only works in local (this applies,
for example, to the unshifted HP 2621 keys). If the keypad can be set
- to transmit or not transmit, give these codes as <STRONG>smkx</STRONG> and <STRONG>rmkx</STRONG>.
+ to transmit or not transmit, give these codes as <B>smkx</B> and <B>rmkx</B>.
Otherwise the keypad is assumed to always transmit.
The codes sent by the left arrow, right arrow, up arrow, down arrow,
- and home keys can be given as <STRONG>kcub1,</STRONG> <STRONG>kcuf1,</STRONG> <STRONG>kcuu1,</STRONG> <STRONG>kcud1,</STRONG> and <STRONG>khome</STRONG>
+ and home keys can be given as <B>kcub1,</B> <B>kcuf1,</B> <B>kcuu1,</B> <B>kcud1,</B> and <B>khome</B>
respectively. If there are function keys such as f0, f1, ..., f10, the
- codes they send can be given as <STRONG>kf0,</STRONG> <STRONG>kf1,</STRONG> <STRONG>...,</STRONG> <STRONG>kf10</STRONG>. If these keys
+ codes they send can be given as <B>kf0,</B> <B>kf1,</B> <B>...,</B> <B>kf10</B>. If these keys
have labels other than the default f0 through f10, the labels can be
- given as <STRONG>lf0,</STRONG> <STRONG>lf1,</STRONG> <STRONG>...,</STRONG> <STRONG>lf10</STRONG>.
+ given as <B>lf0,</B> <B>lf1,</B> <B>...,</B> <B>lf10</B>.
The codes transmitted by certain other special keys can be given:
- <STRONG>o</STRONG> <STRONG>kll</STRONG> (home down),
+ <B>o</B> <B>kll</B> (home down),
- <STRONG>o</STRONG> <STRONG>kbs</STRONG> (backspace),
+ <B>o</B> <B>kbs</B> (backspace),
- <STRONG>o</STRONG> <STRONG>ktbc</STRONG> (clear all tabs),
+ <B>o</B> <B>ktbc</B> (clear all tabs),
- <STRONG>o</STRONG> <STRONG>kctab</STRONG> (clear the tab stop in this column),
+ <B>o</B> <B>kctab</B> (clear the tab stop in this column),
- <STRONG>o</STRONG> <STRONG>kclr</STRONG> (clear screen or erase key),
+ <B>o</B> <B>kclr</B> (clear screen or erase key),
- <STRONG>o</STRONG> <STRONG>kdch1</STRONG> (delete character),
+ <B>o</B> <B>kdch1</B> (delete character),
- <STRONG>o</STRONG> <STRONG>kdl1</STRONG> (delete line),
+ <B>o</B> <B>kdl1</B> (delete line),
- <STRONG>o</STRONG> <STRONG>krmir</STRONG> (exit insert mode),
+ <B>o</B> <B>krmir</B> (exit insert mode),
- <STRONG>o</STRONG> <STRONG>kel</STRONG> (clear to end of line),
+ <B>o</B> <B>kel</B> (clear to end of line),
- <STRONG>o</STRONG> <STRONG>ked</STRONG> (clear to end of screen),
+ <B>o</B> <B>ked</B> (clear to end of screen),
- <STRONG>o</STRONG> <STRONG>kich1</STRONG> (insert character or enter insert mode),
+ <B>o</B> <B>kich1</B> (insert character or enter insert mode),
- <STRONG>o</STRONG> <STRONG>kil1</STRONG> (insert line),
+ <B>o</B> <B>kil1</B> (insert line),
- <STRONG>o</STRONG> <STRONG>knp</STRONG> (next page),
+ <B>o</B> <B>knp</B> (next page),
- <STRONG>o</STRONG> <STRONG>kpp</STRONG> (previous page),
+ <B>o</B> <B>kpp</B> (previous page),
- <STRONG>o</STRONG> <STRONG>kind</STRONG> (scroll forward/down),
+ <B>o</B> <B>kind</B> (scroll forward/down),
- <STRONG>o</STRONG> <STRONG>kri</STRONG> (scroll backward/up),
+ <B>o</B> <B>kri</B> (scroll backward/up),
- <STRONG>o</STRONG> <STRONG>khts</STRONG> (set a tab stop in this column).
+ <B>o</B> <B>khts</B> (set a tab stop in this column).
In addition, if the keypad has a 3 by 3 array of keys including the
- four arrow keys, the other five keys can be given as <STRONG>ka1</STRONG>, <STRONG>ka3</STRONG>, <STRONG>kb2</STRONG>,
- <STRONG>kc1</STRONG>, and <STRONG>kc3</STRONG>. These keys are useful when the effects of a 3 by 3
+ four arrow keys, the other five keys can be given as <B>ka1</B>, <B>ka3</B>, <B>kb2</B>,
+ <B>kc1</B>, and <B>kc3</B>. These keys are useful when the effects of a 3 by 3
directional pad are needed.
- Strings to program function keys can be given as <STRONG>pfkey</STRONG>, <STRONG>pfloc</STRONG>, and <STRONG>pfx</STRONG>.
- A string to program screen labels should be specified as <STRONG>pln</STRONG>. Each of
+ Strings to program function keys can be given as <B>pfkey</B>, <B>pfloc</B>, and <B>pfx</B>.
+ A string to program screen labels should be specified as <B>pln</B>. Each of
these strings takes two parameters: the function key number to program
(from 0 to 10) and the string to program it with. Function key numbers
out of this range may program undefined keys in a terminal dependent
- manner. The difference between the capabilities is that <STRONG>pfkey</STRONG> causes
+ manner. The difference between the capabilities is that <B>pfkey</B> causes
pressing the given key to be the same as the user typing the given
- string; <STRONG>pfloc</STRONG> causes the string to be executed by the terminal in
- local; and <STRONG>pfx</STRONG> causes the string to be transmitted to the computer.
+ string; <B>pfloc</B> causes the string to be executed by the terminal in
+ local; and <B>pfx</B> causes the string to be transmitted to the computer.
- The capabilities <STRONG>nlab</STRONG>, <STRONG>lw</STRONG> and <STRONG>lh</STRONG> define the number of programmable
+ The capabilities <B>nlab</B>, <B>lw</B> and <B>lh</B> define the number of programmable
screen labels and their width and height. If there are commands to
- turn the labels on and off, give them in <STRONG>smln</STRONG> and <STRONG>rmln</STRONG>. <STRONG>smln</STRONG> is
+ turn the labels on and off, give them in <B>smln</B> and <B>rmln</B>. <B>smln</B> is
normally output after one or more pln sequences to make sure that the
change becomes visible.
</PRE><H3><a name="h3-Tabs-and-Initialization">Tabs and Initialization</a></H3><PRE>
A few capabilities are used only for tabs:
- <STRONG>o</STRONG> If the terminal has hardware tabs, the command to advance to the
- next tab stop can be given as <STRONG>ht</STRONG> (usually control/I).
+ <B>o</B> If the terminal has hardware tabs, the command to advance to the
+ next tab stop can be given as <B>ht</B> (usually control/I).
- <STRONG>o</STRONG> A "back-tab" command which moves leftward to the preceding tab stop
- can be given as <STRONG>cbt</STRONG>.
+ <B>o</B> A "back-tab" command which moves leftward to the preceding tab stop
+ can be given as <B>cbt</B>.
By convention, if the teletype modes indicate that tabs are being
expanded by the computer rather than being sent to the terminal,
- programs should not use <STRONG>ht</STRONG> or <STRONG>cbt</STRONG> even if they are present, since
+ programs should not use <B>ht</B> or <B>cbt</B> even if they are present, since
the user may not have the tab stops properly set.
- <STRONG>o</STRONG> If the terminal has hardware tabs which are initially set every <EM>n</EM>
- spaces when the terminal is powered up, the numeric parameter <STRONG>it</STRONG> is
+ <B>o</B> If the terminal has hardware tabs which are initially set every <I>n</I>
+ spaces when the terminal is powered up, the numeric parameter <B>it</B> is
given, showing the number of spaces the tabs are set to.
- The <STRONG>it</STRONG> capability is normally used by the <STRONG>tset</STRONG> command to determine
+ The <B>it</B> capability is normally used by the <B>tset</B> command to determine
whether to set the mode for hardware tab expansion, and whether to
set the tab stops. If the terminal has tab stops that can be saved
in non-volatile memory, the terminfo description can assume that
Other capabilities include
- <STRONG>o</STRONG> <STRONG>is1</STRONG>, <STRONG>is2</STRONG>, and <STRONG>is3</STRONG>, initialization strings for the terminal,
+ <B>o</B> <B>is1</B>, <B>is2</B>, and <B>is3</B>, initialization strings for the terminal,
- <STRONG>o</STRONG> <STRONG>iprog</STRONG>, the path name of a program to be run to initialize the
+ <B>o</B> <B>iprog</B>, the path name of a program to be run to initialize the
terminal,
- <STRONG>o</STRONG> and <STRONG>if</STRONG>, the name of a file containing long initialization strings.
+ <B>o</B> and <B>if</B>, the name of a file containing long initialization strings.
These strings are expected to set the terminal into modes consistent
with the rest of the terminfo description. They are normally sent to
- the terminal, by the <EM>init</EM> option of the <STRONG>tput</STRONG> program, each time the
+ the terminal, by the <I>init</I> option of the <B>tput</B> program, each time the
user logs in. They will be printed in the following order:
run the program
- <STRONG>iprog</STRONG>
+ <B>iprog</B>
output
- <STRONG>is1</STRONG> and
- <STRONG>is2</STRONG>
+ <B>is1</B> and
+ <B>is2</B>
set the margins using
- <STRONG>mgc</STRONG> or
- <STRONG>smglp</STRONG> and <STRONG>smgrp</STRONG> or
- <STRONG>smgl</STRONG> and <STRONG>smgr</STRONG>
+ <B>mgc</B> or
+ <B>smglp</B> and <B>smgrp</B> or
+ <B>smgl</B> and <B>smgr</B>
set tabs using
- <STRONG>tbc</STRONG> and <STRONG>hts</STRONG>
+ <B>tbc</B> and <B>hts</B>
print the file
- <STRONG>if</STRONG>
+ <B>if</B>
and finally output
- <STRONG>is3</STRONG>.
+ <B>is3</B>.
- Most initialization is done with <STRONG>is2</STRONG>. Special terminal modes can be
+ Most initialization is done with <B>is2</B>. Special terminal modes can be
set up without duplicating strings by putting the common sequences in
- <STRONG>is2</STRONG> and special cases in <STRONG>is1</STRONG> and <STRONG>is3</STRONG>.
+ <B>is2</B> and special cases in <B>is1</B> and <B>is3</B>.
A set of sequences that does a harder reset from a totally unknown
- state can be given as <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rf</STRONG> and <STRONG>rs3</STRONG>, analogous to <STRONG>is1</STRONG> <STRONG>,</STRONG> <STRONG>is2</STRONG> <STRONG>,</STRONG> <STRONG>if</STRONG>
- and <STRONG>is3</STRONG> respectively. These strings are output by <EM>reset</EM> option of
- <STRONG>tput</STRONG>, or by the <STRONG>reset</STRONG> program (an alias of <STRONG>tset</STRONG>), which is used when
+ state can be given as <B>rs1</B>, <B>rs2</B>, <B>rf</B> and <B>rs3</B>, analogous to <B>is1</B> <B>,</B> <B>is2</B> <B>,</B> <B>if</B>
+ and <B>is3</B> respectively. These strings are output by <I>reset</I> option of
+ <B>tput</B>, or by the <B>reset</B> program (an alias of <B>tset</B>), which is used when
the terminal gets into a wedged state. Commands are normally placed in
- <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG> <STRONG>rs3</STRONG> and <STRONG>rf</STRONG> only if they produce annoying effects on the screen
+ <B>rs1</B>, <B>rs2</B> <B>rs3</B> and <B>rf</B> only if they produce annoying effects on the screen
and are not necessary when logging in. For example, the command to set
- the vt100 into 80-column mode would normally be part of <STRONG>is2</STRONG>, but it
+ the vt100 into 80-column mode would normally be part of <B>is2</B>, but it
causes an annoying glitch of the screen and is not normally needed
since the terminal is usually already in 80-column mode.
- The <STRONG>reset</STRONG> program writes strings including <STRONG>iprog</STRONG>, etc., in the same
- order as the <EM>init</EM> program, using <STRONG>rs1</STRONG>, etc., instead of <STRONG>is1</STRONG>, etc. If
- any of <STRONG>rs1</STRONG>, <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, or <STRONG>rf</STRONG> reset capability strings are missing, the
- <STRONG>reset</STRONG> program falls back upon the corresponding initialization
+ The <B>reset</B> program writes strings including <B>iprog</B>, etc., in the same
+ order as the <I>init</I> program, using <B>rs1</B>, etc., instead of <B>is1</B>, etc. If
+ any of <B>rs1</B>, <B>rs2</B>, <B>rs3</B>, or <B>rf</B> reset capability strings are missing, the
+ <B>reset</B> program falls back upon the corresponding initialization
capability string.
If there are commands to set and clear tab stops, they can be given as
- <STRONG>tbc</STRONG> (clear all tab stops) and <STRONG>hts</STRONG> (set a tab stop in the current column
+ <B>tbc</B> (clear all tab stops) and <B>hts</B> (set a tab stop in the current column
of every row). If a more complex sequence is needed to set the tabs
- than can be described by this, the sequence can be placed in <STRONG>is2</STRONG> or <STRONG>if</STRONG>.
+ than can be described by this, the sequence can be placed in <B>is2</B> or <B>if</B>.
- The <STRONG>tput</STRONG> <STRONG>reset</STRONG> command uses the same capability strings as the <STRONG>reset</STRONG>
- command, although the two programs (<STRONG>tput</STRONG> and <STRONG>reset</STRONG>) provide different
+ The <B>tput</B> <B>reset</B> command uses the same capability strings as the <B>reset</B>
+ command, although the two programs (<B>tput</B> and <B>reset</B>) provide different
command-line options.
In practice, these terminfo capabilities are not often used in
- initialization of tabs (though they are required for the <STRONG>tabs</STRONG> program):
+ initialization of tabs (though they are required for the <B>tabs</B> program):
- <STRONG>o</STRONG> Almost all hardware terminals (at least those which supported tabs)
- initialized those to every <EM>eight</EM> columns:
+ <B>o</B> Almost all hardware terminals (at least those which supported tabs)
+ initialized those to every <I>eight</I> columns:
The only exception was the AT&T 2300 series, which set tabs to
- every <EM>five</EM> columns.
+ every <I>five</I> columns.
- <STRONG>o</STRONG> In particular, developers of the hardware terminals which are
+ <B>o</B> In particular, developers of the hardware terminals which are
commonly used as models for modern terminal emulators provided
- documentation demonstrating that <EM>eight</EM> columns were the standard.
+ documentation demonstrating that <I>eight</I> columns were the standard.
- <STRONG>o</STRONG> Because of this, the terminal initialization programs <STRONG>tput</STRONG> and <STRONG>tset</STRONG>
- use the <STRONG>tbc</STRONG> (<STRONG>clear_all_tabs</STRONG>) and <STRONG>hts</STRONG> (<STRONG>set_tab</STRONG>) capabilities
- directly only when the <STRONG>it</STRONG> (<STRONG>init_tabs</STRONG>) capability is set to a value
- other than <EM>eight</EM>.
+ <B>o</B> Because of this, the terminal initialization programs <B>tput</B> and <B>tset</B>
+ use the <B>tbc</B> (<B>clear_all_tabs</B>) and <B>hts</B> (<B>set_tab</B>) capabilities
+ directly only when the <B>it</B> (<B>init_tabs</B>) capability is set to a value
+ other than <I>eight</I>.
</PRE><H3><a name="h3-Delays-and-Padding">Delays and Padding</a></H3><PRE>
If the terminal uses xon/xoff handshaking for flow control (that is, it
automatically emits ^S back to the host when its input buffers are
- close to full), set <STRONG>xon</STRONG>. This capability suppresses the emission of
+ close to full), set <B>xon</B>. This capability suppresses the emission of
padding. You can also set it for memory-mapped console devices
effectively that do not have a speed limit. Padding information should
still be included so that routines can make better decisions about
relative costs, but actual pad characters will not be transmitted.
- If <STRONG>pb</STRONG> (padding baud rate) is given, padding is suppressed at baud rates
- below the value of <STRONG>pb</STRONG>. If the entry has no padding baud rate, then
- whether padding is emitted or not is completely controlled by <STRONG>xon</STRONG>.
+ If <B>pb</B> (padding baud rate) is given, padding is suppressed at baud rates
+ below the value of <B>pb</B>. If the entry has no padding baud rate, then
+ whether padding is emitted or not is completely controlled by <B>xon</B>.
If the terminal requires other than a null (zero) character as a pad,
- then this can be given as <STRONG>pad</STRONG>. Only the first character of the <STRONG>pad</STRONG>
+ then this can be given as <B>pad</B>. Only the first character of the <B>pad</B>
string is used.
</PRE><H3><a name="h3-Status-Lines">Status Lines</a></H3><PRE>
Some terminals have an extra "status line" which is not normally used
- by software (and thus not counted in the terminal's <STRONG>lines</STRONG> capability).
+ by software (and thus not counted in the terminal's <B>lines</B> capability).
The simplest case is a status line which is cursor-addressable but not
part of the main scrolling region on the screen; the Heathkit H19 has a
status line of this kind, as would a 24-line VT100 with a 23-line
scrolling region set up on initialization. This situation is indicated
- by the <STRONG>hs</STRONG> capability.
+ by the <B>hs</B> capability.
Some terminals with status lines need special sequences to access the
status line. These may be expressed as a string with single parameter
- <STRONG>tsl</STRONG> which takes the cursor to a given zero-origin column on the status
- line. The capability <STRONG>fsl</STRONG> must return to the main-screen cursor
- positions before the last <STRONG>tsl</STRONG>. You may need to embed the string values
- of <STRONG>sc</STRONG> (save cursor) and <STRONG>rc</STRONG> (restore cursor) in <STRONG>tsl</STRONG> and <STRONG>fsl</STRONG> to
+ <B>tsl</B> which takes the cursor to a given zero-origin column on the status
+ line. The capability <B>fsl</B> must return to the main-screen cursor
+ positions before the last <B>tsl</B>. You may need to embed the string values
+ of <B>sc</B> (save cursor) and <B>rc</B> (restore cursor) in <B>tsl</B> and <B>fsl</B> to
accomplish this.
The status line is normally assumed to be the same width as the width
of the terminal. If this is untrue, you can specify it with the
- numeric capability <STRONG>wsl</STRONG>.
+ numeric capability <B>wsl</B>.
- A command to erase or blank the status line may be specified as <STRONG>dsl</STRONG>.
+ A command to erase or blank the status line may be specified as <B>dsl</B>.
- The boolean capability <STRONG>eslok</STRONG> specifies that escape sequences, tabs,
+ The boolean capability <B>eslok</B> specifies that escape sequences, tabs,
etc., work ordinarily in the status line.
- The <STRONG>ncurses</STRONG> implementation does not yet use any of these capabilities.
+ The <B>ncurses</B> implementation does not yet use any of these capabilities.
They are documented here in case they ever become important.
</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
Many terminals have alternate character sets useful for forms-drawing.
- Terminfo and <STRONG>curses</STRONG> have built-in support for most of the drawing
+ Terminfo and <B>curses</B> have built-in support for most of the drawing
characters supported by the VT100, with some characters from the AT&T
4410v1 added. This alternate character set may be specified by the
- <STRONG>acsc</STRONG> capability.
+ <B>acsc</B> capability.
- <STRONG>Glyph</STRONG> <STRONG>ACS</STRONG> <STRONG>Ascii</STRONG> <STRONG>acsc</STRONG> <STRONG>acsc</STRONG>
- <STRONG>Name</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Value</STRONG>
+ <B>Glyph</B> <B>ACS</B> <B>Ascii</B> <B>acsc</B> <B>acsc</B>
+ <B>Name</B> <B>Name</B> <B>Default</B> <B>Char</B> <B>Value</B>
--------------------------------------------------------------------
arrow pointing right ACS_RARROW > + 0x2b
arrow pointing left ACS_LARROW < , 0x2c
A few notes apply to the table itself:
- <STRONG>o</STRONG> X/Open Curses incorrectly states that the mapping for <EM>lantern</EM> is
+ <B>o</B> X/Open Curses incorrectly states that the mapping for <I>lantern</I> is
uppercase "I" although Unix implementations use the lowercase "i"
mapping.
- <STRONG>o</STRONG> The DEC VT100 implemented graphics using the alternate character
- set feature, temporarily switching <EM>modes</EM> and sending characters in
- the range 0x60 (96) to 0x7e (126) (the <STRONG>acsc</STRONG> <STRONG>Value</STRONG> column in the
+ <B>o</B> The DEC VT100 implemented graphics using the alternate character
+ set feature, temporarily switching <I>modes</I> and sending characters in
+ the range 0x60 (96) to 0x7e (126) (the <B>acsc</B> <B>Value</B> column in the
table).
- <STRONG>o</STRONG> The AT&T terminal added graphics characters outside that range.
+ <B>o</B> The AT&T terminal added graphics characters outside that range.
Some of the characters within the range do not match the VT100;
- presumably they were used in the AT&T terminal: <EM>board</EM> <EM>of</EM> <EM>squares</EM>
- replaces the VT100 <EM>newline</EM> symbol, while <EM>lantern</EM> <EM>symbol</EM> replaces
- the VT100 <EM>vertical</EM> <EM>tab</EM> symbol. The other VT100 symbols for control
- characters (<EM>horizontal</EM> <EM>tab</EM>, <EM>carriage</EM> <EM>return</EM> and <EM>line-feed</EM>) are not
+ presumably they were used in the AT&T terminal: <I>board</I> <I>of</I> <I>squares</I>
+ replaces the VT100 <I>newline</I> symbol, while <I>lantern</I> <I>symbol</I> replaces
+ the VT100 <I>vertical</I> <I>tab</I> symbol. The other VT100 symbols for control
+ characters (<I>horizontal</I> <I>tab</I>, <I>carriage</I> <I>return</I> and <I>line-feed</I>) are not
(re)used in curses.
The best way to define a new device's graphics set is to add a column
to a copy of this table for your terminal, giving the character which
- (when emitted between <STRONG>smacs</STRONG>/<STRONG>rmacs</STRONG> switches) will be rendered as the
+ (when emitted between <B>smacs</B>/<B>rmacs</B> switches) will be rendered as the
corresponding graphic. Then read off the VT100/your terminal character
pairs right to left in sequence; these become the ACSC string.
</PRE><H3><a name="h3-Color-Handling">Color Handling</a></H3><PRE>
- The curses library functions <STRONG>init_pair</STRONG> and <STRONG>init_color</STRONG> manipulate the
- <EM>color</EM> <EM>pairs</EM> and <EM>color</EM> <EM>values</EM> discussed in this section (see
- <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> for details on these and related functions).
+ The curses library functions <B>init_pair</B> and <B>init_color</B> manipulate the
+ <I>color</I> <I>pairs</I> and <I>color</I> <I>values</I> discussed in this section (see
+ <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B> for details on these and related functions).
Most color terminals are either "Tektronix-like" or "HP-like":
- <STRONG>o</STRONG> Tektronix-like terminals have a predefined set of <EM>N</EM> colors (where <EM>N</EM>
+ <B>o</B> Tektronix-like terminals have a predefined set of <I>N</I> colors (where <I>N</I>
is usually 8), and can set character-cell foreground and background
- characters independently, mixing them into <EM>N</EM> * <EM>N</EM> color-pairs.
+ characters independently, mixing them into <I>N</I> * <I>N</I> color-pairs.
- <STRONG>o</STRONG> On HP-like terminals, the user must set each color pair up
+ <B>o</B> On HP-like terminals, the user must set each color pair up
separately (foreground and background are not independently
- settable). Up to <EM>M</EM> color-pairs may be set up from 2*<EM>M</EM> different
+ settable). Up to <I>M</I> color-pairs may be set up from 2*<I>M</I> different
colors. ANSI-compatible terminals are Tektronix-like.
Some basic color capabilities are independent of the color method. The
- numeric capabilities <STRONG>colors</STRONG> and <STRONG>pairs</STRONG> specify the maximum numbers of
- colors and color-pairs that can be displayed simultaneously. The <STRONG>op</STRONG>
+ numeric capabilities <B>colors</B> and <B>pairs</B> specify the maximum numbers of
+ colors and color-pairs that can be displayed simultaneously. The <B>op</B>
(original pair) string resets foreground and background colors to their
- default values for the terminal. The <STRONG>oc</STRONG> string resets all colors or
+ default values for the terminal. The <B>oc</B> string resets all colors or
color-pairs to their default values for the terminal. Some terminals
(including many PC terminal emulators) erase screen areas with the
current background color rather than the power-up default background;
- these should have the boolean capability <STRONG>bce</STRONG>.
+ these should have the boolean capability <B>bce</B>.
- While the curses library works with <EM>color</EM> <EM>pairs</EM> (reflecting the
+ While the curses library works with <I>color</I> <I>pairs</I> (reflecting the
inability of some devices to set foreground and background colors
independently), there are separate capabilities for setting these
features:
- <STRONG>o</STRONG> To change the current foreground or background color on a
- Tektronix-type terminal, use <STRONG>setaf</STRONG> (set ANSI foreground) and <STRONG>setab</STRONG>
- (set ANSI background) or <STRONG>setf</STRONG> (set foreground) and <STRONG>setb</STRONG> (set
+ <B>o</B> To change the current foreground or background color on a
+ Tektronix-type terminal, use <B>setaf</B> (set ANSI foreground) and <B>setab</B>
+ (set ANSI background) or <B>setf</B> (set foreground) and <B>setb</B> (set
background). These take one parameter, the color number. The SVr4
- documentation describes only <STRONG>setaf</STRONG>/<STRONG>setab</STRONG>; the XPG4 draft says that
+ documentation describes only <B>setaf</B>/<B>setab</B>; the XPG4 draft says that
"If the terminal supports ANSI escape sequences to set background
- and foreground, they should be coded as <STRONG>setaf</STRONG> and <STRONG>setab</STRONG>,
+ and foreground, they should be coded as <B>setaf</B> and <B>setab</B>,
respectively.
- <STRONG>o</STRONG> If the terminal supports other escape sequences to set background
- and foreground, they should be coded as <STRONG>setf</STRONG> and <STRONG>setb</STRONG>,
- respectively. The <STRONG>vidputs</STRONG> and the <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> functions use the
- <STRONG>setaf</STRONG> and <STRONG>setab</STRONG> capabilities if they are defined.
+ <B>o</B> If the terminal supports other escape sequences to set background
+ and foreground, they should be coded as <B>setf</B> and <B>setb</B>,
+ respectively. The <B>vidputs</B> and the <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B> functions use the
+ <B>setaf</B> and <B>setab</B> capabilities if they are defined.
- The <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> and <STRONG>setf</STRONG>/<STRONG>setb</STRONG> capabilities take a single numeric
- argument each. Argument values 0-7 of <STRONG>setaf</STRONG>/<STRONG>setab</STRONG> are portably defined
+ The <B>setaf</B>/<B>setab</B> and <B>setf</B>/<B>setb</B> capabilities take a single numeric
+ argument each. Argument values 0-7 of <B>setaf</B>/<B>setab</B> are portably defined
as follows (the middle column is the symbolic #define available in the
- header for the <STRONG>curses</STRONG> or <STRONG>ncurses</STRONG> libraries). The terminal hardware is
+ header for the <B>curses</B> or <B>ncurses</B> libraries). The terminal hardware is
free to map these as it likes, but the RGB values indicate normal
locations in color space.
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- red <STRONG>COLOR_RED</STRONG> 1 max,0,0
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- yellow <STRONG>COLOR_YELLOW</STRONG> 3 max,max,0
- blue <STRONG>COLOR_BLUE</STRONG> 4 0,0,max
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- cyan <STRONG>COLOR_CYAN</STRONG> 6 0,max,max
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
-
- The argument values of <STRONG>setf</STRONG>/<STRONG>setb</STRONG> historically correspond to a different
+ <B>Color</B> <B>#define</B> <B>Value</B> <B>RGB</B>
+ black <B>COLOR_BLACK</B> 0 0, 0, 0
+ red <B>COLOR_RED</B> 1 max,0,0
+ green <B>COLOR_GREEN</B> 2 0,max,0
+ yellow <B>COLOR_YELLOW</B> 3 max,max,0
+ blue <B>COLOR_BLUE</B> 4 0,0,max
+ magenta <B>COLOR_MAGENTA</B> 5 max,0,max
+ cyan <B>COLOR_CYAN</B> 6 0,max,max
+ white <B>COLOR_WHITE</B> 7 max,max,max
+
+ The argument values of <B>setf</B>/<B>setb</B> historically correspond to a different
mapping, i.e.,
- <STRONG>Color</STRONG> <STRONG>#define</STRONG> <STRONG>Value</STRONG> <STRONG>RGB</STRONG>
- black <STRONG>COLOR_BLACK</STRONG> 0 0, 0, 0
- blue <STRONG>COLOR_BLUE</STRONG> 1 0,0,max
- green <STRONG>COLOR_GREEN</STRONG> 2 0,max,0
- cyan <STRONG>COLOR_CYAN</STRONG> 3 0,max,max
- red <STRONG>COLOR_RED</STRONG> 4 max,0,0
- magenta <STRONG>COLOR_MAGENTA</STRONG> 5 max,0,max
- yellow <STRONG>COLOR_YELLOW</STRONG> 6 max,max,0
- white <STRONG>COLOR_WHITE</STRONG> 7 max,max,max
+ <B>Color</B> <B>#define</B> <B>Value</B> <B>RGB</B>
+ black <B>COLOR_BLACK</B> 0 0, 0, 0
+ blue <B>COLOR_BLUE</B> 1 0,0,max
+ green <B>COLOR_GREEN</B> 2 0,max,0
+ cyan <B>COLOR_CYAN</B> 3 0,max,max
+ red <B>COLOR_RED</B> 4 max,0,0
+ magenta <B>COLOR_MAGENTA</B> 5 max,0,max
+ yellow <B>COLOR_YELLOW</B> 6 max,max,0
+ white <B>COLOR_WHITE</B> 7 max,max,max
It is important to not confuse the two sets of color capabilities;
otherwise red/blue will be interchanged on the display.
- On an HP-like terminal, use <STRONG>scp</STRONG> with a color-pair number parameter to
+ On an HP-like terminal, use <B>scp</B> with a color-pair number parameter to
set which color pair is current.
- Some terminals allow the <EM>color</EM> <EM>values</EM> to be modified:
+ Some terminals allow the <I>color</I> <I>values</I> to be modified:
- <STRONG>o</STRONG> On a Tektronix-like terminal, the capability <STRONG>ccc</STRONG> may be present to
- indicate that colors can be modified. If so, the <STRONG>initc</STRONG> capability
- will take a color number (0 to <STRONG>colors</STRONG> - 1)and three more parameters
+ <B>o</B> On a Tektronix-like terminal, the capability <B>ccc</B> may be present to
+ indicate that colors can be modified. If so, the <B>initc</B> capability
+ will take a color number (0 to <B>colors</B> - 1)and three more parameters
which describe the color. These three parameters default to being
interpreted as RGB (Red, Green, Blue) values. If the boolean
- capability <STRONG>hls</STRONG> is present, they are instead as HLS (Hue, Lightness,
+ capability <B>hls</B> is present, they are instead as HLS (Hue, Lightness,
Saturation) indices. The ranges are terminal-dependent.
- <STRONG>o</STRONG> On an HP-like terminal, <STRONG>initp</STRONG> may give a capability for changing a
+ <B>o</B> On an HP-like terminal, <B>initp</B> may give a capability for changing a
color-pair value. It will take seven parameters; a color-pair
- number (0 to <STRONG>max_pairs</STRONG> - 1), and two triples describing first
+ number (0 to <B>max_pairs</B> - 1), and two triples describing first
background and then foreground colors. These parameters must be
(Red, Green, Blue) or (Hue, Lightness, Saturation) depending on
- <STRONG>hls</STRONG>.
+ <B>hls</B>.
On some color terminals, colors collide with highlights. You can
- register these collisions with the <STRONG>ncv</STRONG> capability. This is a bit-mask
+ register these collisions with the <B>ncv</B> capability. This is a bit-mask
of attributes not to be used when colors are enabled. The
- correspondence with the attributes understood by <STRONG>curses</STRONG> is as follows:
+ correspondence with the attributes understood by <B>curses</B> is as follows:
- <STRONG>Attribute</STRONG> <STRONG>Bit</STRONG> <STRONG>Decimal</STRONG> <STRONG>Set</STRONG> <STRONG>by</STRONG>
+ <B>Attribute</B> <B>Bit</B> <B>Decimal</B> <B>Set</B> <B>by</B>
A_STANDOUT 0 1 sgr
A_UNDERLINE 1 2 sgr
A_REVERSE 2 4 sgr
For example, on many IBM PC consoles, the underline attribute collides
with the foreground color blue and is not available in color mode.
- These should have an <STRONG>ncv</STRONG> capability of 2.
+ These should have an <B>ncv</B> capability of 2.
- SVr4 curses does nothing with <STRONG>ncv</STRONG>, ncurses recognizes it and optimizes
+ SVr4 curses does nothing with <B>ncv</B>, ncurses recognizes it and optimizes
the output in favor of colors.
If the terminal requires other than a null (zero) character as a pad,
then this can be given as pad. Only the first character of the pad
string is used. If the terminal does not have a pad character, specify
- npc. Note that ncurses implements the termcap-compatible <STRONG>PC</STRONG> variable;
+ npc. Note that ncurses implements the termcap-compatible <B>PC</B> variable;
though the application may set this value to something other than a
- null, ncurses will test <STRONG>npc</STRONG> first and use napms if the terminal has no
+ null, ncurses will test <B>npc</B> first and use napms if the terminal has no
pad character.
If the terminal can move up or down half a line, this can be indicated
- with <STRONG>hu</STRONG> (half-line up) and <STRONG>hd</STRONG> (half-line down). This is primarily
+ with <B>hu</B> (half-line up) and <B>hd</B> (half-line down). This is primarily
useful for superscripts and subscripts on hard-copy terminals. If a
hard-copy terminal can eject to the next page (form feed), give this as
- <STRONG>ff</STRONG> (usually control/L).
+ <B>ff</B> (usually control/L).
If there is a command to repeat a given character a given number of
times (to save time transmitting a large number of identical
- characters) this can be indicated with the parameterized string <STRONG>rep</STRONG>.
+ characters) this can be indicated with the parameterized string <B>rep</B>.
The first parameter is the character to be repeated and the second is
the number of times to repeat it. Thus, tparm(repeat_char, 'x', 10) is
the same as "xxxxxxxxxx".
If the terminal has a settable command character, such as the TEKTRONIX
- 4025, this can be indicated with <STRONG>cmdch</STRONG>. A prototype command character
+ 4025, this can be indicated with <B>cmdch</B>. A prototype command character
is chosen which is used in all capabilities. This character is given
- in the <STRONG>cmdch</STRONG> capability to identify it. The following convention is
+ in the <B>cmdch</B> capability to identify it. The following convention is
supported on some UNIX systems: The environment is to be searched for a
- <STRONG>CC</STRONG> variable, and if found, all occurrences of the prototype character
+ <B>CC</B> variable, and if found, all occurrences of the prototype character
are replaced with the character in the environment variable.
Terminal descriptions that do not represent a specific kind of known
- terminal, such as <EM>switch</EM>, <EM>dialup</EM>, <EM>patch</EM>, and <EM>network</EM>, should include
- the <STRONG>gn</STRONG> (generic) capability so that programs can complain that they do
+ terminal, such as <I>switch</I>, <I>dialup</I>, <I>patch</I>, and <I>network</I>, should include
+ the <B>gn</B> (generic) capability so that programs can complain that they do
not know how to talk to the terminal. (This capability does not apply
- to <EM>virtual</EM> terminal descriptions for which the escape sequences are
+ to <I>virtual</I> terminal descriptions for which the escape sequences are
known.)
If the terminal has a "meta key" which acts as a shift key, setting the
8th bit of any character transmitted, this fact can be indicated with
- <STRONG>km</STRONG>. Otherwise, software will assume that the 8th bit is parity and it
+ <B>km</B>. Otherwise, software will assume that the 8th bit is parity and it
will usually be cleared. If strings exist to turn this "meta mode" on
- and off, they can be given as <STRONG>smm</STRONG> and <STRONG>rmm</STRONG>.
+ and off, they can be given as <B>smm</B> and <B>rmm</B>.
If the terminal has more lines of memory than will fit on the screen at
- once, the number of lines of memory can be indicated with <STRONG>lm</STRONG>. A value
- of <STRONG>lm</STRONG>#0 indicates that the number of lines is not fixed, but that there
+ once, the number of lines of memory can be indicated with <B>lm</B>. A value
+ of <B>lm</B>#0 indicates that the number of lines is not fixed, but that there
is still more memory than fits on the screen.
If the terminal is one of those supported by the UNIX virtual terminal
- protocol, the terminal number can be given as <STRONG>vt</STRONG>.
+ protocol, the terminal number can be given as <B>vt</B>.
Media copy strings which control an auxiliary printer connected to the
- terminal can be given as <STRONG>mc0</STRONG>: print the contents of the screen, <STRONG>mc4</STRONG>:
- turn off the printer, and <STRONG>mc5</STRONG>: turn on the printer. When the printer
+ terminal can be given as <B>mc0</B>: print the contents of the screen, <B>mc4</B>:
+ turn off the printer, and <B>mc5</B>: turn on the printer. When the printer
is on, all text sent to the terminal will be sent to the printer. It
is undefined whether the text is also displayed on the terminal screen
- when the printer is on. A variation <STRONG>mc5p</STRONG> takes one parameter, and
+ when the printer is on. A variation <B>mc5p</B> takes one parameter, and
leaves the printer on for as many characters as the value of the
parameter, then turns the printer off. The parameter should not exceed
- 255. All text, including <STRONG>mc4</STRONG>, is transparently passed to the printer
- while an <STRONG>mc5p</STRONG> is in effect.
+ 255. All text, including <B>mc4</B>, is transparently passed to the printer
+ while an <B>mc5p</B> is in effect.
</PRE><H3><a name="h3-Glitches-and-Braindamage">Glitches and Braindamage</a></H3><PRE>
Hazeltine terminals, which do not allow "~" characters to be displayed
- should indicate <STRONG>hz</STRONG>.
+ should indicate <B>hz</B>.
- Terminals which ignore a line-feed immediately after an <STRONG>am</STRONG> wrap, such
- as the Concept and vt100, should indicate <STRONG>xenl</STRONG>.
+ Terminals which ignore a line-feed immediately after an <B>am</B> wrap, such
+ as the Concept and vt100, should indicate <B>xenl</B>.
- If <STRONG>el</STRONG> is required to get rid of standout (instead of merely writing
- normal text on top of it), <STRONG>xhp</STRONG> should be given.
+ If <B>el</B> is required to get rid of standout (instead of merely writing
+ normal text on top of it), <B>xhp</B> should be given.
Teleray terminals, where tabs turn all characters moved over to blanks,
- should indicate <STRONG>xt</STRONG> (destructive tabs). Note: the variable indicating
+ should indicate <B>xt</B> (destructive tabs). Note: the variable indicating
this is now "dest_tabs_magic_smso"; in older versions, it was
teleray_glitch. This glitch is also taken to mean that it is not
possible to position the cursor on top of a "magic cookie", that to
line. The ncurses implementation ignores this glitch.
The Beehive Superbee, which is unable to correctly transmit the escape
- or control/C characters, has <STRONG>xsb</STRONG>, indicating that the f1 key is used
+ or control/C characters, has <B>xsb</B>, indicating that the f1 key is used
for escape and f2 for control/C. (Only certain Superbees have this
problem, depending on the ROM.) Note that in older terminfo versions,
this capability was called "beehive_glitch"; it is now "no_esc_ctl_c".
Other specific terminal problems may be corrected by adding more
- capabilities of the form <STRONG>x</STRONG><EM>x</EM>.
+ capabilities of the form <B>x</B><I>x</I>.
</PRE><H3><a name="h3-Pitfalls-of-Long-Entries">Pitfalls of Long Entries</a></H3><PRE>
(to 1023 bytes), thus termcap translations of long terminfo entries can
cause problems.
- The man pages for 4.3BSD and older versions of <STRONG>tgetent</STRONG> instruct the
+ The man pages for 4.3BSD and older versions of <B>tgetent</B> instruct the
user to allocate a 1024-byte buffer for the termcap entry. The entry
gets null-terminated by the termcap library, so that makes the maximum
safe length for a termcap entry 1k-1 (1023) bytes. Depending on what
the application and the termcap library being used does, and where in
- the termcap file the terminal type that <STRONG>tgetent</STRONG> is searching for is,
+ the termcap file the terminal type that <B>tgetent</B> is searching for is,
several bad things can happen.
Some termcap libraries print a warning message or exit if they find an
The "before tc expansion" length is the most important one, because it
affects more than just users of that particular terminal. This is the
length of the entry as it exists in /etc/termcap, minus the backslash-
- newline pairs, which <STRONG>tgetent</STRONG> strips out while reading it. Some termcap
+ newline pairs, which <B>tgetent</B> strips out while reading it. Some termcap
libraries strip off the final newline, too (GNU termcap does not). Now
suppose:
- <STRONG>o</STRONG> a termcap entry before expansion is more than 1023 bytes long,
+ <B>o</B> a termcap entry before expansion is more than 1023 bytes long,
- <STRONG>o</STRONG> and the application has only allocated a 1k buffer,
+ <B>o</B> and the application has only allocated a 1k buffer,
- <STRONG>o</STRONG> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+ <B>o</B> and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
the whole entry into the buffer, no matter what its length, to see
if it is the entry it wants,
- <STRONG>o</STRONG> and <STRONG>tgetent</STRONG> is searching for a terminal type that either is the
+ <B>o</B> and <B>tgetent</B> is searching for a terminal type that either is the
long entry, appears in the termcap file after the long entry, or
- does not appear in the file at all (so that <STRONG>tgetent</STRONG> has to search
+ does not appear in the file at all (so that <B>tgetent</B> has to search
the whole termcap file).
- Then <STRONG>tgetent</STRONG> will overwrite memory, perhaps its stack, and probably
+ Then <B>tgetent</B> will overwrite memory, perhaps its stack, and probably
core dump the program. Programs like telnet are particularly
vulnerable; modern telnets pass along values like the terminal type
automatically. The results are almost as undesirable with a termcap
The "after tc expansion" length will have a similar effect to the
above, but only for people who actually set TERM to that terminal type,
- since <STRONG>tgetent</STRONG> only does "tc" expansion once it is found the terminal
+ since <B>tgetent</B> only does "tc" expansion once it is found the terminal
type it was looking for, not while searching.
In summary, a termcap entry that is longer than 1023 bytes can cause,
terminal types and users whose TERM variable does not have a termcap
entry.
- When in -C (translate to termcap) mode, the <STRONG>ncurses</STRONG> implementation of
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> issues warning messages when the pre-tc length of a termcap
+ When in -C (translate to termcap) mode, the <B>ncurses</B> implementation of
+ <B><A HREF="tic.1M.html">tic(1M)</A></B> issues warning messages when the pre-tc length of a termcap
translation is too long. The -c (check) option also checks resolved
(after tc expansion) lengths.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
- Searching for terminal descriptions in <STRONG>$HOME/.terminfo</STRONG> and
+ Searching for terminal descriptions in <B>$HOME/.terminfo</B> and
TERMINFO_DIRS is not supported by older implementations.
- Some SVr4 <STRONG>curses</STRONG> implementations, and all previous to SVr4, do not
+ Some SVr4 <B>curses</B> implementations, and all previous to SVr4, do not
interpret the %A and %O operators in parameter strings.
- SVr4/XPG4 do not specify whether <STRONG>msgr</STRONG> licenses movement while in an
+ SVr4/XPG4 do not specify whether <B>msgr</B> licenses movement while in an
alternate-character-set mode (such modes may, among other things, map
CR and NL to characters that do not trigger local motions). The
- <STRONG>ncurses</STRONG> implementation ignores <STRONG>msgr</STRONG> in <STRONG>ALTCHARSET</STRONG> mode. This raises
+ <B>ncurses</B> implementation ignores <B>msgr</B> in <B>ALTCHARSET</B> mode. This raises
the possibility that an XPG4 implementation making the opposite
- interpretation may need terminfo entries made for <STRONG>ncurses</STRONG> to have <STRONG>msgr</STRONG>
+ interpretation may need terminfo entries made for <B>ncurses</B> to have <B>msgr</B>
turned off.
- The <STRONG>ncurses</STRONG> library handles insert-character and insert-character modes
+ The <B>ncurses</B> library handles insert-character and insert-character modes
in a slightly non-standard way to get better update efficiency. See
- the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
+ the <B>Insert/Delete</B> <B>Character</B> subsection above.
- The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
+ The parameter substitutions for <B>set_clock</B> and <B>display_clock</B> are not
documented in SVr4 or the XSI Curses standard. They are deduced from
the documentation for the AT&T 505 terminal.
- Be careful assigning the <STRONG>kmous</STRONG> capability. The <STRONG>ncurses</STRONG> library wants
- to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
+ Be careful assigning the <B>kmous</B> capability. The <B>ncurses</B> library wants
+ to interpret it as <B>KEY_MOUSE</B>, for use by terminals and emulators like
xterm that can return mouse-tracking information in the keyboard-input
stream.
X/Open Curses does not mention italics. Portable applications must
assume that numeric capabilities are signed 16-bit values. This
- includes the <EM>no</EM><STRONG>_</STRONG><EM>color</EM><STRONG>_</STRONG><EM>video</EM> (ncv) capability. The 32768 mask value
+ includes the <I>no</I><B>_</B><I>color</I><B>_</B><I>video</I> (ncv) capability. The 32768 mask value
used for italics with ncv can be confused with an absent or cancelled
ncv. If italics should work with colors, then the ncv value must be
specified, even if it is zero.
subsets of the XSI Curses standard and (in some cases) different
extension sets. Here is a summary, accurate as of October 1995:
- <STRONG>o</STRONG> <STRONG>SVR4,</STRONG> <STRONG>Solaris,</STRONG> <STRONG>ncurses</STRONG> -- These support all SVr4 capabilities.
+ <B>o</B> <B>SVR4,</B> <B>Solaris,</B> <B>ncurses</B> -- These support all SVr4 capabilities.
- <STRONG>o</STRONG> <STRONG>SGI</STRONG> -- Supports the SVr4 set, adds one undocumented extended string
- capability (<STRONG>set_pglen</STRONG>).
+ <B>o</B> <B>SGI</B> -- Supports the SVr4 set, adds one undocumented extended string
+ capability (<B>set_pglen</B>).
- <STRONG>o</STRONG> <STRONG>SVr1,</STRONG> <STRONG>Ultrix</STRONG> -- These support a restricted subset of terminfo
- capabilities. The booleans end with <STRONG>xon_xoff</STRONG>; the numerics with
- <STRONG>width_status_line</STRONG>; and the strings with <STRONG>prtr_non</STRONG>.
+ <B>o</B> <B>SVr1,</B> <B>Ultrix</B> -- These support a restricted subset of terminfo
+ capabilities. The booleans end with <B>xon_xoff</B>; the numerics with
+ <B>width_status_line</B>; and the strings with <B>prtr_non</B>.
- <STRONG>o</STRONG> <STRONG>HP/UX</STRONG> -- Supports the SVr1 subset, plus the SVr[234] numerics
- <STRONG>num_labels</STRONG>, <STRONG>label_height</STRONG>, <STRONG>label_width</STRONG>, plus function keys 11
- through 63, plus <STRONG>plab_norm</STRONG>, <STRONG>label_on</STRONG>, and <STRONG>label_off</STRONG>, plus some
+ <B>o</B> <B>HP/UX</B> -- Supports the SVr1 subset, plus the SVr[234] numerics
+ <B>num_labels</B>, <B>label_height</B>, <B>label_width</B>, plus function keys 11
+ through 63, plus <B>plab_norm</B>, <B>label_on</B>, and <B>label_off</B>, plus some
incompatible extensions in the string table.
- <STRONG>o</STRONG> <STRONG>AIX</STRONG> -- Supports the SVr1 subset, plus function keys 11 through 63,
+ <B>o</B> <B>AIX</B> -- Supports the SVr1 subset, plus function keys 11 through 63,
plus a number of incompatible string table extensions.
- <STRONG>o</STRONG> <STRONG>OSF</STRONG> -- Supports both the SVr4 set and the AIX extensions.
+ <B>o</B> <B>OSF</B> -- Supports both the SVr4 set and the AIX extensions.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>,
- <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>printf(3)</STRONG>, <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>. <STRONG><A HREF="term.5.html">term(5)</A></STRONG>.
- <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="tabs.1.html">tabs(1)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_color.3X.html">curs_color(3X)</A></B>,
+ <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>printf(3)</B>, <B><A HREF="term_variables.3X.html">term_variables(3X)</A></B>. <B><A HREF="term.5.html">term(5)</A></B>.
+ <B><A HREF="user_caps.5.html">user_caps(5)</A></B>.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.78 2020/12/19 21:32:45 tom Exp @
+ * @Id: tic.1m,v 1.79 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tic 1m</TITLE>
+<TITLE>@TIC@ 1M</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">tic 1m</H1>
+<H1 class="no-header">@TIC@ 1M</H1>
<PRE>
-<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+<B><A HREF="tic.1M.html">tic(1M)</A></B> <B><A HREF="tic.1M.html">tic(1M)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tic</STRONG> - the <EM>terminfo</EM> entry-description compiler
+ <B>tic</B> - the <I>terminfo</I> entry-description compiler
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tic</STRONG> [<STRONG>-01CDGIKLNTUVWacfgqrstx</STRONG>] [<STRONG>-e</STRONG> <EM>names</EM>] [<STRONG>-o</STRONG> <EM>dir</EM>] [<STRONG>-Q</STRONG>[<EM>n</EM>]] [<STRONG>-R</STRONG> <EM>subset</EM>]
- [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-w</STRONG>[<EM>n</EM>]] <EM>file</EM>
+ <B>tic</B> [<B>-01CDGIKLNTUVWacfgqrstx</B>] [<B>-e</B> <I>names</I>] [<B>-o</B> <I>dir</I>] [<B>-Q</B>[<I>n</I>]] [<B>-R</B> <I>subset</I>]
+ [<B>-v</B>[<I>n</I>]] [<B>-w</B>[<I>n</I>]] <I>file</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>tic</STRONG> command translates a <STRONG>terminfo</STRONG> file from source format into
+ The <B>tic</B> command translates a <B>terminfo</B> file from source format into
compiled format. The compiled format is necessary for use with the
- library routines in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ library routines in <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>.
- As described in <STRONG><A HREF="term.5.html">term(5)</A></STRONG>, the database may be either a directory tree
+ As described in <B><A HREF="term.5.html">term(5)</A></B>, the database may be either a directory tree
(one file per terminal entry) or a hashed database (one record per
- entry). The <STRONG>tic</STRONG> command writes only one type of entry, depending on
+ entry). The <B>tic</B> command writes only one type of entry, depending on
how it was built:
- <STRONG>o</STRONG> For directory trees, the top-level directory, e.g.,
+ <B>o</B> For directory trees, the top-level directory, e.g.,
/usr/share/terminfo, specifies the location of the database.
- <STRONG>o</STRONG> For hashed databases, a filename is needed. If the given file is
+ <B>o</B> For hashed databases, a filename is needed. If the given file is
not found by that name, but can be found by adding the suffix
".db", then that is used.
The default name for the hashed database is the same as the default
directory name (only adding a ".db" suffix).
- In either case (directory or hashed database), <STRONG>tic</STRONG> will create the
+ In either case (directory or hashed database), <B>tic</B> will create the
container if it does not exist. For a directory, this would be the
"terminfo" leaf, versus a "terminfo.db" file.
The results are normally placed in the system terminfo database
- <STRONG>/usr/share/terminfo</STRONG>. The compiled terminal description can be placed
+ <B>/usr/share/terminfo</B>. The compiled terminal description can be placed
in a different terminfo database. There are two ways to achieve this:
- <STRONG>o</STRONG> First, you may override the system default either by using the <STRONG>-o</STRONG>
- option, or by setting the variable <STRONG>TERMINFO</STRONG> in your shell
+ <B>o</B> First, you may override the system default either by using the <B>-o</B>
+ option, or by setting the variable <B>TERMINFO</B> in your shell
environment to a valid database location.
- <STRONG>o</STRONG> Secondly, if <STRONG>tic</STRONG> cannot write in <EM>/usr/share/terminfo</EM> or the
+ <B>o</B> Secondly, if <B>tic</B> cannot write in <I>/usr/share/terminfo</I> or the
location specified using your TERMINFO variable, it looks for the
- directory <EM>$HOME/.terminfo</EM> (or hashed database <EM>$HOME/.terminfo.db)</EM>;
+ directory <I>$HOME/.terminfo</I> (or hashed database <I>$HOME/.terminfo.db)</I>;
if that location exists, the entry is placed there.
Libraries that read terminfo entries are expected to check in
succession
- <STRONG>o</STRONG> a location specified with the TERMINFO environment variable,
+ <B>o</B> a location specified with the TERMINFO environment variable,
- <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>,
+ <B>o</B> <I>$HOME/.terminfo</I>,
- <STRONG>o</STRONG> directories listed in the TERMINFO_DIRS environment variable,
+ <B>o</B> directories listed in the TERMINFO_DIRS environment variable,
- <STRONG>o</STRONG> a compiled-in list of directories (no default value), and
+ <B>o</B> a compiled-in list of directories (no default value), and
- <STRONG>o</STRONG> the system terminfo database (<EM>/usr/share/terminfo</EM>).
+ <B>o</B> the system terminfo database (<I>/usr/share/terminfo</I>).
</PRE><H3><a name="h3-ALIASES">ALIASES</a></H3><PRE>
This is the same program as infotocap and captoinfo; usually those are
linked to, or copied from this program:
- <STRONG>o</STRONG> When invoked as infotocap, tic sets the <STRONG>-I</STRONG> option.
+ <B>o</B> When invoked as infotocap, tic sets the <B>-I</B> option.
- <STRONG>o</STRONG> When invoked as captoinfo, tic sets the <STRONG>-C</STRONG> option.
+ <B>o</B> When invoked as captoinfo, tic sets the <B>-C</B> option.
</PRE><H3><a name="h3-OPTIONS">OPTIONS</a></H3><PRE>
- <STRONG>-0</STRONG> restricts the output to a single line
+ <B>-0</B> restricts the output to a single line
- <STRONG>-1</STRONG> restricts the output to a single column
+ <B>-1</B> restricts the output to a single column
- <STRONG>-a</STRONG> tells <STRONG>tic</STRONG> to retain commented-out capabilities rather than
+ <B>-a</B> tells <B>tic</B> to retain commented-out capabilities rather than
discarding them. Capabilities are commented by prefixing them
- with a period. This sets the <STRONG>-x</STRONG> option, because it treats the
+ with a period. This sets the <B>-x</B> option, because it treats the
commented-out entries as user-defined names. If the source is
termcap, accept the 2-character names required by version 6.
Otherwise these are ignored.
- <STRONG>-C</STRONG> Force source translation to termcap format. Note: this differs
- from the <STRONG>-C</STRONG> option of <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> in that it does not merely
+ <B>-C</B> Force source translation to termcap format. Note: this differs
+ from the <B>-C</B> option of <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B> in that it does not merely
translate capability names, but also translates terminfo strings
to termcap format. Capabilities that are not translatable are
left in the entry under their terminfo names but commented out
with two preceding dots. The actual format used incorporates
some improvements for escaped characters from terminfo format.
- For a stricter BSD-compatible translation, add the <STRONG>-K</STRONG> option.
+ For a stricter BSD-compatible translation, add the <B>-K</B> option.
- If this is combined with <STRONG>-c</STRONG>, <STRONG>tic</STRONG> makes additional checks to
+ If this is combined with <B>-c</B>, <B>tic</B> makes additional checks to
report cases where the terminfo values do not have an exact
equivalent in termcap form. For example:
- <STRONG>o</STRONG> <STRONG>sgr</STRONG> usually will not convert, because termcap lacks the
+ <B>o</B> <B>sgr</B> usually will not convert, because termcap lacks the
ability to work with more than two parameters, and because
termcap lacks many of the arithmetic/logical operators used
in terminfo.
- <STRONG>o</STRONG> capabilities with more than one delay or with delays before
+ <B>o</B> capabilities with more than one delay or with delays before
the end of the string will not convert completely.
- <STRONG>-c</STRONG> tells <STRONG>tic</STRONG> to only check <EM>file</EM> for errors, including syntax
- problems and bad use-links. If you specify <STRONG>-C</STRONG> (<STRONG>-I</STRONG>) with this
+ <B>-c</B> tells <B>tic</B> to only check <I>file</I> for errors, including syntax
+ problems and bad use-links. If you specify <B>-C</B> (<B>-I</B>) with this
option, the code will print warnings about entries which, after
use resolution, are more than 1023 (4096) bytes long. Due to a
fixed buffer length in older termcap libraries, as well as buggy
terminfo), these entries may cause core dumps with other
implementations.
- <STRONG>tic</STRONG> checks string capabilities to ensure that those with
+ <B>tic</B> checks string capabilities to ensure that those with
parameters will be valid expressions. It does this check only
for the predefined string capabilities; those which are defined
- with the <STRONG>-x</STRONG> option are ignored.
+ with the <B>-x</B> option are ignored.
- <STRONG>-D</STRONG> tells <STRONG>tic</STRONG> to print the database locations that it knows about,
+ <B>-D</B> tells <B>tic</B> to print the database locations that it knows about,
and exit. The first location shown is the one to which it would
- write compiled terminal descriptions. If <STRONG>tic</STRONG> is not able to
+ write compiled terminal descriptions. If <B>tic</B> is not able to
find a writable database location according to the rules
summarized above, it will print a diagnostic and exit with an
error rather than printing a list of database locations.
- <STRONG>-e</STRONG> <EM>names</EM>
+ <B>-e</B> <I>names</I>
Limit writes and translations to the following comma-separated
list of terminals. If any name or alias of a terminal matches
one of the names in the list, the entry will be written or
translated as normal. Otherwise no output will be generated for
it. The option value is interpreted as a file containing the
list if it contains a '/'. (Note: depending on how tic was
- compiled, this option may require <STRONG>-I</STRONG> or <STRONG>-C</STRONG>.)
+ compiled, this option may require <B>-I</B> or <B>-C</B>.)
- <STRONG>-f</STRONG> Display complex terminfo strings which contain
+ <B>-f</B> Display complex terminfo strings which contain
if/then/else/endif expressions indented for readability.
- <STRONG>-G</STRONG> Display constant literals in decimal form rather than their
+ <B>-G</B> Display constant literals in decimal form rather than their
character equivalents.
- <STRONG>-g</STRONG> Display constant character literals in quoted form rather than
+ <B>-g</B> Display constant character literals in quoted form rather than
their decimal equivalents.
- <STRONG>-I</STRONG> Force source translation to terminfo format.
+ <B>-I</B> Force source translation to terminfo format.
- <STRONG>-K</STRONG> Suppress some longstanding ncurses extensions to termcap format,
+ <B>-K</B> Suppress some longstanding ncurses extensions to termcap format,
e.g., "\s" for space.
- <STRONG>-L</STRONG> Force source translation to terminfo format using the long C
- variable names listed in <<STRONG>term.h</STRONG>>
+ <B>-L</B> Force source translation to terminfo format using the long C
+ variable names listed in <<B>term.h</B>>
- <STRONG>-N</STRONG> Disable smart defaults. Normally, when translating from termcap
+ <B>-N</B> Disable smart defaults. Normally, when translating from termcap
to terminfo, the compiler makes a number of assumptions about
- the defaults of string capabilities <STRONG>reset1_string</STRONG>,
- <STRONG>carriage_return</STRONG>, <STRONG>cursor_left</STRONG>, <STRONG>cursor_down</STRONG>, <STRONG>scroll_forward</STRONG>, <STRONG>tab</STRONG>,
- <STRONG>newline</STRONG>, <STRONG>key_backspace</STRONG>, <STRONG>key_left</STRONG>, and <STRONG>key_down</STRONG>, then attempts to
+ the defaults of string capabilities <B>reset1_string</B>,
+ <B>carriage_return</B>, <B>cursor_left</B>, <B>cursor_down</B>, <B>scroll_forward</B>, <B>tab</B>,
+ <B>newline</B>, <B>key_backspace</B>, <B>key_left</B>, and <B>key_down</B>, then attempts to
use obsolete termcap capabilities to deduce correct values. It
also normally suppresses output of obsolete termcap capabilities
- such as <STRONG>bs</STRONG>. This option forces a more literal translation that
+ such as <B>bs</B>. This option forces a more literal translation that
also preserves the obsolete capabilities.
- <STRONG>-o</STRONG><EM>dir</EM> Write compiled entries to given database location. Overrides
+ <B>-o</B><I>dir</I> Write compiled entries to given database location. Overrides
the TERMINFO environment variable.
- <STRONG>-Q</STRONG><EM>n</EM> Rather than show source in terminfo (text) format, print the
+ <B>-Q</B><I>n</I> Rather than show source in terminfo (text) format, print the
compiled (binary) format in hexadecimal or base64 form,
depending on the option's value:
3 hexadecimal and base64
- <STRONG>-q</STRONG> Suppress comments and blank lines when showing translated
+ <B>-q</B> Suppress comments and blank lines when showing translated
source.
- <STRONG>-R</STRONG><EM>subset</EM>
+ <B>-R</B><I>subset</I>
Restrict output to a given subset. This option is for use with
archaic versions of terminfo like those on SVr1, Ultrix, or
HP/UX that do not support the full set of SVR4/XSI Curses
terminfo; and outright broken ports like AIX 3.x that have their
own extensions incompatible with SVr4/XSI. Available subsets
- are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for
+ are "SVr1", "Ultrix", "HP", "BSD" and "AIX"; see <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for
details.
- <STRONG>-r</STRONG> Force entry resolution (so there are no remaining tc
+ <B>-r</B> Force entry resolution (so there are no remaining tc
capabilities) even when doing translation to termcap format.
This may be needed if you are preparing a termcap file for a
termcap library (such as GNU termcap through version 1.3 or BSD
termcap through 4.3BSD) that does not handle multiple tc
capabilities per entry.
- <STRONG>-s</STRONG> Summarize the compile by showing the database location into
+ <B>-s</B> Summarize the compile by showing the database location into
which entries are written, and the number of entries which are
compiled.
- <STRONG>-T</STRONG> eliminates size-restrictions on the generated text. This is
+ <B>-T</B> eliminates size-restrictions on the generated text. This is
mainly useful for testing and analysis, since the compiled
descriptions are limited (e.g., 1023 for termcap, 4096 for
terminfo).
- <STRONG>-t</STRONG> tells <STRONG>tic</STRONG> to discard commented-out capabilities. Normally when
+ <B>-t</B> tells <B>tic</B> to discard commented-out capabilities. Normally when
translating from terminfo to termcap, untranslatable
capabilities are commented-out.
- <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source
+ <B>-U</B> tells <B>tic</B> to not post-process the data after parsing the source
file. Normally, it infers data which is commonly missing in older
terminfo data, or in termcaps.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <B>-V</B> reports the version of ncurses which was used in this program, and
exits.
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error trace
- information showing <STRONG>tic</STRONG>'s progress.
+ <B>-v</B><I>n</I> specifies that (verbose) output be written to standard error trace
+ information showing <B>tic</B>'s progress.
- The optional parameter <EM>n</EM> is a number from 1 to 10, inclusive,
+ The optional parameter <I>n</I> is a number from 1 to 10, inclusive,
indicating the desired level of detail of information. If ncurses
is built without tracing support, the optional parameter is
- ignored. If <EM>n</EM> is omitted, the default level is 1. If <EM>n</EM> is
+ ignored. If <I>n</I> is omitted, the default level is 1. If <I>n</I> is
specified and greater than 1, the level of detail is increased.
The debug flag levels are as follows:
9 All values computed in construction of the hash table
- If the debug level <EM>n</EM> is not given, it is taken to be one.
+ If the debug level <I>n</I> is not given, it is taken to be one.
- <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
- wrapped. Use the <STRONG>-W</STRONG> option to do this.
+ <B>-W</B> By itself, the <B>-w</B> option will not force long strings to be
+ wrapped. Use the <B>-W</B> option to do this.
- If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
- <STRONG>-f</STRONG> has already split the line.
+ If you specify both <B>-f</B> and <B>-W</B> options, the latter is ignored when
+ <B>-f</B> has already split the line.
- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. If
+ <B>-w</B><I>n</I> specifies the width of the output. The parameter is optional. If
it is omitted, it defaults to 60.
- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG>user_caps(5)</STRONG>).
- That is, if you supply a capability name which <STRONG>tic</STRONG> does not
+ <B>-x</B> Treat unknown capabilities as user-defined (see <B>user_caps(5)</B>).
+ That is, if you supply a capability name which <B>tic</B> does not
recognize, it will infer its type (boolean, number or string) from
the syntax and make an extended table entry for that. User-
defined capability strings whose name begins with "k" are treated
</PRE><H3><a name="h3-PARAMETERS">PARAMETERS</a></H3><PRE>
- <EM>file</EM> contains one or more <STRONG>terminfo</STRONG> terminal descriptions in source
- format [see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>]. Each description in the file
+ <I>file</I> contains one or more <B>terminfo</B> terminal descriptions in source
+ format [see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>]. Each description in the file
describes the capabilities of a particular terminal.
- If <EM>file</EM> is "-", then the data is read from the standard input.
- The <EM>file</EM> parameter may also be the path of a character-device.
+ If <I>file</I> is "-", then the data is read from the standard input.
+ The <I>file</I> parameter may also be the path of a character-device.
</PRE><H3><a name="h3-PROCESSING">PROCESSING</a></H3><PRE>
- All but one of the capabilities recognized by <STRONG>tic</STRONG> are documented in
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. The exception is the <STRONG>use</STRONG> capability.
+ All but one of the capabilities recognized by <B>tic</B> are documented in
+ <B><A HREF="terminfo.5.html">terminfo(5)</A></B>. The exception is the <B>use</B> capability.
- When a <STRONG>use</STRONG>=<EM>entry</EM>-<EM>name</EM> field is discovered in a terminal entry currently
- being compiled, <STRONG>tic</STRONG> reads in the binary from <STRONG>/usr/share/terminfo</STRONG> to
- complete the entry. (Entries created from <EM>file</EM> will be used first.
- <STRONG>tic</STRONG> duplicates the capabilities in <EM>entry</EM>-<EM>name</EM> for the current entry,
+ When a <B>use</B>=<I>entry</I>-<I>name</I> field is discovered in a terminal entry currently
+ being compiled, <B>tic</B> reads in the binary from <B>/usr/share/terminfo</B> to
+ complete the entry. (Entries created from <I>file</I> will be used first.
+ <B>tic</B> duplicates the capabilities in <I>entry</I>-<I>name</I> for the current entry,
with the exception of those capabilities that explicitly are defined in
the current entry.
- When an entry, e.g., <STRONG>entry_name_1</STRONG>, contains a <STRONG>use=</STRONG><EM>entry</EM>_<EM>name</EM>_<EM>2</EM> field,
- any canceled capabilities in <EM>entry</EM>_<EM>name</EM>_<EM>2</EM> must also appear in
- <STRONG>entry_name_1</STRONG> before <STRONG>use=</STRONG> for these capabilities to be canceled in
- <STRONG>entry_name_1</STRONG>.
+ When an entry, e.g., <B>entry_name_1</B>, contains a <B>use=</B><I>entry</I>_<I>name</I>_<I>2</I> field,
+ any canceled capabilities in <I>entry</I>_<I>name</I>_<I>2</I> must also appear in
+ <B>entry_name_1</B> before <B>use=</B> for these capabilities to be canceled in
+ <B>entry_name_1</B>.
Total compiled entries cannot exceed 4096 bytes. The name field cannot
exceed 512 bytes. Terminal names exceeding the maximum alias length
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- System V Release 2 provided a <STRONG>tic</STRONG> utility. It accepted a single
- option: <STRONG>-v</STRONG> (optionally followed by a number). According to Ross
- Ridge's comment in <EM>mytinfo</EM>, this version of <STRONG>tic</STRONG> was unable to represent
+ System V Release 2 provided a <B>tic</B> utility. It accepted a single
+ option: <B>-v</B> (optionally followed by a number). According to Ross
+ Ridge's comment in <I>mytinfo</I>, this version of <B>tic</B> was unable to represent
cancelled capabilities.
- System V Release 3 provided a different <STRONG>tic</STRONG> utility, written by Pavel
- Curtis, (originally named "compile" in <EM>pcurses</EM>). This added an option
- <STRONG>-c</STRONG> to check the file for errors, with the caveat that errors in "use="
+ System V Release 3 provided a different <B>tic</B> utility, written by Pavel
+ Curtis, (originally named "compile" in <I>pcurses</I>). This added an option
+ <B>-c</B> to check the file for errors, with the caveat that errors in "use="
links would not be reported. System V Release 3 documented a few
- warning messages which did not appear in <EM>pcurses</EM>. While the program
+ warning messages which did not appear in <I>pcurses</I>. While the program
itself was changed little as development continued with System V
- Release 4, the table of capabilities grew from 180 (<EM>pcurses</EM>) to 464
+ Release 4, the table of capabilities grew from 180 (<I>pcurses</I>) to 464
(Solaris).
In early development of ncurses (1993), Zeyd Ben-Halim used the table
- from <EM>mytinfo</EM> to extend the <EM>pcurses</EM> table to 469 capabilities (456
+ from <I>mytinfo</I> to extend the <I>pcurses</I> table to 469 capabilities (456
matched SVr4, 8 were only in SVr4, 13 were not in SVr4). Of those 13,
11 were ultimately discarded (perhaps to match the draft of X/Open
- Curses). The exceptions were <STRONG>memory_lock_above</STRONG> and <STRONG>memory_unlock</STRONG> (see
- <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+ Curses). The exceptions were <B>memory_lock_above</B> and <B>memory_unlock</B> (see
+ <B><A HREF="user_caps.5.html">user_caps(5)</A></B>).
- Eric Raymond incorporated parts of <EM>mytinfo</EM> into ncurses to implement
+ Eric Raymond incorporated parts of <I>mytinfo</I> into ncurses to implement
the termcap-to-terminfo source conversion, and extended that to begin
development of the corresponding terminfo-to-termcap source conversion,
Thomas Dickey completed that development over the course of several
years.
- In 1999, Thomas Dickey added the <STRONG>-x</STRONG> option to support user-defined
+ In 1999, Thomas Dickey added the <B>-x</B> option to support user-defined
capabilities.
- In 2010, Roy Marples provided a <STRONG>tic</STRONG> program and terminfo library for
+ In 2010, Roy Marples provided a <B>tic</B> program and terminfo library for
NetBSD. That implementation adapts several features from ncurses,
- including <STRONG>tic</STRONG>'s <STRONG>-x</STRONG> option.
+ including <B>tic</B>'s <B>-x</B> option.
- The <STRONG>-c</STRONG> option tells <STRONG>tic</STRONG> to check for problems in the terminfo source
+ The <B>-c</B> option tells <B>tic</B> to check for problems in the terminfo source
file. Continued development provides additional checks:
- <STRONG>o</STRONG> <EM>pcurses</EM> had 8 warnings
+ <B>o</B> <I>pcurses</I> had 8 warnings
- <STRONG>o</STRONG> ncurses in 1996 had 16 warnings
+ <B>o</B> ncurses in 1996 had 16 warnings
- <STRONG>o</STRONG> Solaris (SVr4) curses has 28 warnings
+ <B>o</B> Solaris (SVr4) curses has 28 warnings
- <STRONG>o</STRONG> NetBSD tic in 2019 has 19 warnings.
+ <B>o</B> NetBSD tic in 2019 has 19 warnings.
- <STRONG>o</STRONG> ncurses in 2019 has 96 warnings
+ <B>o</B> ncurses in 2019 has 96 warnings
- The checking done in ncurses' <STRONG>tic</STRONG> helps with the conversion to termcap,
+ The checking done in ncurses' <B>tic</B> helps with the conversion to termcap,
as well as pointing out errors and inconsistencies. It is also used to
ensure consistency with the user-defined capabilities. There are 527
distinct capabilities in ncurses' terminal database; 128 of those are
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 7 (2009) provides a brief description of <STRONG>tic</STRONG>. It
- lists one option: <STRONG>-c</STRONG>. The omission of <STRONG>-v</STRONG> is unexpected. The change
+ X/Open Curses, Issue 7 (2009) provides a brief description of <B>tic</B>. It
+ lists one option: <B>-c</B>. The omission of <B>-v</B> is unexpected. The change
history states that the description is derived from True64 UNIX.
- According to its manual pages, that system also supported the <STRONG>-v</STRONG>
+ According to its manual pages, that system also supported the <B>-v</B>
option.
Shortly after Issue 7 was released, Tru64 was discontinued. As of
- 2019, the surviving implementations of <STRONG>tic</STRONG> are SVr4 (AIX, HP-UX and
- Solaris), ncurses and NetBSD curses. The SVr4 <STRONG>tic</STRONG> programs all support
- the <STRONG>-v</STRONG> option. The NetBSD <STRONG>tic</STRONG> program follows X/Open's documentation,
- omitting the <STRONG>-v</STRONG> option.
+ 2019, the surviving implementations of <B>tic</B> are SVr4 (AIX, HP-UX and
+ Solaris), ncurses and NetBSD curses. The SVr4 <B>tic</B> programs all support
+ the <B>-v</B> option. The NetBSD <B>tic</B> program follows X/Open's documentation,
+ omitting the <B>-v</B> option.
- The X/Open rationale states that some implementations of <STRONG>tic</STRONG> read
- terminal descriptions from the standard input if the <EM>file</EM> parameter is
+ The X/Open rationale states that some implementations of <B>tic</B> read
+ terminal descriptions from the standard input if the <I>file</I> parameter is
omitted. None of these implementations do that. Further, it comments
that some may choose to read from "./terminfo.src" but that is
obsolescent behavior from SVr2, and is not (for example) a documented
</PRE><H3><a name="h3-COMPATIBILITY">COMPATIBILITY</a></H3><PRE>
- There is some evidence that historic <STRONG>tic</STRONG> implementations treated
+ There is some evidence that historic <B>tic</B> implementations treated
description fields with no whitespace in them as additional aliases or
- short names. This <STRONG>tic</STRONG> does not do that, but it does warn when
+ short names. This <B>tic</B> does not do that, but it does warn when
description fields may be treated that way and check them for dangerous
characters.
</PRE><H3><a name="h3-EXTENSIONS">EXTENSIONS</a></H3><PRE>
- Unlike the SVr4 <STRONG>tic</STRONG> command, this implementation can actually compile
+ Unlike the SVr4 <B>tic</B> command, this implementation can actually compile
termcap sources. In fact, entries in terminfo and termcap syntax can
- be mixed in a single source file. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for the list of
+ be mixed in a single source file. See <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for the list of
termcap names taken to be equivalent to terminfo names.
- The SVr4 manual pages are not clear on the resolution rules for <STRONG>use</STRONG>
- capabilities. This implementation of <STRONG>tic</STRONG> will find <STRONG>use</STRONG> targets
+ The SVr4 manual pages are not clear on the resolution rules for <B>use</B>
+ capabilities. This implementation of <B>tic</B> will find <B>use</B> targets
anywhere in the source file, or anywhere in the file tree rooted at
- <STRONG>TERMINFO</STRONG> (if <STRONG>TERMINFO</STRONG> is defined), or in the user's <EM>$HOME/.terminfo</EM>
+ <B>TERMINFO</B> (if <B>TERMINFO</B> is defined), or in the user's <I>$HOME/.terminfo</I>
database (if it exists), or (finally) anywhere in the system's file
tree of compiled entries.
- The error messages from this <STRONG>tic</STRONG> have the same format as GNU C error
+ The error messages from this <B>tic</B> have the same format as GNU C error
messages, and can be parsed by GNU Emacs's compile facility.
- Aside from <STRONG>-c</STRONG> and <STRONG>-v</STRONG>, options are not portable:
+ Aside from <B>-c</B> and <B>-v</B>, options are not portable:
- <STRONG>o</STRONG> Most of tic's options are not supported by SVr4 <STRONG>tic</STRONG>:
+ <B>o</B> Most of tic's options are not supported by SVr4 <B>tic</B>:
- <STRONG>-0</STRONG> <STRONG>-1</STRONG> <STRONG>-C</STRONG> <STRONG>-G</STRONG> <STRONG>-I</STRONG> <STRONG>-N</STRONG> <STRONG>-R</STRONG> <STRONG>-T</STRONG> <STRONG>-V</STRONG> <STRONG>-a</STRONG> <STRONG>-e</STRONG> <STRONG>-f</STRONG> <STRONG>-g</STRONG> <STRONG>-o</STRONG> <STRONG>-r</STRONG> <STRONG>-s</STRONG> <STRONG>-t</STRONG> <STRONG>-x</STRONG>
+ <B>-0</B> <B>-1</B> <B>-C</B> <B>-G</B> <B>-I</B> <B>-N</B> <B>-R</B> <B>-T</B> <B>-V</B> <B>-a</B> <B>-e</B> <B>-f</B> <B>-g</B> <B>-o</B> <B>-r</B> <B>-s</B> <B>-t</B> <B>-x</B>
- <STRONG>o</STRONG> The NetBSD <STRONG>tic</STRONG> supports a few of the ncurses options
+ <B>o</B> The NetBSD <B>tic</B> supports a few of the ncurses options
- <STRONG>-a</STRONG> <STRONG>-o</STRONG> <STRONG>-x</STRONG>
+ <B>-a</B> <B>-o</B> <B>-x</B>
- and adds <STRONG>-S</STRONG> (a feature which does the same thing as infocmp's <STRONG>-e</STRONG>
- and <STRONG>-E</STRONG> options).
+ and adds <B>-S</B> (a feature which does the same thing as infocmp's <B>-e</B>
+ and <B>-E</B> options).
- The SVr4 <STRONG>-c</STRONG> mode does not report bad "use=" links.
+ The SVr4 <B>-c</B> mode does not report bad "use=" links.
System V does not compile entries to or read entries from your
- <EM>$HOME/.terminfo</EM> database unless TERMINFO is explicitly set to it.
+ <I>$HOME/.terminfo</I> database unless TERMINFO is explicitly set to it.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
- <STRONG>/usr/share/terminfo/?/*</STRONG>
+ <B>/usr/share/terminfo/?/*</B>
Compiled terminal description database.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- <STRONG><A HREF="term.5.html">term(5)</A></STRONG>. <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>. <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>.
+ <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>, <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>, <B><A HREF="toe.1M.html">toe(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>,
+ <B><A HREF="term.5.html">term(5)</A></B>. <B><A HREF="terminfo.5.html">terminfo(5)</A></B>. <B><A HREF="user_caps.5.html">user_caps(5)</A></B>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ <B><A HREF="tic.1M.html">tic(1M)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.33 2020/12/19 21:52:09 tom Exp @
+ * @Id: toe.1m,v 1.34 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>toe 1m</TITLE>
+<TITLE>@TOE@ 1M</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m</H1>
+<H1 class="no-header">@TOE@ 1M</H1>
<PRE>
-<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+<B><A HREF="toe.1M.html">toe(1M)</A></B> <B><A HREF="toe.1M.html">toe(1M)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>toe</STRONG> - table of (terminfo) entries
+ <B>toe</B> - table of (terminfo) entries
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>toe</STRONG> [<STRONG>-v</STRONG>[<EM>n</EM>]] [<STRONG>-ahsuUV</STRONG>] <EM>file...</EM>
+ <B>toe</B> [<B>-v</B>[<I>n</I>]] [<B>-ahsuUV</B>] <I>file...</I>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- With no options, <STRONG>toe</STRONG> lists all available terminal types by primary name
+ With no options, <B>toe</B> lists all available terminal types by primary name
with descriptions. File arguments specify the directories to be
scanned; if no such arguments are given, your default terminfo
- directory is scanned. If you also specify the <STRONG>-h</STRONG> option, a directory
+ directory is scanned. If you also specify the <B>-h</B> option, a directory
header will be issued as each directory is entered.
There are other options intended for use by terminfo file maintainers:
- <STRONG>-a</STRONG> report on all of the terminal databases which ncurses would
+ <B>-a</B> report on all of the terminal databases which ncurses would
search, rather than only the first one that it finds.
- If the <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> adds a column to the report,
- showing (like <STRONG>conflict(1)</STRONG>) which entries which belong to a given
+ If the <B>-s</B> is also given, <B>toe</B> adds a column to the report,
+ showing (like <B>conflict(1)</B>) which entries which belong to a given
terminal database. An "*" marks entries which differ, and "+"
marks equivalent entries.
- Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge duplicates
+ Without the <B>-s</B> option, <B>toe</B> does not attempt to merge duplicates
in its report
- <STRONG>-s</STRONG> sort the output by the entry names.
+ <B>-s</B> sort the output by the entry names.
- <STRONG>-u</STRONG> <EM>file</EM>
+ <B>-u</B> <I>file</I>
says to write a report to the standard output, listing
dependencies in the given terminfo/termcap source file. The
report condenses the "use" relation: each line consists of the
of all terminals which occur in those use capabilities, followed
by a newline
- <STRONG>-U</STRONG> <EM>file</EM>
+ <B>-U</B> <I>file</I>
says to write a report to the standard output, listing reverse
dependencies in the given terminfo/termcap source file. The
report reverses the "use" relation: each line consists of the
primary names of all terminals which depend on it, followed by a
newline.
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error,
- showing <STRONG>toe</STRONG>'s progress.
+ <B>-v</B><I>n</I> specifies that (verbose) output be written to standard error,
+ showing <B>toe</B>'s progress.
- The optional parameter <EM>n</EM> is a number from 1 to 10, interpreted
- as for <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>. If ncurses is built without tracing support,
+ The optional parameter <I>n</I> is a number from 1 to 10, interpreted
+ as for <B><A HREF="tic.1M.html">tic(1M)</A></B>. If ncurses is built without tracing support,
the optional parameter is ignored.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ <B>-V</B> reports the version of ncurses which was used in this program,
and exits.
</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
- Without sorting, the <STRONG>-a</STRONG> option reports all of the names found in all of
- the terminal databases found by the <STRONG>TERMINFO</STRONG> and <STRONG>TERMINFO_DIRS</STRONG>
+ Without sorting, the <B>-a</B> option reports all of the names found in all of
+ the terminal databases found by the <B>TERMINFO</B> and <B>TERMINFO_DIRS</B>
environment variables:
MtxOrb162 16x2 Matrix Orbital LCD display
qansi-t QNX ansi without console writes
. . .
- Use the <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options together to show where each terminal
+ Use the <B>-a</B> and <B>-s</B> options together to show where each terminal
description was found:
--> /usr/local/ncurses/share/terminfo
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
- <STRONG>/usr/share/terminfo/?/*</STRONG>
+ <B>/usr/share/terminfo/?/*</B>
Compiled terminal description database.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
This utility is not provided by other implementations. There is no
- relevant X/Open or POSIX standard for <STRONG>toe</STRONG>.
+ relevant X/Open or POSIX standard for <B>toe</B>.
The program name refers to a developer's pun:
- <STRONG>o</STRONG> <STRONG>tic</STRONG>,
+ <B>o</B> <B>tic</B>,
- <STRONG>o</STRONG> <STRONG>tac</STRONG> (now <STRONG>tack</STRONG>),
+ <B>o</B> <B>tac</B> (now <B>tack</B>),
- <STRONG>o</STRONG> <STRONG>toe</STRONG>.
+ <B>o</B> <B>toe</B>.
- It replaced a <STRONG>-T</STRONG> option which was briefly supported by the ncurses
- <STRONG>infocmp</STRONG> utility in 1995.
+ It replaced a <B>-T</B> option which was briefly supported by the ncurses
+ <B>infocmp</B> utility in 1995.
- The <STRONG>-a</STRONG> and <STRONG>-s</STRONG> options were added to <STRONG>toe</STRONG> several years later (2006 and
+ The <B>-a</B> and <B>-s</B> options were added to <B>toe</B> several years later (2006 and
2011, respectively).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>, <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>, <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,
- <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="captoinfo.1M.html">captoinfo(1M)</A></B>, <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="infotocap.1M.html">infotocap(1M)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>, <B><A HREF="curses.3X.html">curses(3X)</A></B>,
+ <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ <B><A HREF="toe.1M.html">toe(1M)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
* t
****************************************************************************
* Copyright 2018-2020,2021 Thomas E. Dickey *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.66 2021/03/06 15:56:23 tom Exp @
+ * @Id: tput.1,v 1.67 2021/06/17 21:11:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1</TITLE>
+<TITLE>@TPUT@ 1</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">tput 1</H1>
+<H1 class="no-header">@TPUT@ 1</H1>
<PRE>
-<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+<B><A HREF="tput.1.html">tput(1)</A></B> General Commands Manual <B><A HREF="tput.1.html">tput(1)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tput</STRONG>, <STRONG>reset</STRONG> - initialize a terminal or query terminfo database
+ <B>tput</B>, <B>reset</B> - initialize a terminal or query terminfo database
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <EM>capname</EM> [<EM>parameters</EM>]
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] [<STRONG>-x</STRONG>] <STRONG>clear</STRONG>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>init</STRONG>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>reset</STRONG>
- <STRONG>tput</STRONG> [<STRONG>-T</STRONG><EM>type</EM>] <STRONG>longname</STRONG>
- <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<</STRONG>
- <STRONG>tput</STRONG> <STRONG>-V</STRONG>
+ <B>tput</B> [<B>-T</B><I>type</I>] <I>capname</I> [<I>parameters</I>]
+ <B>tput</B> [<B>-T</B><I>type</I>] [<B>-x</B>] <B>clear</B>
+ <B>tput</B> [<B>-T</B><I>type</I>] <B>init</B>
+ <B>tput</B> [<B>-T</B><I>type</I>] <B>reset</B>
+ <B>tput</B> [<B>-T</B><I>type</I>] <B>longname</B>
+ <B>tput</B> <B>-S</B> <B><<</B>
+ <B>tput</B> <B>-V</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>tput</STRONG> utility uses the <STRONG>terminfo</STRONG> database to make the values of
+ The <B>tput</B> utility uses the <B>terminfo</B> database to make the values of
terminal-dependent capabilities and information available to the shell
- (see <STRONG>sh(1)</STRONG>), to initialize or reset the terminal, or return the long
+ (see <B>sh(1)</B>), to initialize or reset the terminal, or return the long
name of the requested terminal type. The result depends upon the
capability's type:
string
- <STRONG>tput</STRONG> writes the string to the standard output. No trailing
+ <B>tput</B> writes the string to the standard output. No trailing
newline is supplied.
integer
- <STRONG>tput</STRONG> writes the decimal value to the standard output, with a
+ <B>tput</B> writes the decimal value to the standard output, with a
trailing newline.
boolean
- <STRONG>tput</STRONG> simply sets the exit code (<STRONG>0</STRONG> for TRUE if the terminal has
- the capability, <STRONG>1</STRONG> for FALSE if it does not), and writes nothing
+ <B>tput</B> simply sets the exit code (<B>0</B> for TRUE if the terminal has
+ the capability, <B>1</B> for FALSE if it does not), and writes nothing
to the standard output.
Before using a value returned on the standard output, the application
- should test the exit code (e.g., <STRONG>$?</STRONG>, see <STRONG>sh(1)</STRONG>) to be sure it is <STRONG>0</STRONG>.
- (See the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> and <STRONG>DIAGNOSTICS</STRONG> sections.) For a complete list of
- capabilities and the <EM>capname</EM> associated with each, see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ should test the exit code (e.g., <B>$?</B>, see <B>sh(1)</B>) to be sure it is <B>0</B>.
+ (See the <B>EXIT</B> <B>CODES</B> and <B>DIAGNOSTICS</B> sections.) For a complete list of
+ capabilities and the <I>capname</I> associated with each, see <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
</PRE><H3><a name="h3-Options">Options</a></H3><PRE>
- <STRONG>-S</STRONG> allows more than one capability per invocation of <STRONG>tput</STRONG>. The
- capabilities must be passed to <STRONG>tput</STRONG> from the standard input
+ <B>-S</B> allows more than one capability per invocation of <B>tput</B>. The
+ capabilities must be passed to <B>tput</B> from the standard input
instead of from the command line (see example). Only one
- <EM>capname</EM> is allowed per line. The <STRONG>-S</STRONG> option changes the meaning
- of the <STRONG>0</STRONG> and <STRONG>1</STRONG> boolean and string exit codes (see the EXIT CODES
+ <I>capname</I> is allowed per line. The <B>-S</B> option changes the meaning
+ of the <B>0</B> and <B>1</B> boolean and string exit codes (see the EXIT CODES
section).
- Because some capabilities may use <EM>string</EM> parameters rather than
- <EM>numbers</EM>, <STRONG>tput</STRONG> uses a table and the presence of parameters in its
- input to decide whether to use <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG>, and how to interpret
+ Because some capabilities may use <I>string</I> parameters rather than
+ <I>numbers</I>, <B>tput</B> uses a table and the presence of parameters in its
+ input to decide whether to use <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B>, and how to interpret
the parameters.
- <STRONG>-T</STRONG><EM>type</EM> indicates the <EM>type</EM> of terminal. Normally this option is
+ <B>-T</B><I>type</I> indicates the <I>type</I> of terminal. Normally this option is
unnecessary, because the default is taken from the environment
- variable <STRONG>TERM</STRONG>. If <STRONG>-T</STRONG> is specified, then the shell variables
- <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> will also be ignored.
+ variable <B>TERM</B>. If <B>-T</B> is specified, then the shell variables
+ <B>LINES</B> and <B>COLUMNS</B> will also be ignored.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program,
+ <B>-V</B> reports the version of ncurses which was used in this program,
and exits.
- <STRONG>-x</STRONG> do not attempt to clear the terminal's scrollback buffer using
+ <B>-x</B> do not attempt to clear the terminal's scrollback buffer using
the extended "E3" capability.
</PRE><H3><a name="h3-Commands">Commands</a></H3><PRE>
- A few commands (<STRONG>init</STRONG>, <STRONG>reset</STRONG> and <STRONG>longname</STRONG>) are special; they are defined
- by the <STRONG>tput</STRONG> program. The others are the names of <EM>capabilities</EM> from the
- terminal database (see <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for a list). Although <STRONG>init</STRONG> and
- <STRONG>reset</STRONG> resemble capability names, <STRONG>tput</STRONG> uses several capabilities to
+ A few commands (<B>init</B>, <B>reset</B> and <B>longname</B>) are special; they are defined
+ by the <B>tput</B> program. The others are the names of <I>capabilities</I> from the
+ terminal database (see <B><A HREF="terminfo.5.html">terminfo(5)</A></B> for a list). Although <B>init</B> and
+ <B>reset</B> resemble capability names, <B>tput</B> uses several capabilities to
perform these special functions.
- <EM>capname</EM>
+ <I>capname</I>
indicates the capability from the terminal database.
If the capability is a string that takes parameters, the
for the string.
Most parameters are numbers. Only a few terminal capabilities
- require string parameters; <STRONG>tput</STRONG> uses a table to decide which to
- pass as strings. Normally <STRONG>tput</STRONG> uses <STRONG><A HREF="curs_terminfo.3x.html">tparm(3x)</A></STRONG> to perform the
+ require string parameters; <B>tput</B> uses a table to decide which to
+ pass as strings. Normally <B>tput</B> uses <B><A HREF="curs_terminfo.3X.html">tparm(3X)</A></B> to perform the
substitution. If no parameters are given for the capability,
- <STRONG>tput</STRONG> writes the string without performing the substitution.
+ <B>tput</B> writes the string without performing the substitution.
- <STRONG>init</STRONG> If the terminal database is present and an entry for the user's
- terminal exists (see <STRONG>-T</STRONG><EM>type</EM>, above), the following will occur:
+ <B>init</B> If the terminal database is present and an entry for the user's
+ terminal exists (see <B>-T</B><I>type</I>, above), the following will occur:
- (1) first, <STRONG>tput</STRONG> retrieves the current terminal mode settings
+ (1) first, <B>tput</B> retrieves the current terminal mode settings
for your terminal. It does this by successively testing
- <STRONG>o</STRONG> the standard error,
+ <B>o</B> the standard error,
- <STRONG>o</STRONG> standard output,
+ <B>o</B> standard output,
- <STRONG>o</STRONG> standard input and
+ <B>o</B> standard input and
- <STRONG>o</STRONG> ultimately "/dev/tty"
+ <B>o</B> ultimately "/dev/tty"
to obtain terminal settings. Having retrieved these
- settings, <STRONG>tput</STRONG> remembers which file descriptor to use when
+ settings, <B>tput</B> remembers which file descriptor to use when
updating settings.
(2) if the window size cannot be obtained from the operating
system, but the terminal description (or environment, e.g.,
- <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> variables specify this), update the
+ <B>LINES</B> and <B>COLUMNS</B> variables specify this), update the
operating system's notion of the window size.
(3) the terminal modes will be updated:
- <STRONG>o</STRONG> any delays (e.g., newline) specified in the entry will
+ <B>o</B> any delays (e.g., newline) specified in the entry will
be set in the tty driver,
- <STRONG>o</STRONG> tabs expansion will be turned on or off according to
+ <B>o</B> tabs expansion will be turned on or off according to
the specification in the entry, and
- <STRONG>o</STRONG> if tabs are not expanded, standard tabs will be set
+ <B>o</B> if tabs are not expanded, standard tabs will be set
(every 8 spaces).
(4) if present, the terminal's initialization strings will be
- output as detailed in the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> section on <EM>Tabs</EM> <EM>and</EM>
- <EM>Initialization</EM>,
+ output as detailed in the <B><A HREF="terminfo.5.html">terminfo(5)</A></B> section on <I>Tabs</I> <I>and</I>
+ <I>Initialization</I>,
(5) output is flushed.
If an entry does not contain the information needed for any of
these activities, that activity will silently be skipped.
- <STRONG>reset</STRONG> This is similar to <STRONG>init</STRONG>, with two differences:
+ <B>reset</B> This is similar to <B>init</B>, with two differences:
(1) before any other initialization, the terminal modes will be
reset to a "sane" state:
- <STRONG>o</STRONG> set cooked and echo modes,
+ <B>o</B> set cooked and echo modes,
- <STRONG>o</STRONG> turn off cbreak and raw modes,
+ <B>o</B> turn off cbreak and raw modes,
- <STRONG>o</STRONG> turn on newline translation and
+ <B>o</B> turn on newline translation and
- <STRONG>o</STRONG> reset any unset special characters to their default
+ <B>o</B> reset any unset special characters to their default
values
- (2) Instead of putting out <EM>initialization</EM> strings, the
- terminal's <EM>reset</EM> strings will be output if present (<STRONG>rs1</STRONG>,
- <STRONG>rs2</STRONG>, <STRONG>rs3</STRONG>, <STRONG>rf</STRONG>). If the <EM>reset</EM> strings are not present, but
- <EM>initialization</EM> strings are, the <EM>initialization</EM> strings will
+ (2) Instead of putting out <I>initialization</I> strings, the
+ terminal's <I>reset</I> strings will be output if present (<B>rs1</B>,
+ <B>rs2</B>, <B>rs3</B>, <B>rf</B>). If the <I>reset</I> strings are not present, but
+ <I>initialization</I> strings are, the <I>initialization</I> strings will
be output.
- Otherwise, <STRONG>reset</STRONG> acts identically to <STRONG>init</STRONG>.
+ Otherwise, <B>reset</B> acts identically to <B>init</B>.
- <STRONG>longname</STRONG>
+ <B>longname</B>
If the terminal database is present and an entry for the user's
- terminal exists (see <STRONG>-T</STRONG><EM>type</EM> above), then the long name of the
+ terminal exists (see <B>-T</B><I>type</I> above), then the long name of the
terminal will be put out. The long name is the last name in the
- first line of the terminal's description in the <STRONG>terminfo</STRONG>
- database [see <STRONG><A HREF="term.5.html">term(5)</A></STRONG>].
+ first line of the terminal's description in the <B>terminfo</B>
+ database [see <B><A HREF="term.5.html">term(5)</A></B>].
</PRE><H3><a name="h3-Aliases">Aliases</a></H3><PRE>
- <STRONG>tput</STRONG> handles the <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands specially: it allows
+ <B>tput</B> handles the <B>clear</B>, <B>init</B> and <B>reset</B> commands specially: it allows
for the possibility that it is invoked by a link with those names.
- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>reset</STRONG>, this has the same effect as
- <STRONG>tput</STRONG> <STRONG>reset</STRONG>. The <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> utility also treats a link named <STRONG>reset</STRONG>
+ If <B>tput</B> is invoked by a link named <B>reset</B>, this has the same effect as
+ <B>tput</B> <B>reset</B>. The <B><A HREF="tset.1.html">tset(1)</A></B> utility also treats a link named <B>reset</B>
specially.
Before ncurses 6.1, the two utilities were different from each other:
- <STRONG>o</STRONG> <STRONG>tset</STRONG> utility reset the terminal modes and special characters (not
- done with <STRONG>tput</STRONG>).
+ <B>o</B> <B>tset</B> utility reset the terminal modes and special characters (not
+ done with <B>tput</B>).
- <STRONG>o</STRONG> On the other hand, <STRONG>tset</STRONG>'s repertoire of terminal capabilities for
- resetting the terminal was more limited, i.e., only <STRONG>reset_1string</STRONG>,
- <STRONG>reset_2string</STRONG> and <STRONG>reset_file</STRONG> in contrast to the tab-stops and
+ <B>o</B> On the other hand, <B>tset</B>'s repertoire of terminal capabilities for
+ resetting the terminal was more limited, i.e., only <B>reset_1string</B>,
+ <B>reset_2string</B> and <B>reset_file</B> in contrast to the tab-stops and
margins which are set by this utility.
- <STRONG>o</STRONG> The <STRONG>reset</STRONG> program is usually an alias for <STRONG>tset</STRONG>, because of this
+ <B>o</B> The <B>reset</B> program is usually an alias for <B>tset</B>, because of this
difference with resetting terminal modes and special characters.
- With the changes made for ncurses 6.1, the <EM>reset</EM> feature of the two
+ With the changes made for ncurses 6.1, the <I>reset</I> feature of the two
programs is (mostly) the same. A few differences remain:
- <STRONG>o</STRONG> The <STRONG>tset</STRONG> program waits one second when resetting, in case it
+ <B>o</B> The <B>tset</B> program waits one second when resetting, in case it
happens to be a hardware terminal.
- <STRONG>o</STRONG> The two programs write the terminal initialization strings to
- different streams (i.e., the standard error for <STRONG>tset</STRONG> and the
- standard output for <STRONG>tput</STRONG>).
+ <B>o</B> The two programs write the terminal initialization strings to
+ different streams (i.e., the standard error for <B>tset</B> and the
+ standard output for <B>tput</B>).
- <STRONG>Note:</STRONG> although these programs write to different streams,
+ <B>Note:</B> although these programs write to different streams,
redirecting their output to a file will capture only part of their
actions. The changes to the terminal modes are not affected by
redirecting the output.
- If <STRONG>tput</STRONG> is invoked by a link named <STRONG>init</STRONG>, this has the same effect as
- <STRONG>tput</STRONG> <STRONG>init</STRONG>. Again, you are less likely to use that link because another
- program named <STRONG>init</STRONG> has a more well-established use.
+ If <B>tput</B> is invoked by a link named <B>init</B>, this has the same effect as
+ <B>tput</B> <B>init</B>. Again, you are less likely to use that link because another
+ program named <B>init</B> has a more well-established use.
</PRE><H3><a name="h3-Terminal-Size">Terminal Size</a></H3><PRE>
- Besides the special commands (e.g., <STRONG>clear</STRONG>), tput treats certain
- terminfo capabilities specially: <STRONG>lines</STRONG> and <STRONG>cols</STRONG>. tput calls
- <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG> to obtain the terminal size:
+ Besides the special commands (e.g., <B>clear</B>), tput treats certain
+ terminfo capabilities specially: <B>lines</B> and <B>cols</B>. tput calls
+ <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B> to obtain the terminal size:
- <STRONG>o</STRONG> first, it gets the size from the terminal database (which generally
+ <B>o</B> first, it gets the size from the terminal database (which generally
is not provided for terminal emulators which do not have a fixed
window size)
- <STRONG>o</STRONG> then it asks the operating system for the terminal's size (which
+ <B>o</B> then it asks the operating system for the terminal's size (which
generally works, unless connecting via a serial line which does not
- support <EM>NAWS</EM>: negotiations about window size).
+ support <I>NAWS</I>: negotiations about window size).
- <STRONG>o</STRONG> finally, it inspects the environment variables <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG>
+ <B>o</B> finally, it inspects the environment variables <B>LINES</B> and <B>COLUMNS</B>
which may override the terminal size.
- If the <STRONG>-T</STRONG> option is given tput ignores the environment variables by
- calling <STRONG>use_tioctl(TRUE)</STRONG>, relying upon the operating system (or
+ If the <B>-T</B> option is given tput ignores the environment variables by
+ calling <B>use_tioctl(TRUE)</B>, relying upon the operating system (or
finally, the terminal database).
</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
- <STRONG>tput</STRONG> <STRONG>init</STRONG>
+ <B>tput</B> <B>init</B>
Initialize the terminal according to the type of terminal in the
- environmental variable <STRONG>TERM</STRONG>. This command should be included in
- everyone's .profile after the environmental variable <STRONG>TERM</STRONG> has been
- exported, as illustrated on the <STRONG>profile(5)</STRONG> manual page.
+ environmental variable <B>TERM</B>. This command should be included in
+ everyone's .profile after the environmental variable <B>TERM</B> has been
+ exported, as illustrated on the <B>profile(5)</B> manual page.
- <STRONG>tput</STRONG> <STRONG>-T5620</STRONG> <STRONG>reset</STRONG>
+ <B>tput</B> <B>-T5620</B> <B>reset</B>
Reset an AT&T 5620 terminal, overriding the type of terminal in
- the environmental variable <STRONG>TERM</STRONG>.
+ the environmental variable <B>TERM</B>.
- <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>0</STRONG> <STRONG>0</STRONG>
- Send the sequence to move the cursor to row <STRONG>0</STRONG>, column <STRONG>0</STRONG> (the upper
+ <B>tput</B> <B>cup</B> <B>0</B> <B>0</B>
+ Send the sequence to move the cursor to row <B>0</B>, column <B>0</B> (the upper
left corner of the screen, usually known as the "home" cursor
position).
- <STRONG>tput</STRONG> <STRONG>clear</STRONG>
+ <B>tput</B> <B>clear</B>
Echo the clear-screen sequence for the current terminal.
- <STRONG>tput</STRONG> <STRONG>cols</STRONG>
+ <B>tput</B> <B>cols</B>
Print the number of columns for the current terminal.
- <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>cols</STRONG>
+ <B>tput</B> <B>-T450</B> <B>cols</B>
Print the number of columns for the 450 terminal.
- <STRONG>bold=`tput</STRONG> <STRONG>smso`</STRONG> <STRONG>offbold=`tput</STRONG> <STRONG>rmso`</STRONG>
- Set the shell variables <STRONG>bold</STRONG>, to begin stand-out mode sequence,
- and <STRONG>offbold</STRONG>, to end standout mode sequence, for the current
- terminal. This might be followed by a prompt: <STRONG>echo</STRONG> <STRONG>"${bold}Please</STRONG>
- <STRONG>type</STRONG> <STRONG>in</STRONG> <STRONG>your</STRONG> <STRONG>name:</STRONG> <STRONG>${offbold}\c"</STRONG>
+ <B>bold=`tput</B> <B>smso`</B> <B>offbold=`tput</B> <B>rmso`</B>
+ Set the shell variables <B>bold</B>, to begin stand-out mode sequence,
+ and <B>offbold</B>, to end standout mode sequence, for the current
+ terminal. This might be followed by a prompt: <B>echo</B> <B>"${bold}Please</B>
+ <B>type</B> <B>in</B> <B>your</B> <B>name:</B> <B>${offbold}\c"</B>
- <STRONG>tput</STRONG> <STRONG>hc</STRONG>
+ <B>tput</B> <B>hc</B>
Set exit code to indicate if the current terminal is a hard copy
terminal.
- <STRONG>tput</STRONG> <STRONG>cup</STRONG> <STRONG>23</STRONG> <STRONG>4</STRONG>
+ <B>tput</B> <B>cup</B> <B>23</B> <B>4</B>
Send the sequence to move the cursor to row 23, column 4.
- <STRONG>tput</STRONG> <STRONG>cup</STRONG>
+ <B>tput</B> <B>cup</B>
Send the terminfo string for cursor-movement, with no parameters
substituted.
- <STRONG>tput</STRONG> <STRONG>longname</STRONG>
- Print the long name from the <STRONG>terminfo</STRONG> database for the type of
- terminal specified in the environmental variable <STRONG>TERM</STRONG>.
+ <B>tput</B> <B>longname</B>
+ Print the long name from the <B>terminfo</B> database for the type of
+ terminal specified in the environmental variable <B>TERM</B>.
- <STRONG>tput</STRONG> <STRONG>-S</STRONG> <STRONG><<!</STRONG>
- <STRONG>></STRONG> <STRONG>clear</STRONG>
- <STRONG>></STRONG> <STRONG>cup</STRONG> <STRONG>10</STRONG> <STRONG>10</STRONG>
- <STRONG>></STRONG> <STRONG>bold</STRONG>
- <STRONG>></STRONG> <STRONG>!</STRONG>
+ <B>tput</B> <B>-S</B> <B><<!</B>
+ <B>></B> <B>clear</B>
+ <B>></B> <B>cup</B> <B>10</B> <B>10</B>
+ <B>></B> <B>bold</B>
+ <B>></B> <B>!</B>
- This example shows <STRONG>tput</STRONG> processing several capabilities in one
+ This example shows <B>tput</B> processing several capabilities in one
invocation. It clears the screen, moves the cursor to position
10, 10 and turns on bold (extra bright) mode. The list is
- terminated by an exclamation mark (<STRONG>!</STRONG>) on a line by itself.
+ terminated by an exclamation mark (<B>!</B>) on a line by itself.
</PRE><H2><a name="h2-FILES">FILES</a></H2><PRE>
- <STRONG>/usr/share/terminfo</STRONG>
+ <B>/usr/share/terminfo</B>
compiled terminal description database
- <STRONG>/usr/share/tabset/*</STRONG>
+ <B>/usr/share/tabset/*</B>
tab settings for some terminals, in a format appropriate to be
output to the terminal (escape sequences that set margins and
- tabs); for more information, see the <EM>Tabs</EM> <EM>and</EM> <EM>Initialization</EM>,
- section of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ tabs); for more information, see the <I>Tabs</I> <I>and</I> <I>Initialization</I>,
+ section of <B><A HREF="terminfo.5.html">terminfo(5)</A></B>
</PRE><H2><a name="h2-EXIT-CODES">EXIT CODES</a></H2><PRE>
- If the <STRONG>-S</STRONG> option is used, <STRONG>tput</STRONG> checks for errors from each line, and if
+ If the <B>-S</B> option is used, <B>tput</B> checks for errors from each line, and if
any errors are found, will set the exit code to 4 plus the number of
- lines with errors. If no errors are found, the exit code is <STRONG>0</STRONG>. No
- indication of which line failed can be given so exit code <STRONG>1</STRONG> will never
- appear. Exit codes <STRONG>2</STRONG>, <STRONG>3</STRONG>, and <STRONG>4</STRONG> retain their usual interpretation. If
- the <STRONG>-S</STRONG> option is not used, the exit code depends on the type of
- <EM>capname</EM>:
-
- <EM>boolean</EM>
- a value of <STRONG>0</STRONG> is set for TRUE and <STRONG>1</STRONG> for FALSE.
-
- <EM>string</EM> a value of <STRONG>0</STRONG> is set if the <EM>capname</EM> is defined for this
- terminal <EM>type</EM> (the value of <EM>capname</EM> is returned on standard
- output); a value of <STRONG>1</STRONG> is set if <EM>capname</EM> is not defined for
- this terminal <EM>type</EM> (nothing is written to standard output).
-
- <EM>integer</EM>
- a value of <STRONG>0</STRONG> is always set, whether or not <EM>capname</EM> is defined
- for this terminal <EM>type</EM>. To determine if <EM>capname</EM> is defined
- for this terminal <EM>type</EM>, the user must test the value written
- to standard output. A value of <STRONG>-1</STRONG> means that <EM>capname</EM> is not
- defined for this terminal <EM>type</EM>.
-
- <EM>other</EM> <STRONG>reset</STRONG> or <STRONG>init</STRONG> may fail to find their respective files. In
- that case, the exit code is set to 4 + <STRONG>errno</STRONG>.
+ lines with errors. If no errors are found, the exit code is <B>0</B>. No
+ indication of which line failed can be given so exit code <B>1</B> will never
+ appear. Exit codes <B>2</B>, <B>3</B>, and <B>4</B> retain their usual interpretation. If
+ the <B>-S</B> option is not used, the exit code depends on the type of
+ <I>capname</I>:
+
+ <I>boolean</I>
+ a value of <B>0</B> is set for TRUE and <B>1</B> for FALSE.
+
+ <I>string</I> a value of <B>0</B> is set if the <I>capname</I> is defined for this
+ terminal <I>type</I> (the value of <I>capname</I> is returned on standard
+ output); a value of <B>1</B> is set if <I>capname</I> is not defined for
+ this terminal <I>type</I> (nothing is written to standard output).
+
+ <I>integer</I>
+ a value of <B>0</B> is always set, whether or not <I>capname</I> is defined
+ for this terminal <I>type</I>. To determine if <I>capname</I> is defined
+ for this terminal <I>type</I>, the user must test the value written
+ to standard output. A value of <B>-1</B> means that <I>capname</I> is not
+ defined for this terminal <I>type</I>.
+
+ <I>other</I> <B>reset</B> or <B>init</B> may fail to find their respective files. In
+ that case, the exit code is set to 4 + <B>errno</B>.
Any other exit code indicates an error; see the DIAGNOSTICS section.
</PRE><H2><a name="h2-DIAGNOSTICS">DIAGNOSTICS</a></H2><PRE>
- <STRONG>tput</STRONG> prints the following error messages and sets the corresponding
+ <B>tput</B> prints the following error messages and sets the corresponding
exit codes.
exit code error message
---------------------------------------------------------------------
- <STRONG>0</STRONG> (<EM>capname</EM> is a numeric variable that is not specified in
- the <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> database for this terminal type, e.g.
- <STRONG>tput</STRONG> <STRONG>-T450</STRONG> <STRONG>lines</STRONG> and <STRONG>tput</STRONG> <STRONG>-T2621</STRONG> <STRONG>xmc</STRONG>)
- <STRONG>1</STRONG> no error message is printed, see the <STRONG>EXIT</STRONG> <STRONG>CODES</STRONG> section.
- <STRONG>2</STRONG> usage error
- <STRONG>3</STRONG> unknown terminal <EM>type</EM> or no <STRONG>terminfo</STRONG> database
- <STRONG>4</STRONG> unknown <STRONG>terminfo</STRONG> capability <EM>capname</EM>
- <STRONG>>4</STRONG> error occurred in -S
+ <B>0</B> (<I>capname</I> is a numeric variable that is not specified in
+ the <B><A HREF="terminfo.5.html">terminfo(5)</A></B> database for this terminal type, e.g.
+ <B>tput</B> <B>-T450</B> <B>lines</B> and <B>tput</B> <B>-T2621</B> <B>xmc</B>)
+ <B>1</B> no error message is printed, see the <B>EXIT</B> <B>CODES</B> section.
+ <B>2</B> usage error
+ <B>3</B> unknown terminal <I>type</I> or no <B>terminfo</B> database
+ <B>4</B> unknown <B>terminfo</B> capability <I>capname</I>
+ <B>>4</B> error occurred in -S
---------------------------------------------------------------------
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- The <STRONG>tput</STRONG> command was begun by Bill Joy in 1980. The initial version
+ The <B>tput</B> command was begun by Bill Joy in 1980. The initial version
only cleared the screen.
- AT&T System V provided a different <STRONG>tput</STRONG> command, whose <STRONG>init</STRONG> and <STRONG>reset</STRONG>
+ AT&T System V provided a different <B>tput</B> command, whose <B>init</B> and <B>reset</B>
subcommands (more than half the program) were incorporated from the
- <STRONG>reset</STRONG> feature of BSD <STRONG>tset</STRONG> written by Eric Allman.
+ <B>reset</B> feature of BSD <B>tset</B> written by Eric Allman.
- Keith Bostic replaced the BSD <STRONG>tput</STRONG> command in 1989 with a new
- implementation based on the AT&T System V program <STRONG>tput</STRONG>. Like the AT&T
- program, Bostic's version accepted some parameters named for <EM>terminfo</EM>
- <EM>capabilities</EM> (<STRONG>clear</STRONG>, <STRONG>init</STRONG>, <STRONG>longname</STRONG> and <STRONG>reset</STRONG>). However (because he
- had only termcap available), it accepted <EM>termcap</EM> <EM>names</EM> for other
- capabilities. Also, Bostic's BSD <STRONG>tput</STRONG> did not modify the terminal I/O
- modes as the earlier BSD <STRONG>tset</STRONG> had done.
+ Keith Bostic replaced the BSD <B>tput</B> command in 1989 with a new
+ implementation based on the AT&T System V program <B>tput</B>. Like the AT&T
+ program, Bostic's version accepted some parameters named for <I>terminfo</I>
+ <I>capabilities</I> (<B>clear</B>, <B>init</B>, <B>longname</B> and <B>reset</B>). However (because he
+ had only termcap available), it accepted <I>termcap</I> <I>names</I> for other
+ capabilities. Also, Bostic's BSD <B>tput</B> did not modify the terminal I/O
+ modes as the earlier BSD <B>tset</B> had done.
At the same time, Bostic added a shell script named "clear", which used
- <STRONG>tput</STRONG> to clear the screen.
+ <B>tput</B> to clear the screen.
Both of these appeared in 4.4BSD, becoming the "modern" BSD
- implementation of <STRONG>tput</STRONG>.
+ implementation of <B>tput</B>.
- This implementation of <STRONG>tput</STRONG> began from a different source than AT&T or
- BSD: Ross Ridge's <EM>mytinfo</EM> package, published on <EM>comp.sources.unix</EM> in
+ This implementation of <B>tput</B> began from a different source than AT&T or
+ BSD: Ross Ridge's <I>mytinfo</I> package, published on <I>comp.sources.unix</I> in
December 1992. Ridge's program made more sophisticated use of the
terminal capabilities than the BSD program. Eric Raymond used that
- <STRONG>tput</STRONG> program (and other parts of <EM>mytinfo</EM>) in ncurses in June 1995.
+ <B>tput</B> program (and other parts of <I>mytinfo</I>) in ncurses in June 1995.
Using the portions dealing with terminal capabilities almost without
change, Raymond made improvements to the way the command-line
parameters were handled.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- This implementation of <STRONG>tput</STRONG> differs from AT&T <STRONG>tput</STRONG> in two important
+ This implementation of <B>tput</B> differs from AT&T <B>tput</B> in two important
areas:
- <STRONG>o</STRONG> <STRONG>tput</STRONG> <EM>capname</EM> writes to the standard output. That need not be a
+ <B>o</B> <B>tput</B> <I>capname</I> writes to the standard output. That need not be a
regular terminal. However, the subcommands which manipulate
terminal modes may not use the standard output.
- The AT&T implementation's <STRONG>init</STRONG> and <STRONG>reset</STRONG> commands use the BSD
- (4.1c) <STRONG>tset</STRONG> source, which manipulates terminal modes. It
+ The AT&T implementation's <B>init</B> and <B>reset</B> commands use the BSD
+ (4.1c) <B>tset</B> source, which manipulates terminal modes. It
successively tries standard output, standard error, standard input
before falling back to "/dev/tty" and finally just assumes a 1200Bd
terminal. When updating terminal modes, it ignores errors.
- Until changes made after ncurses 6.0, <STRONG>tput</STRONG> did not modify terminal
- modes. <STRONG>tput</STRONG> now uses a similar scheme, using functions shared with
- <STRONG>tset</STRONG> (and ultimately based on the 4.4BSD <STRONG>tset</STRONG>). If it is not able
- to open a terminal, e.g., when running in <STRONG>cron</STRONG>, <STRONG>tput</STRONG> will return an
+ Until changes made after ncurses 6.0, <B>tput</B> did not modify terminal
+ modes. <B>tput</B> now uses a similar scheme, using functions shared with
+ <B>tset</B> (and ultimately based on the 4.4BSD <B>tset</B>). If it is not able
+ to open a terminal, e.g., when running in <B>cron</B>, <B>tput</B> will return an
error.
- <STRONG>o</STRONG> AT&T <STRONG>tput</STRONG> guesses the type of its <EM>capname</EM> operands by seeing if all
+ <B>o</B> AT&T <B>tput</B> guesses the type of its <I>capname</I> operands by seeing if all
of the characters are numeric, or not.
- Most implementations which provide support for <EM>capname</EM> operands use
- the <EM>tparm</EM> function to expand parameters in it. That function
- expects a mixture of numeric and string parameters, requiring <STRONG>tput</STRONG>
+ Most implementations which provide support for <I>capname</I> operands use
+ the <I>tparm</I> function to expand parameters in it. That function
+ expects a mixture of numeric and string parameters, requiring <B>tput</B>
to know which type to use.
This implementation uses a table to determine the parameter types
- for the standard <EM>capname</EM> operands, and an internal library function
- to analyze nonstandard <EM>capname</EM> operands.
+ for the standard <I>capname</I> operands, and an internal library function
+ to analyze nonstandard <I>capname</I> operands.
- This implementation (unlike others) can accept both <EM>termcap</EM> and
- <EM>terminfo</EM> names for the <EM>capname</EM> feature, if <EM>termcap</EM> support is compiled
- in. However, the predefined <EM>termcap</EM> and <EM>terminfo</EM> names have two
- ambiguities in this case (and the <EM>terminfo</EM> name is assumed):
+ This implementation (unlike others) can accept both <I>termcap</I> and
+ <I>terminfo</I> names for the <I>capname</I> feature, if <I>termcap</I> support is compiled
+ in. However, the predefined <I>termcap</I> and <I>terminfo</I> names have two
+ ambiguities in this case (and the <I>terminfo</I> name is assumed):
- <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>dl</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>dl1</STRONG> (delete
+ <B>o</B> The <I>termcap</I> name <B>dl</B> corresponds to the <I>terminfo</I> name <B>dl1</B> (delete
one line).
- The <EM>terminfo</EM> name <STRONG>dl</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>DL</STRONG> (delete a
+ The <I>terminfo</I> name <B>dl</B> corresponds to the <I>termcap</I> name <B>DL</B> (delete a
given number of lines).
- <STRONG>o</STRONG> The <EM>termcap</EM> name <STRONG>ed</STRONG> corresponds to the <EM>terminfo</EM> name <STRONG>rmdc</STRONG> (end
+ <B>o</B> The <I>termcap</I> name <B>ed</B> corresponds to the <I>terminfo</I> name <B>rmdc</B> (end
delete mode).
- The <EM>terminfo</EM> name <STRONG>ed</STRONG> corresponds to the <EM>termcap</EM> name <STRONG>cd</STRONG> (clear to
+ The <I>terminfo</I> name <B>ed</B> corresponds to the <I>termcap</I> name <B>cd</B> (clear to
end of screen).
- The <STRONG>longname</STRONG> and <STRONG>-S</STRONG> options, and the parameter-substitution features
- used in the <STRONG>cup</STRONG> example, were not supported in BSD curses before
+ The <B>longname</B> and <B>-S</B> options, and the parameter-substitution features
+ used in the <B>cup</B> example, were not supported in BSD curses before
4.3reno (1989) or in AT&T/USL curses before SVr4 (1988).
IEEE Std 1003.1/The Open Group Base Specifications Issue 7
- (POSIX.1-2008) documents only the operands for <STRONG>clear</STRONG>, <STRONG>init</STRONG> and <STRONG>reset</STRONG>.
+ (POSIX.1-2008) documents only the operands for <B>clear</B>, <B>init</B> and <B>reset</B>.
There are a few interesting observations to make regarding that:
- <STRONG>o</STRONG> In this implementation, <STRONG>clear</STRONG> is part of the <EM>capname</EM> support. The
- others (<STRONG>init</STRONG> and <STRONG>longname</STRONG>) do not correspond to terminal
+ <B>o</B> In this implementation, <B>clear</B> is part of the <I>capname</I> support. The
+ others (<B>init</B> and <B>longname</B>) do not correspond to terminal
capabilities.
- <STRONG>o</STRONG> Other implementations of <STRONG>tput</STRONG> on SVr4-based systems such as
+ <B>o</B> Other implementations of <B>tput</B> on SVr4-based systems such as
Solaris, IRIX64 and HPUX as well as others such as AIX and Tru64
- provide support for <EM>capname</EM> operands.
+ provide support for <I>capname</I> operands.
- <STRONG>o</STRONG> A few platforms such as FreeBSD recognize termcap names rather than
- terminfo capability names in their respective <STRONG>tput</STRONG> commands. Since
- 2010, NetBSD's <STRONG>tput</STRONG> uses terminfo names. Before that, it (like
+ <B>o</B> A few platforms such as FreeBSD recognize termcap names rather than
+ terminfo capability names in their respective <B>tput</B> commands. Since
+ 2010, NetBSD's <B>tput</B> uses terminfo names. Before that, it (like
FreeBSD) recognized termcap names.
- Beginning in 2021, FreeBSD uses the ncurses <STRONG>tput</STRONG>, configured for
+ Beginning in 2021, FreeBSD uses the ncurses <B>tput</B>, configured for
both terminfo (tested first) and termcap (as a fallback).
- Because (apparently) <EM>all</EM> of the certified Unix systems support the full
+ Because (apparently) <I>all</I> of the certified Unix systems support the full
set of capability names, the reasoning for documenting only a few may
not be apparent.
- <STRONG>o</STRONG> X/Open Curses Issue 7 documents <STRONG>tput</STRONG> differently, with <EM>capname</EM> and
+ <B>o</B> X/Open Curses Issue 7 documents <B>tput</B> differently, with <I>capname</I> and
the other features used in this implementation.
- <STRONG>o</STRONG> That is, there are two standards for <STRONG>tput</STRONG>: POSIX (a subset) and
+ <B>o</B> That is, there are two standards for <B>tput</B>: POSIX (a subset) and
X/Open Curses (the full implementation). POSIX documents a subset
to avoid the complication of including X/Open Curses and the
terminal capabilities database.
- <STRONG>o</STRONG> While it is certainly possible to write a <STRONG>tput</STRONG> program without
+ <B>o</B> While it is certainly possible to write a <B>tput</B> program without
using curses, none of the systems which have a curses
- implementation provide a <STRONG>tput</STRONG> utility which does not provide the
- <EM>capname</EM> feature.
+ implementation provide a <B>tput</B> utility which does not provide the
+ <I>capname</I> feature.
X/Open Curses Issue 7 (2009) is the first version to document
utilities. However that part of X/Open Curses does not follow existing
practice (i.e., Unix features documented in SVID 3):
- <STRONG>o</STRONG> It assigns exit code 4 to "invalid operand", which may be the same
- as <EM>unknown</EM> <EM>capability</EM>. For instance, the source code for Solaris'
+ <B>o</B> It assigns exit code 4 to "invalid operand", which may be the same
+ as <I>unknown</I> <I>capability</I>. For instance, the source code for Solaris'
xcurses uses the term "invalid" in this case.
- <STRONG>o</STRONG> It assigns exit code 255 to a numeric variable that is not
+ <B>o</B> It assigns exit code 255 to a numeric variable that is not
specified in the terminfo database. That likely is a documentation
- error, confusing the <STRONG>-1</STRONG> written to the standard output for an
+ error, confusing the <B>-1</B> written to the standard output for an
absent or cancelled numeric value versus an (unsigned) exit code.
The various Unix systems (AIX, HPUX, Solaris) use the same exit-codes
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>, <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>, <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+ <B><A HREF="clear.1.html">clear(1)</A></B>, <B>stty(1)</B>, <B><A HREF="tabs.1.html">tabs(1)</A></B>, <B><A HREF="tset.1.html">tset(1)</A></B>, <B><A HREF="curs_termcap.3X.html">curs_termcap(3X)</A></B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>.
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ <B><A HREF="tput.1.html">tput(1)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.55 2020/02/02 23:34:34 tom Exp @
+ * @Id: tset.1,v 1.56 2021/06/17 21:26:02 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1</TITLE>
+<TITLE>@TSET@ 1</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1</H1>
+<H1 class="no-header">@TSET@ 1</H1>
<PRE>
-<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> General Commands Manual <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+<B><A HREF="tset.1.html">tset(1)</A></B> General Commands Manual <B><A HREF="tset.1.html">tset(1)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>tset</STRONG>, <STRONG>reset</STRONG> - terminal initialization
+ <B>tset</B>, <B>reset</B> - terminal initialization
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
- <STRONG>reset</STRONG> [<STRONG>-IQVcqrsw</STRONG>] [<STRONG>-</STRONG>] [<STRONG>-e</STRONG> <EM>ch</EM>] [<STRONG>-i</STRONG> <EM>ch</EM>] [<STRONG>-k</STRONG> <EM>ch</EM>] [<STRONG>-m</STRONG> <EM>mapping</EM>] [<EM>terminal</EM>]
+ <B>tset</B> [<B>-IQVcqrsw</B>] [<B>-</B>] [<B>-e</B> <I>ch</I>] [<B>-i</B> <I>ch</I>] [<B>-k</B> <I>ch</I>] [<B>-m</B> <I>mapping</I>] [<I>terminal</I>]
+ <B>reset</B> [<B>-IQVcqrsw</B>] [<B>-</B>] [<B>-e</B> <I>ch</I>] [<B>-i</B> <I>ch</I>] [<B>-k</B> <I>ch</I>] [<B>-m</B> <I>mapping</I>] [<I>terminal</I>]
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-tset---initialization">tset - initialization</a></H3><PRE>
This program initializes terminals.
- First, <STRONG>tset</STRONG> retrieves the current terminal mode settings for your
+ First, <B>tset</B> retrieves the current terminal mode settings for your
terminal. It does this by successively testing
- <STRONG>o</STRONG> the standard error,
+ <B>o</B> the standard error,
- <STRONG>o</STRONG> standard output,
+ <B>o</B> standard output,
- <STRONG>o</STRONG> standard input and
+ <B>o</B> standard input and
- <STRONG>o</STRONG> ultimately "/dev/tty"
+ <B>o</B> ultimately "/dev/tty"
- to obtain terminal settings. Having retrieved these settings, <STRONG>tset</STRONG>
+ to obtain terminal settings. Having retrieved these settings, <B>tset</B>
remembers which file descriptor to use when updating settings.
- Next, <STRONG>tset</STRONG> determines the type of terminal that you are using. This
+ Next, <B>tset</B> determines the type of terminal that you are using. This
determination is done as follows, using the first terminal type found.
- 1. The <STRONG>terminal</STRONG> argument specified on the command line.
+ 1. The <B>terminal</B> argument specified on the command line.
- 2. The value of the <STRONG>TERM</STRONG> environmental variable.
+ 2. The value of the <B>TERM</B> environmental variable.
3. (BSD systems only.) The terminal type associated with the standard
- error output device in the <EM>/etc/ttys</EM> file. (On System-V-like UNIXes
- and systems using that convention, <EM>getty</EM> does this job by setting <STRONG>TERM</STRONG>
- according to the type passed to it by <EM>/etc/inittab</EM>.)
+ error output device in the <I>/etc/ttys</I> file. (On System-V-like UNIXes
+ and systems using that convention, <I>getty</I> does this job by setting <B>TERM</B>
+ according to the type passed to it by <I>/etc/inittab</I>.)
4. The default terminal type, "unknown".
- If the terminal type was not specified on the command-line, the <STRONG>-m</STRONG>
- option mappings are then applied (see the section <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG>
+ If the terminal type was not specified on the command-line, the <B>-m</B>
+ option mappings are then applied (see the section <B>TERMINAL</B> <B>TYPE</B> <B>MAPPING</B>
for more information). Then, if the terminal type begins with a
question mark ("?"), the user is prompted for confirmation of the
terminal type. An empty response confirms the type, or, another type
Once the terminal description is retrieved,
- <STRONG>o</STRONG> if the "<STRONG>-w</STRONG>" option is enabled, <STRONG>tset</STRONG> may update the terminal's
+ <B>o</B> if the "<B>-w</B>" option is enabled, <B>tset</B> may update the terminal's
window size.
If the window size cannot be obtained from the operating system,
- but the terminal description (or environment, e.g., <STRONG>LINES</STRONG> and
- <STRONG>COLUMNS</STRONG> variables specify this), use this to set the operating
+ but the terminal description (or environment, e.g., <B>LINES</B> and
+ <B>COLUMNS</B> variables specify this), use this to set the operating
system's notion of the window size.
- <STRONG>o</STRONG> if the "<STRONG>-c</STRONG>" option is enabled, the backspace, interrupt and line
+ <B>o</B> if the "<B>-c</B>" option is enabled, the backspace, interrupt and line
kill characters (among many other things) are set
- <STRONG>o</STRONG> unless the "<STRONG>-I</STRONG>" option is enabled, the terminal and tab
- <EM>initialization</EM> strings are sent to the standard error output, and
- <STRONG>tset</STRONG> waits one second (in case a hardware reset was issued).
+ <B>o</B> unless the "<B>-I</B>" option is enabled, the terminal and tab
+ <I>initialization</I> strings are sent to the standard error output, and
+ <B>tset</B> waits one second (in case a hardware reset was issued).
- <STRONG>o</STRONG> Finally, if the erase, interrupt and line kill characters have
+ <B>o</B> Finally, if the erase, interrupt and line kill characters have
changed, or are not set to their default values, their values are
displayed to the standard error output.
</PRE><H3><a name="h3-reset---reinitialization">reset - reinitialization</a></H3><PRE>
- When invoked as <STRONG>reset</STRONG>, <STRONG>tset</STRONG> sets the terminal modes to "sane" values:
+ When invoked as <B>reset</B>, <B>tset</B> sets the terminal modes to "sane" values:
- <STRONG>o</STRONG> sets cooked and echo modes,
+ <B>o</B> sets cooked and echo modes,
- <STRONG>o</STRONG> turns off cbreak and raw modes,
+ <B>o</B> turns off cbreak and raw modes,
- <STRONG>o</STRONG> turns on newline translation and
+ <B>o</B> turns on newline translation and
- <STRONG>o</STRONG> resets any unset special characters to their default values
+ <B>o</B> resets any unset special characters to their default values
before doing the terminal initialization described above. Also, rather
- than using the terminal <EM>initialization</EM> strings, it uses the terminal
- <EM>reset</EM> strings.
+ than using the terminal <I>initialization</I> strings, it uses the terminal
+ <I>reset</I> strings.
- The <STRONG>reset</STRONG> command is useful after a program dies leaving a terminal in
+ The <B>reset</B> command is useful after a program dies leaving a terminal in
an abnormal state:
- <STRONG>o</STRONG> you may have to type
+ <B>o</B> you may have to type
- <EM><LF></EM><STRONG>reset</STRONG><EM><LF></EM>
+ <I><LF></I><B>reset</B><I><LF></I>
(the line-feed character is normally control-J) to get the terminal
to work, as carriage-return may no longer work in the abnormal
state.
- <STRONG>o</STRONG> Also, the terminal will often not echo the command.
+ <B>o</B> Also, the terminal will often not echo the command.
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
The options are as follows:
- <STRONG>-c</STRONG> Set control characters and modes.
+ <B>-c</B> Set control characters and modes.
- <STRONG>-e</STRONG> Set the erase character to <EM>ch</EM>.
+ <B>-e</B> Set the erase character to <I>ch</I>.
- <STRONG>-I</STRONG> Do not send the terminal or tab initialization strings to the
+ <B>-I</B> Do not send the terminal or tab initialization strings to the
terminal.
- <STRONG>-i</STRONG> Set the interrupt character to <EM>ch</EM>.
+ <B>-i</B> Set the interrupt character to <I>ch</I>.
- <STRONG>-k</STRONG> Set the line kill character to <EM>ch</EM>.
+ <B>-k</B> Set the line kill character to <I>ch</I>.
- <STRONG>-m</STRONG> Specify a mapping from a port type to a terminal. See the section
- <STRONG>TERMINAL</STRONG> <STRONG>TYPE</STRONG> <STRONG>MAPPING</STRONG> for more information.
+ <B>-m</B> Specify a mapping from a port type to a terminal. See the section
+ <B>TERMINAL</B> <B>TYPE</B> <B>MAPPING</B> for more information.
- <STRONG>-Q</STRONG> Do not display any values for the erase, interrupt and line kill
- characters. Normally <STRONG>tset</STRONG> displays the values for control
+ <B>-Q</B> Do not display any values for the erase, interrupt and line kill
+ characters. Normally <B>tset</B> displays the values for control
characters which differ from the system's default values.
- <STRONG>-q</STRONG> The terminal type is displayed to the standard output, and the
+ <B>-q</B> The terminal type is displayed to the standard output, and the
terminal is not initialized in any way. The option "-" by itself
is equivalent but archaic.
- <STRONG>-r</STRONG> Print the terminal type to the standard error output.
+ <B>-r</B> Print the terminal type to the standard error output.
- <STRONG>-s</STRONG> Print the sequence of shell commands to initialize the environment
- variable <STRONG>TERM</STRONG> to the standard output. See the section <STRONG>SETTING</STRONG> <STRONG>THE</STRONG>
- <STRONG>ENVIRONMENT</STRONG> for details.
+ <B>-s</B> Print the sequence of shell commands to initialize the environment
+ variable <B>TERM</B> to the standard output. See the section <B>SETTING</B> <B>THE</B>
+ <B>ENVIRONMENT</B> for details.
- <STRONG>-V</STRONG> reports the version of ncurses which was used in this program, and
+ <B>-V</B> reports the version of ncurses which was used in this program, and
exits.
- <STRONG>-w</STRONG> Resize the window to match the size deduced via <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
- Normally this has no effect, unless <STRONG>setupterm</STRONG> is not able to
+ <B>-w</B> Resize the window to match the size deduced via <B><A HREF="curs_terminfo.3X.html">setupterm(3X)</A></B>.
+ Normally this has no effect, unless <B>setupterm</B> is not able to
detect the window size.
- The arguments for the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options may either be entered as
+ The arguments for the <B>-e</B>, <B>-i</B>, and <B>-k</B> options may either be entered as
actual characters or by using the "hat" notation, i.e., control-h may
be specified as "^H" or "^h".
- If neither <STRONG>-c</STRONG> or <STRONG>-w</STRONG> is given, both options are assumed.
+ If neither <B>-c</B> or <B>-w</B> is given, both options are assumed.
</PRE><H2><a name="h2-SETTING-THE-ENVIRONMENT">SETTING THE ENVIRONMENT</a></H2><PRE>
It is often desirable to enter the terminal type and information about
the terminal's capabilities into the shell's environment. This is done
- using the <STRONG>-s</STRONG> option.
+ using the <B>-s</B> option.
- When the <STRONG>-s</STRONG> option is specified, the commands to enter the information
+ When the <B>-s</B> option is specified, the commands to enter the information
into the shell's environment are written to the standard output. If
- the <STRONG>SHELL</STRONG> environmental variable ends in "csh", the commands are for
- <STRONG>csh</STRONG>, otherwise, they are for <STRONG>sh</STRONG>. Note, the <STRONG>csh</STRONG> commands set and unset
- the shell variable <STRONG>noglob</STRONG>, leaving it unset. The following line in the
- <STRONG>.login</STRONG> or <STRONG>.profile</STRONG> files will initialize the environment correctly:
+ the <B>SHELL</B> environmental variable ends in "csh", the commands are for
+ <B>csh</B>, otherwise, they are for <B>sh</B>. Note, the <B>csh</B> commands set and unset
+ the shell variable <B>noglob</B>, leaving it unset. The following line in the
+ <B>.login</B> or <B>.profile</B> files will initialize the environment correctly:
eval `tset -s options ... `
</PRE><H2><a name="h2-TERMINAL-TYPE-MAPPING">TERMINAL TYPE MAPPING</a></H2><PRE>
When the terminal is not hardwired into the system (or the current
system information is incorrect) the terminal type derived from the
- <EM>/etc/ttys</EM> file or the <STRONG>TERM</STRONG> environmental variable is often something
- generic like <STRONG>network</STRONG>, <STRONG>dialup</STRONG>, or <STRONG>unknown</STRONG>. When <STRONG>tset</STRONG> is used in a
+ <I>/etc/ttys</I> file or the <B>TERM</B> environmental variable is often something
+ generic like <B>network</B>, <B>dialup</B>, or <B>unknown</B>. When <B>tset</B> is used in a
startup script it is often desirable to provide information about the
type of terminal used on such ports.
- The <STRONG>-m</STRONG> options maps from some set of conditions to a terminal type,
- that is, to tell <STRONG>tset</STRONG> "If I'm on this port at a particular speed, guess
+ The <B>-m</B> options maps from some set of conditions to a terminal type,
+ that is, to tell <B>tset</B> "If I'm on this port at a particular speed, guess
that I'm on that kind of terminal".
- The argument to the <STRONG>-m</STRONG> option consists of an optional port type, an
+ The argument to the <B>-m</B> option consists of an optional port type, an
optional operator, an optional baud rate specification, an optional
colon (":") character and a terminal type. The port type is a string
(delimited by either the operator or the colon character). The
compared with the speed of the standard error output (which should be
the control terminal). The terminal type is a string.
- If the terminal type is not specified on the command line, the <STRONG>-m</STRONG>
+ If the terminal type is not specified on the command line, the <B>-m</B>
mappings are applied to the terminal type. If the port type and baud
rate match the mapping, the terminal type specified in the mapping
replaces the current type. If more than one mapping is specified, the
first applicable mapping is used.
- For example, consider the following mapping: <STRONG>dialup>9600:vt100</STRONG>. The
+ For example, consider the following mapping: <B>dialup>9600:vt100</B>. The
port type is dialup , the operator is >, the baud rate specification is
9600, and the terminal type is vt100. The result of this mapping is to
- specify that if the terminal type is <STRONG>dialup</STRONG>, and the baud rate is
- greater than 9600 baud, a terminal type of <STRONG>vt100</STRONG> will be used.
+ specify that if the terminal type is <B>dialup</B>, and the baud rate is
+ greater than 9600 baud, a terminal type of <B>vt100</B> will be used.
If no baud rate is specified, the terminal type will match any baud
rate. If no port type is specified, the terminal type will match any
- port type. For example, <STRONG>-m</STRONG> <STRONG>dialup:vt100</STRONG> <STRONG>-m</STRONG> <STRONG>:?xterm</STRONG> will cause any
+ port type. For example, <B>-m</B> <B>dialup:vt100</B> <B>-m</B> <B>:?xterm</B> will cause any
dialup port, regardless of baud rate, to match the terminal type vt100,
and any non-dialup port type to match the terminal type ?xterm. Note,
because of the leading question mark, the user will be queried on a
default port as to whether they are actually using an xterm terminal.
- No whitespace characters are permitted in the <STRONG>-m</STRONG> option argument.
+ No whitespace characters are permitted in the <B>-m</B> option argument.
Also, to avoid problems with meta-characters, it is suggested that the
- entire <STRONG>-m</STRONG> option argument be placed within single quote characters, and
- that <STRONG>csh</STRONG> users insert a backslash character ("\") before any
+ entire <B>-m</B> option argument be placed within single quote characters, and
+ that <B>csh</B> users insert a backslash character ("\") before any
exclamation marks ("!").
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- A <STRONG>reset</STRONG> command appeared in 2BSD (April 1979), written by Kurt Shoens.
- This program set the <EM>erase</EM> and <EM>kill</EM> characters to <STRONG>^H</STRONG> (backspace) and <STRONG>@</STRONG>
+ A <B>reset</B> command appeared in 2BSD (April 1979), written by Kurt Shoens.
+ This program set the <I>erase</I> and <I>kill</I> characters to <B>^H</B> (backspace) and <B>@</B>
respectively. Mark Horton improved that in 3BSD (October 1979), adding
- <EM>intr</EM>, <EM>quit</EM>, <EM>start</EM>/<EM>stop</EM> and <EM>eof</EM> characters as well as changing the
+ <I>intr</I>, <I>quit</I>, <I>start</I>/<I>stop</I> and <I>eof</I> characters as well as changing the
program to avoid modifying any user settings.
- Later in 4.1BSD (December 1980), Mark Horton added a call to the <STRONG>tset</STRONG>
- program using the <STRONG>-I</STRONG> and <STRONG>-Q</STRONG> options, i.e., using that to improve the
- terminal modes. With those options, that version of <STRONG>reset</STRONG> did not use
+ Later in 4.1BSD (December 1980), Mark Horton added a call to the <B>tset</B>
+ program using the <B>-I</B> and <B>-Q</B> options, i.e., using that to improve the
+ terminal modes. With those options, that version of <B>reset</B> did not use
the termcap database.
- A separate <STRONG>tset</STRONG> command was provided in 2BSD by Eric Allman. While the
- oldest published source (from 1979) provides both <STRONG>tset</STRONG> and <STRONG>reset</STRONG>,
+ A separate <B>tset</B> command was provided in 2BSD by Eric Allman. While the
+ oldest published source (from 1979) provides both <B>tset</B> and <B>reset</B>,
Allman's comments in the 2BSD source code indicate that he began work
in October 1977, continuing development over the next few years.
- In September 1980, Eric Allman modified <STRONG>tset</STRONG>, adding the code from the
- existing "reset" feature when <STRONG>tset</STRONG> was invoked as <STRONG>reset</STRONG>. Rather than
- simply copying the existing program, in this merged version, <STRONG>tset</STRONG> used
+ In September 1980, Eric Allman modified <B>tset</B>, adding the code from the
+ existing "reset" feature when <B>tset</B> was invoked as <B>reset</B>. Rather than
+ simply copying the existing program, in this merged version, <B>tset</B> used
the termcap database to do additional (re)initialization of the
terminal. This version appeared in 4.1cBSD, late in 1982.
Other developers (e.g., Keith Bostic and Jim Bloom) continued to modify
- <STRONG>tset</STRONG> until 4.4BSD was released in 1993.
+ <B>tset</B> until 4.4BSD was released in 1993.
- The <STRONG>ncurses</STRONG> implementation was lightly adapted from the 4.4BSD sources
+ The <B>ncurses</B> implementation was lightly adapted from the 4.4BSD sources
for a terminfo environment by Eric S. Raymond <esr@snark.thyrsus.com>.
</PRE><H2><a name="h2-COMPATIBILITY">COMPATIBILITY</a></H2><PRE>
Neither IEEE Std 1003.1/The Open Group Base Specifications Issue 7
- (POSIX.1-2008) nor X/Open Curses Issue 7 documents <STRONG>tset</STRONG> or <STRONG>reset</STRONG>.
+ (POSIX.1-2008) nor X/Open Curses Issue 7 documents <B>tset</B> or <B>reset</B>.
- The AT&T <STRONG>tput</STRONG> utility (AIX, HPUX, Solaris) incorporated the terminal-
+ The AT&T <B>tput</B> utility (AIX, HPUX, Solaris) incorporated the terminal-
mode manipulation as well as termcap-based features such as resetting
- tabstops from <STRONG>tset</STRONG> in BSD (4.1c), presumably with the intention of
- making <STRONG>tset</STRONG> obsolete. However, each of those systems still provides
- <STRONG>tset</STRONG>. In fact, the commonly-used <STRONG>reset</STRONG> utility is always an alias for
- <STRONG>tset</STRONG>.
+ tabstops from <B>tset</B> in BSD (4.1c), presumably with the intention of
+ making <B>tset</B> obsolete. However, each of those systems still provides
+ <B>tset</B>. In fact, the commonly-used <B>reset</B> utility is always an alias for
+ <B>tset</B>.
- The <STRONG>tset</STRONG> utility provides for backward-compatibility with BSD
- environments (under most modern UNIXes, <STRONG>/etc/inittab</STRONG> and <STRONG>getty(1)</STRONG> can
- set <STRONG>TERM</STRONG> appropriately for each dial-up line; this obviates what was
- <STRONG>tset</STRONG>'s most important use). This implementation behaves like 4.4BSD
- <STRONG>tset</STRONG>, with a few exceptions specified here.
+ The <B>tset</B> utility provides for backward-compatibility with BSD
+ environments (under most modern UNIXes, <B>/etc/inittab</B> and <B>getty(1)</B> can
+ set <B>TERM</B> appropriately for each dial-up line; this obviates what was
+ <B>tset</B>'s most important use). This implementation behaves like 4.4BSD
+ <B>tset</B>, with a few exceptions specified here.
- A few options are different because the <STRONG>TERMCAP</STRONG> variable is no longer
- supported under terminfo-based <STRONG>ncurses</STRONG>:
+ A few options are different because the <B>TERMCAP</B> variable is no longer
+ supported under terminfo-based <B>ncurses</B>:
- <STRONG>o</STRONG> The <STRONG>-S</STRONG> option of BSD <STRONG>tset</STRONG> no longer works; it prints an error
+ <B>o</B> The <B>-S</B> option of BSD <B>tset</B> no longer works; it prints an error
message to the standard error and dies.
- <STRONG>o</STRONG> The <STRONG>-s</STRONG> option only sets <STRONG>TERM</STRONG>, not <STRONG>TERMCAP</STRONG>.
+ <B>o</B> The <B>-s</B> option only sets <B>TERM</B>, not <B>TERMCAP</B>.
- There was an undocumented 4.4BSD feature that invoking <STRONG>tset</STRONG> via a link
+ There was an undocumented 4.4BSD feature that invoking <B>tset</B> via a link
named "TSET" (or via any other name beginning with an upper-case
letter) set the terminal to use upper-case only. This feature has been
omitted.
- The <STRONG>-A</STRONG>, <STRONG>-E</STRONG>, <STRONG>-h</STRONG>, <STRONG>-u</STRONG> and <STRONG>-v</STRONG> options were deleted from the <STRONG>tset</STRONG> utility in
+ The <B>-A</B>, <B>-E</B>, <B>-h</B>, <B>-u</B> and <B>-v</B> options were deleted from the <B>tset</B> utility in
4.4BSD. None of them were documented in 4.3BSD and all are of limited
- utility at best. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and <STRONG>-p</STRONG> options are similarly not
+ utility at best. The <B>-a</B>, <B>-d</B>, and <B>-p</B> options are similarly not
documented or useful, but were retained as they appear to be in
widespread use. It is strongly recommended that any usage of these
- three options be changed to use the <STRONG>-m</STRONG> option instead. The <STRONG>-a</STRONG>, <STRONG>-d</STRONG>, and
- <STRONG>-p</STRONG> options are therefore omitted from the usage summary above.
+ three options be changed to use the <B>-m</B> option instead. The <B>-a</B>, <B>-d</B>, and
+ <B>-p</B> options are therefore omitted from the usage summary above.
Very old systems, e.g., 3BSD, used a different terminal driver which
was replaced in 4BSD in the early 1980s. To accommodate these older
- systems, the 4BSD <STRONG>tset</STRONG> provided a <STRONG>-n</STRONG> option to specify that the new
+ systems, the 4BSD <B>tset</B> provided a <B>-n</B> option to specify that the new
terminal driver should be used. This implementation does not provide
that choice.
- It is still permissible to specify the <STRONG>-e</STRONG>, <STRONG>-i</STRONG>, and <STRONG>-k</STRONG> options without
+ It is still permissible to specify the <B>-e</B>, <B>-i</B>, and <B>-k</B> options without
arguments, although it is strongly recommended that such usage be fixed
to explicitly specify the character.
- As of 4.4BSD, executing <STRONG>tset</STRONG> as <STRONG>reset</STRONG> no longer implies the <STRONG>-Q</STRONG> option.
- Also, the interaction between the - option and the <EM>terminal</EM> argument in
- some historic implementations of <STRONG>tset</STRONG> has been removed.
+ As of 4.4BSD, executing <B>tset</B> as <B>reset</B> no longer implies the <B>-Q</B> option.
+ Also, the interaction between the - option and the <I>terminal</I> argument in
+ some historic implementations of <B>tset</B> has been removed.
- The <STRONG>-c</STRONG> and <STRONG>-w</STRONG> options are not found in earlier implementations.
+ The <B>-c</B> and <B>-w</B> options are not found in earlier implementations.
However, a different window size-change feature was provided in 4.4BSD.
- <STRONG>o</STRONG> In 4.4BSD, <STRONG>tset</STRONG> uses the window size from the termcap description
- to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
+ <B>o</B> In 4.4BSD, <B>tset</B> uses the window size from the termcap description
+ to set the window size if <B>tset</B> is not able to obtain the window
size from the operating system.
- <STRONG>o</STRONG> In ncurses, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
- be from the operating system, the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment
+ <B>o</B> In ncurses, <B>tset</B> obtains the window size using <B>setupterm</B>, which may
+ be from the operating system, the <B>LINES</B> and <B>COLUMNS</B> environment
variables or the terminal description.
Obtaining the window size from the terminal description is common to
both implementations, but considered obsolescent. Its only practical
use is for hardware terminals. Generally speaking, a window size would
be unset only if there were some problem obtaining the value from the
- operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason,
- the <STRONG>LINES</STRONG> and <STRONG>COLUMNS</STRONG> environment variables may be useful for working
+ operating system (and <B>setupterm</B> would still fail). For that reason,
+ the <B>LINES</B> and <B>COLUMNS</B> environment variables may be useful for working
around window-size problems. Those have the drawback that if the
window is resized, those variables must be recomputed and reassigned.
- To do this more easily, use the <STRONG><A HREF="resize.1.html">resize(1)</A></STRONG> program.
+ To do this more easily, use the <B><A HREF="resize.1.html">resize(1)</A></B> program.
</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
- The <STRONG>tset</STRONG> command uses these environment variables:
+ The <B>tset</B> command uses these environment variables:
SHELL
- tells <STRONG>tset</STRONG> whether to initialize <STRONG>TERM</STRONG> using <STRONG>sh</STRONG> or <STRONG>csh</STRONG> syntax.
+ tells <B>tset</B> whether to initialize <B>TERM</B> using <B>sh</B> or <B>csh</B> syntax.
TERM Denotes your terminal type. Each terminal type is distinct,
though many are similar.
TERMCAP
may denote the location of a termcap database. If it is not an
- absolute pathname, e.g., begins with a "/", <STRONG>tset</STRONG> removes the
+ absolute pathname, e.g., begins with a "/", <B>tset</B> removes the
variable from the environment before looking for the terminal
description.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG>csh(1)</STRONG>, <STRONG>sh(1)</STRONG>, <STRONG>stty(1)</STRONG>, <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>, <STRONG>tty(4)</STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>,
- <STRONG>ttys(5)</STRONG>, <STRONG>environ(7)</STRONG>
+ <B>csh(1)</B>, <B>sh(1)</B>, <B>stty(1)</B>, <B><A HREF="curs_terminfo.3X.html">curs_terminfo(3X)</A></B>, <B>tty(4)</B>, <B><A HREF="terminfo.5.html">terminfo(5)</A></B>,
+ <B>ttys(5)</B>, <B>environ(7)</B>
- This describes <STRONG>ncurses</STRONG> version 6.2 (patch 20210522).
+ This describes <B>ncurses</B> version 6.2 (patch 20210612).
- <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ <B><A HREF="tset.1.html">tset(1)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: user_caps.5,v 1.16 2020/12/19 21:26:11 tom Exp @
+ * @Id: user_caps.5,v 1.17 2021/06/17 21:30:22 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<BODY>
<H1 class="no-header">user_caps 5</H1>
<PRE>
-<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File Formats Manual <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+<B><A HREF="user_caps.5.html">user_caps(5)</A></B> File Formats Manual <B><A HREF="user_caps.5.html">user_caps(5)</A></B>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>tic</STRONG> <STRONG>-x,</STRONG> <STRONG>infocmp</STRONG> <STRONG>-x</STRONG>
+ <B>tic</B> <B>-x,</B> <B>infocmp</B> <B>-x</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H3><a name="h3-Background">Background</a></H3><PRE>
- Before ncurses 5.0, terminfo databases used a <EM>fixed</EM> <EM>repertoire</EM> of
+ Before ncurses 5.0, terminfo databases used a <I>fixed</I> <I>repertoire</I> of
terminal capabilities designed for the SVr2 terminal database in 1984,
and extended in stages through SVr4 (1989), and standardized in the
Single Unix Specification beginning in 1995.
- Most of the <EM>extensions</EM> in this fixed repertoire were additions to the
+ Most of the <I>extensions</I> in this fixed repertoire were additions to the
tables of boolean, numeric and string capabilities. Rather than change
the meaning of an existing capability, a new name was added. The
terminfo database uses a binary format; binary compatibility was
ensured by using a header which gave the number of items in the tables
for each type of capability. The standardization was incomplete:
- <STRONG>o</STRONG> The <EM>binary</EM> <EM>format</EM> itself is not described in the X/Open Curses
- documentation. Only the <EM>source</EM> <EM>format</EM> is described.
+ <B>o</B> The <I>binary</I> <I>format</I> itself is not described in the X/Open Curses
+ documentation. Only the <I>source</I> <I>format</I> is described.
Library developers rely upon the SVr4 documentation, and reverse-
engineering the compiled terminfo files to match the binary format.
- <STRONG>o</STRONG> Lacking a standard for the binary format, most implementations copy
+ <B>o</B> Lacking a standard for the binary format, most implementations copy
the SVr2 binary format, which uses 16-bit signed integers, and is
limited to 4096-byte entries.
The format cannot represent very large numeric capabilities, nor
can it represent large numbers of special keyboard definitions.
- <STRONG>o</STRONG> The tables of capability names differ between implementations.
+ <B>o</B> The tables of capability names differ between implementations.
- Although they <EM>may</EM> provide all of the standard capability names, the
+ Although they <I>may</I> provide all of the standard capability names, the
position in the tables differs because some features were added as
needed, while others were added (out of order) to comply with
X/Open Curses.
configured with tables which match the terminal databases for AIX,
HP-UX or OSF/1, rather than the default Solaris-like configuration.
- <STRONG>o</STRONG> In SVr4 curses and ncurses, the terminal database is defined at
+ <B>o</B> In SVr4 curses and ncurses, the terminal database is defined at
compile-time using a text file which lists the different terminal
capabilities.
(box1) box characters primary set
The memory lock/unlock capabilities were included because they were
- used in the X11R6 terminal description for <STRONG>xterm</STRONG>. The <EM>box1</EM>
+ used in the X11R6 terminal description for <B>xterm</B>. The <I>box1</I>
capability is used in tic to help with terminal descriptions
written for AIX.
During the 1990s, some users were reluctant to use terminfo in spite of
its performance advantages over termcap:
- <STRONG>o</STRONG> The fixed repertoire prevented users from adding features for
+ <B>o</B> The fixed repertoire prevented users from adding features for
unanticipated terminal improvements (or required them to reuse
existing capabilities as a workaround).
- <STRONG>o</STRONG> The limitation to 16-bit signed integers was also mentioned.
+ <B>o</B> The limitation to 16-bit signed integers was also mentioned.
Because termcap stores everything as a string, it could represent
larger numbers.
Although termcap's extensibility was rarely used (it was never the
- <EM>speaker</EM> who had actually used the feature), the criticism had a point.
+ <I>speaker</I> who had actually used the feature), the criticism had a point.
ncurses 5.0 provided a way to detect nonstandard capabilities,
determine their type and optionally store and retrieve them in a way
which did not interfere with other applications. These are referred to
- as <EM>user-defined</EM> <EM>capabilities</EM> because no modifications to the toolset's
+ as <I>user-defined</I> <I>capabilities</I> because no modifications to the toolset's
predefined capability names are needed.
- The ncurses utilities <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> have a command-line option "-x"
+ The ncurses utilities <B>tic</B> and <B>infocmp</B> have a command-line option "-x"
to control whether the nonstandard capabilities are stored or
- retrieved. A library function <STRONG>use_extended_names</STRONG> is provided for the
+ retrieved. A library function <B>use_extended_names</B> is provided for the
same purpose.
- When compiling a terminal database, if "-x" is set, <STRONG>tic</STRONG> will store a
+ When compiling a terminal database, if "-x" is set, <B>tic</B> will store a
user-defined capability if the capability name is not one of the
predefined names.
Because ncurses provides a termcap library interface, these user-
defined capabilities may be visible to termcap applications:
- <STRONG>o</STRONG> The termcap interface (like all implementations of termcap)
+ <B>o</B> The termcap interface (like all implementations of termcap)
requires that the capability names are 2-characters.
When the capability is simple enough for use in a termcap
application, it is provided as a 2-character name.
- <STRONG>o</STRONG> There are other user-defined capabilities which refer to features
+ <B>o</B> There are other user-defined capabilities which refer to features
not usable in termcap, e.g., parameterized strings that use more
than two parameters or use more than the trivial expression support
provided by termcap. For these, the terminfo database should have
only capability names with 3 or more characters.
- <STRONG>o</STRONG> Some terminals can send distinct strings for special keys (cursor-,
+ <B>o</B> Some terminals can send distinct strings for special keys (cursor-,
keypad- or function-keys) depending on modifier keys (shift,
control, etc.). While terminfo and termcap have a set of 60
predefined function-key names, to which a series of keys can be
assigned, that is insufficient for more than a dozen keys
multiplied by more than a couple of modifier combinations. The
- ncurses database uses a convention based on <STRONG>xterm</STRONG> to provide
+ ncurses database uses a convention based on <B>xterm</B> to provide
extended special-key names.
Fitting that into termcap's limitation of 2-character names would
terminfo database may have other extensions, ncurses makes explicit
checks for these:
- AX <EM>boolean</EM>, asserts that the terminal interprets SGR 39 and SGR 49
+ AX <I>boolean</I>, asserts that the terminal interprets SGR 39 and SGR 49
by resetting the foreground and background color, respectively,
to the default.
- This is a feature recognized by the <STRONG>screen</STRONG> program as well.
+ This is a feature recognized by the <B>screen</B> program as well.
- E3 <EM>string</EM>, tells how to clear the terminal's scrollback buffer.
- When present, the <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> program sends this before clearing the
+ E3 <I>string</I>, tells how to clear the terminal's scrollback buffer.
+ When present, the <B><A HREF="clear.1.html">clear(1)</A></B> program sends this before clearing the
terminal.
- The command "<STRONG>tput</STRONG> <STRONG>clear</STRONG>" does the same thing.
+ The command "<B>tput</B> <B>clear</B>" does the same thing.
RGB
- <EM>boolean</EM>, <EM>number</EM> <STRONG>or</STRONG> <EM>string</EM>, to assert that the <STRONG>set_a_foreground</STRONG>
- and <STRONG>set_a_background</STRONG> capabilities correspond to <EM>direct</EM> <EM>colors</EM>,
+ <I>boolean</I>, <I>number</I> <B>or</B> <I>string</I>, to assert that the <B>set_a_foreground</B>
+ and <B>set_a_background</B> capabilities correspond to <I>direct</I> <I>colors</I>,
using an RGB (red/green/blue) convention. This capability allows
- the <STRONG>color_content</STRONG> function to return appropriate values without
- requiring the application to initialize colors using <STRONG>init_color</STRONG>.
+ the <B>color_content</B> function to return appropriate values without
+ requiring the application to initialize colors using <B>init_color</B>.
The capability type determines the values which ncurses sees:
- <EM>boolean</EM>
+ <I>boolean</I>
implies that the number of bits for red, green and blue are
the same. Using the maximum number of colors, ncurses adds
two, divides that sum by three, and assigns the result to red,
multiple of three, the blue (and green) components lose in
comparison to red.
- <EM>number</EM>
+ <I>number</I>
tells ncurses what result to add to red, green and blue. If
ncurses runs out of bits, blue (and green) lose just as in the
- <EM>boolean</EM> case.
+ <I>boolean</I> case.
- <EM>string</EM>
+ <I>string</I>
explicitly list the number of bits used for red, green and
blue components as a slash-separated list of decimal integers.
Because there are several RGB encodings in use, applications
which make assumptions about the number of bits per color are
unlikely to work reliably. As a trivial case, for example, one
- could define <STRONG>RGB#1</STRONG> to represent the standard eight ANSI colors,
+ could define <B>RGB#1</B> to represent the standard eight ANSI colors,
i.e., one bit per color.
- U8 <EM>number</EM>, asserts that ncurses must use Unicode values for line-
+ U8 <I>number</I>, asserts that ncurses must use Unicode values for line-
drawing characters, and that it should ignore the alternate
character set capabilities when the locale uses UTF-8 encoding.
- For more information, see the discussion of <STRONG>NCURSES_NO_UTF8_ACS</STRONG>
- in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+ For more information, see the discussion of <B>NCURSES_NO_UTF8_ACS</B>
+ in <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B>.
Set this capability to a nonzero value to enable it.
- XM <EM>string</EM>, override ncurses's built-in string which enables/disables
- <STRONG>xterm</STRONG> mouse mode.
+ XM <I>string</I>, override ncurses's built-in string which enables/disables
+ <B>xterm</B> mouse mode.
ncurses sends a character sequence to the terminal to initialize
mouse mode, and when the user clicks the mouse buttons or (in
certain modes) moves the mouse, handles the characters sent back
by the terminal to tell it what was done with the mouse.
- The mouse protocol is enabled when the <EM>mask</EM> passed in the
- <STRONG>mousemask</STRONG> function is nonzero. By default, ncurses handles the
+ The mouse protocol is enabled when the <I>mask</I> passed in the
+ <B>mousemask</B> function is nonzero. By default, ncurses handles the
responses for the X11 xterm mouse protocol. It also knows about
- the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol, but must to be told to look
+ the <I>SGR</I> <I>1006</I> xterm mouse protocol, but must to be told to look
for this specifically. It will not be able to guess which mode
is used, because the responses are enough alike that only
confusion would result.
- The <STRONG>XM</STRONG> capability has a single parameter. If nonzero, the mouse
+ The <B>XM</B> capability has a single parameter. If nonzero, the mouse
protocol should be enabled. If zero, the mouse protocol should
be disabled. ncurses inspects this capability if it is present,
to see whether the 1006 protocol is used. If so, it expects the
- responses to use the <EM>SGR</EM> <EM>1006</EM> xterm mouse protocol.
+ responses to use the <I>SGR</I> <I>1006</I> xterm mouse protocol.
The xterm mouse protocol is used by other terminal emulators.
The terminal database uses building-blocks for the various xterm
descriptions.
The terminal database building blocks for this mouse feature also
- have an experimental capability <EM>xm</EM>. The "xm" capability
+ have an experimental capability <I>xm</I>. The "xm" capability
describes the mouse response. Currently there is no interpreter
which would use this information to make the mouse support
completely data-driven.
- <EM>xm</EM> shows the format of the mouse responses. In this experimental
+ <I>xm</I> shows the format of the mouse responses. In this experimental
capability, the parameters are
- <EM>p1</EM> y-ordinate
+ <I>p1</I> y-ordinate
- <EM>p2</EM> x-ordinate
+ <I>p2</I> x-ordinate
- <EM>p3</EM> button
+ <I>p3</I> button
- <EM>p4</EM> state, e.g., pressed or released
+ <I>p4</I> state, e.g., pressed or released
- <EM>p5</EM> y-ordinate starting region
+ <I>p5</I> y-ordinate starting region
- <EM>p6</EM> x-ordinate starting region
+ <I>p6</I> x-ordinate starting region
- <EM>p7</EM> y-ordinate ending region
+ <I>p7</I> y-ordinate ending region
- <EM>p8</EM> x-ordinate ending region
+ <I>p8</I> x-ordinate ending region
Here are examples from the terminal database for the most
commonly used xterm mouse protocols:
combinations of modified special keys. There is no standard for what
those keys can send.
- Since 1999, <STRONG>xterm</STRONG> has supported <EM>shift</EM>, <EM>control</EM>, <EM>alt</EM>, and <EM>meta</EM> modifiers
+ Since 1999, <B>xterm</B> has supported <I>shift</I>, <I>control</I>, <I>alt</I>, and <I>meta</I> modifiers
which produce distinct special-key strings. In a terminal description,
ncurses has no special knowledge of the modifiers used. Applications
- can use the <EM>naming</EM> <EM>convention</EM> established for <STRONG>xterm</STRONG> to find these
+ can use the <I>naming</I> <I>convention</I> established for <B>xterm</B> to find these
special keys in the terminal description.
- Starting with the curses convention that <EM>key</EM> <EM>names</EM> begin with "k" and
+ Starting with the curses convention that <I>key</I> <I>names</I> begin with "k" and
that shifted special keys are an uppercase name, ncurses' terminal
database defines these names to which a suffix is added:
- <EM>Name</EM> <EM>Description</EM>
+ <I>Name</I> <I>Description</I>
---------------------------------------------------------------
kDC special form of kdch1 (delete character)
kDN special form of kcud1 (cursor down)
These are the suffixes used to denote the modifiers:
- <EM>Value</EM> <EM>Description</EM>
+ <I>Value</I> <I>Description</I>
----------------------------------
2 Shift
3 Alt
15 Meta + Ctrl + Alt
16 Meta + Ctrl + Alt + Shift
- None of these are predefined; terminal descriptions can refer to <EM>names</EM>
- which ncurses will allocate at runtime to <EM>key-codes</EM>. To use these keys
+ None of these are predefined; terminal descriptions can refer to <I>names</I>
+ which ncurses will allocate at runtime to <I>key-codes</I>. To use these keys
in an ncurses program, an application could do this:
- <STRONG>o</STRONG> using a list of extended key <EM>names</EM>, ask <STRONG><A HREF="curs_terminfo.3x.html">tigetstr(3x)</A></STRONG> for their
+ <B>o</B> using a list of extended key <I>names</I>, ask <B><A HREF="curs_terminfo.3X.html">tigetstr(3X)</A></B> for their
values, and
- <STRONG>o</STRONG> given the list of values, ask <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> for the <EM>key-code</EM>
- which would be returned for those keys by <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>.
+ <B>o</B> given the list of values, ask <B><A HREF="key_defined.3X.html">key_defined(3X)</A></B> for the <I>key-code</I>
+ which would be returned for those keys by <B><A HREF="curs_getch.3X.html">wgetch(3X)</A></B>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The "-x" extension feature of <STRONG>tic</STRONG> and <STRONG>infocmp</STRONG> has been adopted in
+ The "-x" extension feature of <B>tic</B> and <B>infocmp</B> has been adopted in
NetBSD curses. That implementation stores user-defined capabilities,
but makes no use of these capabilities itself.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>, <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>.
+ <B><A HREF="infocmp.1M.html">infocmp(1M)</A></B>, <B><A HREF="tic.1M.html">tic(1M)</A></B>.
- The terminal database section <EM>NCURSES</EM> <EM>USER-DEFINABLE</EM> <EM>CAPABILITIES</EM>
+ The terminal database section <I>NCURSES</I> <I>USER-DEFINABLE</I> <I>CAPABILITIES</I>
summarizes commonly-used user-defined capabilities which are used in
the terminal descriptions. Some of those features are mentioned in
- <STRONG>screen(1)</STRONG> or <STRONG>tmux(1)</STRONG>.
+ <B>screen(1)</B> or <B>tmux(1)</B>.
- <EM>XTerm</EM> <EM>Control</EM> <EM>Sequences</EM> provides further information on the <STRONG>xterm</STRONG>
+ <I>XTerm</I> <I>Control</I> <I>Sequences</I> provides further information on the <B>xterm</B>
features which are used in these extended capabilities.
- <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ <B><A HREF="user_caps.5.html">user_caps(5)</A></B>
</PRE>
<div class="nav">
<ul>
-<!--
+<!--
****************************************************************************
* Copyright 2018,2020 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>wresize 3x</TITLE>
+<TITLE>wresize 3X</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</HEAD>
<BODY>
-<H1 class="no-header">wresize 3x</H1>
+<H1 class="no-header">wresize 3X</H1>
<PRE>
-<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+<B><A HREF="wresize.3X.html">wresize(3X)</A></B> <B><A HREF="wresize.3X.html">wresize(3X)</A></B>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>wresize</STRONG> - resize a curses window
+ <B>wresize</B> - resize a curses window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
- <STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
+ <B>#include</B> <B><curses.h></B>
- <STRONG>int</STRONG> <STRONG>wresize(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>lines</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>columns</EM><STRONG>);</STRONG>
+ <B>int</B> <B>wresize(WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>lines</I><B>,</B> <B>int</B> <I>columns</I><B>);</B>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This is an extension to the curses library. It reallocates storage for
- an <STRONG>ncurses</STRONG> window to adjust its dimensions to the specified values. If
+ an <B>ncurses</B> window to adjust its dimensions to the specified values. If
either dimension is larger than the current values, the window's data
is filled with blanks that have the current background rendition (as
- set by <STRONG>wbkgdset</STRONG>) merged into them.
+ set by <B>wbkgdset</B>) merged into them.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- The function returns the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
+ The function returns the integer <B>ERR</B> upon failure and <B>OK</B> on success.
It will fail if either of the dimensions less than or equal to zero, or
if an error occurs while (re)allocating memory for the window.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
The only restriction placed on the dimensions is that they be greater
- than zero. The dimensions are not compared to <STRONG>curses</STRONG> screen dimensions
- to simplify the logic of <STRONG>resizeterm</STRONG>. The caller must ensure that the
+ than zero. The dimensions are not compared to <B>curses</B> screen dimensions
+ to simplify the logic of <B>resizeterm</B>. The caller must ensure that the
window's dimensions fit within the actual screen dimensions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
+ <B><A HREF="resizeterm.3X.html">resizeterm(3X)</A></B>.
</PRE><H2><a name="h2-AUTHOR">AUTHOR</a></H2><PRE>
- <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ <B><A HREF="wresize.3X.html">wresize(3X)</A></B>
</PRE>
<div class="nav">
<ul>
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2003,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: READ.ME,v 0.8 2020/02/02 23:34:34 tom Exp $
+-- $Id: READ.ME,v 0.9 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
This is a clone of the form library that is available with typical
System V curses implementations (ETI).
It is modelled after the documentation that comes for this library with
-a 386 based SVR4 implementation (ESIX).
+a 386 based SVR4 implementation (ESIX).
The development environment was and is an ELF based Linux system.
-For things that still need doing, see the TO-DO file in the top-level
+For things that still need doing, see the TO-DO file in the top-level
directory.
Juergen Pfeifer
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_ftchoice.c,v 1.17 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: fld_ftchoice.c,v 1.18 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_fieldtype_choice(
| FIELDTYPE *typ,
| bool (* const next_choice)(FIELD *,const void *),
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_ftlink.c,v 1.17 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: fld_ftlink.c,v 1.18 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : FIELDTYPE *link_fieldtype(
| FIELDTYPE *type1,
| FIELDTYPE *type2)
-|
+|
| Description : Create a new fieldtype built from the two given types.
| They are connected by an logical 'OR'.
-| If an error occurs, errno is set to
+| If an error occurs, errno is set to
| E_BAD_ARGUMENT - invalid arguments
| E_SYSTEM_ERROR - system error (no memory)
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_info.c,v 1.15 2020/12/12 01:05:42 tom Exp $")
+MODULE_ID("$Id: fld_info.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int field_info(const FIELD *field,
| int *rows, int *cols,
| int *frow, int *fcol,
| int *nrow, int *nbuf)
-|
+|
| Description : Retrieve information about the field's creation parameters.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int dynamic_field_info(const FIELD *field,
| int *drows, int *dcols,
| int *maxgrow)
-|
+|
| Description : Retrieve information about a dynamic field's current
| dynamic parameters.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_just.c,v 1.16 2020/12/11 23:16:37 tom Exp $")
+MODULE_ID("$Id: fld_just.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_just(FIELD *field, int just)
-|
+|
| Description : Set the field's type of justification.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int field_just( const FIELD *field )
-|
+|
| Description : Retrieve the field's type of justification
|
| Return Values : The justification type.
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_link.c,v 1.16 2020/12/11 23:20:32 tom Exp $")
+MODULE_ID("$Id: fld_link.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
-| Function : FIELD *link_field(FIELD *field, int frow, int fcol)
-|
+| Facility : libnform
+| Function : FIELD *link_field(FIELD *field, int frow, int fcol)
+|
| Description : Duplicates the field at the specified position. The
| new field shares its buffers with the original one,
| the attributes are independent.
| If an error occurs, errno is set to
-|
+|
| E_BAD_ARGUMENT - invalid argument
| E_SYSTEM_ERROR - system error
|
/****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2013 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_max.c,v 1.17 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: fld_max.c,v 1.18 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_max_field(FIELD *field, int maxgrow)
-|
+|
| Description : Set the maximum growth for a dynamic field. If maxgrow=0
| the field may grow to any possible size.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_move.c,v 1.15 2020/12/11 23:48:05 tom Exp $")
+MODULE_ID("$Id: fld_move.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int move_field(FIELD *field,int frow, int fcol)
-|
+|
| Description : Moves the disconnected field to the new location in
| the form's subwindow.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_opts.c,v 1.15 2020/12/11 22:05:24 tom Exp $")
+MODULE_ID("$Id: fld_opts.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*----------------------------------------------------------------------------
Field-Options manipulation routines
--------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_opts(FIELD *field, Field_Options opts)
-|
+|
| Description : Turns on the named options for this field and turns
| off all the remaining options.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : Field_Options field_opts(const FIELD *field)
-|
+|
| Description : Retrieve the field's options.
|
| Return Values : The options.
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int field_opts_on(FIELD *field, Field_Options opts)
-|
-| Description : Turns on the named options for this field and all the
+|
+| Description : Turns on the named options for this field and all the
| remaining options are unchanged.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int field_opts_off(FIELD *field, Field_Options opts)
-|
-| Description : Turns off the named options for this field and all the
+|
+| Description : Turns off the named options for this field and all the
| remaining options are unchanged.
|
| Return Values : E_OK - success
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_pad.c,v 1.13 2020/12/11 22:05:24 tom Exp $")
+MODULE_ID("$Id: fld_pad.c,v 1.14 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_pad(FIELD *field, int ch)
-|
+|
| Description : Set the pad character used to fill the field. This must
| be a printable character.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int field_pad(const FIELD *field)
-|
+|
| Description : Retrieve the field's pad character.
|
| Return Values : The pad character.
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_page.c,v 1.15 2020/12/11 23:15:26 tom Exp $")
+MODULE_ID("$Id: fld_page.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_new_page(FIELD *field, bool new_page_flag)
-|
-| Description : Marks the field as the beginning of a new page of
+|
+| Description : Marks the field as the beginning of a new page of
| the form.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : bool new_page(const FIELD *field)
-|
+|
| Description : Retrieve the information whether or not the field starts
| a new page on the form.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_stat.c,v 1.17 2020/12/11 22:05:24 tom Exp $")
+MODULE_ID("$Id: fld_stat.c,v 1.18 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_status(FIELD *field, bool status)
-|
+|
| Description : Set or clear the 'changed' indication flag for that
| field's primary buffer.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : bool field_status(const FIELD *field)
-|
+|
| Description : Retrieve the value of the 'changed' indication flag
-| for that field's primary buffer.
+| for that field's primary buffer.
|
| Return Values : TRUE - buffer has been changed
| FALSE - buffer has not been changed
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_type.c,v 1.19 2020/12/11 23:20:37 tom Exp $")
+MODULE_ID("$Id: fld_type.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_type(FIELD *field, FIELDTYPE *type,...)
-|
+|
| Description : Associate the specified fieldtype with the field.
| Certain field types take additional arguments. Look
| at the spec of the field types !
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : FIELDTYPE *field_type(const FIELD *field)
-|
+|
| Description : Retrieve the associated fieldtype for this field.
|
| Return Values : Pointer to fieldtype of NULL if none is defined.
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: fld_user.c,v 1.19 2020/12/12 01:05:34 tom Exp $")
+MODULE_ID("$Id: fld_user.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_field_userptr(FIELD *field, void *usrptr)
-|
+|
| Description : Set the pointer that is reserved in any field to store
| application relevant information.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : void *field_userptr(const FIELD *field)
-|
+|
| Description : Return the pointer that is reserved in any field to
| store application relevant information.
|
/****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
-/* $Id: form.h,v 0.31 2020/07/04 20:38:43 tom Exp $ */
+/* $Id: form.h,v 0.32 2021/06/17 21:26:02 tom Exp $ */
#ifndef FORM_H
#define FORM_H
/*
* The wide-character configuration requires extra information. Because
* there are existing applications that manipulate the members of FIELD
- * directly, we cannot make the struct opaque, except by changing the ABI.
+ * directly, we cannot make the struct opaque, except by changing the ABI.
* Offsets of members up to this point are the same in the narrow- and
* wide-character configuration. But note that the type of buf depends on
* the configuration, and is made opaque for that reason.
/****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Author: Juergen Pfeifer, 1995,1997 *
****************************************************************************/
-/* $Id: form.priv.h,v 0.47 2020/12/11 23:20:11 tom Exp $ */
+/* $Id: form.priv.h,v 0.48 2021/06/17 21:30:22 tom Exp $ */
#ifndef FORM_PRIV_H
#define FORM_PRIV_H 1
extern FORM_EXPORT(FIELDTYPE *) _nc_TYPE_IPV4(void);
extern FORM_EXPORT(FIELDTYPE *)
-_nc_generic_fieldtype(bool (*const field_check) (FORM*,
- FIELD *,
+_nc_generic_fieldtype(bool (*const field_check) (FORM*,
+ FIELD *,
const void *),
- bool (*const char_check) (int,
- FORM*,
- FIELD*,
+ bool (*const char_check) (int,
+ FORM*,
+ FIELD*,
const void *),
bool (*const next)(FORM*,FIELD*,const void*),
bool (*const prev)(FORM*,FIELD*,const void*),
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_cursor.c,v 1.12 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: frm_cursor.c,v 1.13 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int pos_form_cursor(FORM * form)
-|
+|
| Description : Moves the form window cursor to the location required
| by the form driver to resume form processing. This may
| be needed after the application calls a curses library
#include "form.priv.h"
-MODULE_ID("$Id: frm_data.c,v 1.20 2021/03/27 23:49:58 tom Exp $")
+MODULE_ID("$Id: frm_data.c,v 1.21 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : bool data_behind(const FORM *form)
-|
+|
| Description : Check for off-screen data behind. This is nearly trivial
| because the beginning of a field is fixed.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static char * Only_Padding(
| WINDOW *w,
| int len,
| int pad)
-|
+|
| Description : Test if 'length' cells starting at the current position
| contain a padding character.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : bool data_ahead(const FORM *form)
-|
+|
| Description : Check for off-screen data ahead. This is more difficult
-| because a dynamic field has a variable end.
+| because a dynamic field has a variable end.
|
| Return Values : TRUE - there are off-screen data ahead
| FALSE - there are no off-screen data ahead
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2013 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_opts.c,v 1.20 2020/12/12 00:37:00 tom Exp $")
+MODULE_ID("$Id: frm_opts.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_form_opts(FORM *form, Form_Options opts)
-|
+|
| Description : Turns on the named options and turns off all the
| remaining options for that form.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : Form_Options form_opts(const FORM *)
-|
+|
| Description : Retrieves the current form options.
|
| Return Values : The option flags.
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int form_opts_on(FORM *form, Form_Options opts)
-|
-| Description : Turns on the named options; no other options are
+|
+| Description : Turns on the named options; no other options are
| changed.
|
-| Return Values : E_OK - success
+| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid options
+--------------------------------------------------------------------------*/
FORM_EXPORT(int)
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int form_opts_off(FORM *form, Form_Options opts)
-|
-| Description : Turns off the named options; no other options are
+|
+| Description : Turns off the named options; no other options are
| changed.
|
-| Return Values : E_OK - success
+| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid options
+--------------------------------------------------------------------------*/
FORM_EXPORT(int)
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_page.c,v 1.14 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: frm_page.c,v 1.15 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_form_page(FORM * form,int page)
-|
+|
| Description : Set the page number of the form.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int form_page(const FORM * form)
-|
+|
| Description : Return the current page of the form.
|
| Return Values : >= 0 : current page number
#include "form.priv.h"
-MODULE_ID("$Id: frm_req_name.c,v 1.22 2021/03/27 23:49:58 tom Exp $")
+MODULE_ID("$Id: frm_req_name.c,v 1.23 2021/06/17 21:11:08 tom Exp $")
#define DATA(s) { s }
#define A_SIZE (sizeof(request_names)/sizeof(request_names[0]))
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : const char * form_request_name (int request);
-|
+|
| Description : Get the external name of a form request.
|
| Return Values : Pointer to name - on success
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int form_request_by_name (const char *str);
-|
+|
| Description : Search for a request with this name.
|
| Return Values : Request Id - on success
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_scale.c,v 1.12 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: frm_scale.c,v 1.13 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int scale_form( const FORM *form, int *rows, int *cols )
-|
+|
| Description : Retrieve size of form
|
| Return Values : E_OK - no error
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_sub.c,v 1.14 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: frm_sub.c,v 1.15 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_form_sub(FORM *form, WINDOW *win)
-|
-| Description : Set the subwindow of the form to win.
+|
+| Description : Set the subwindow of the form to win.
|
| Return Values : E_OK - success
| E_POSTED - form is posted
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : WINDOW *form_sub(const FORM *)
-|
+|
| Description : Retrieve the window of the form.
|
| Return Values : The pointer to the Subwindow.
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_user.c,v 1.18 2020/12/12 01:05:20 tom Exp $")
+MODULE_ID("$Id: frm_user.c,v 1.19 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_form_userptr(FORM *form, void *usrptr)
-|
+|
| Description : Set the pointer that is reserved in any form to store
| application relevant information.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : void *form_userptr(const FORM *form)
-|
+|
| Description : Return the pointer that is reserved in any form to
| store application relevant information.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "form.priv.h"
-MODULE_ID("$Id: frm_win.c,v 1.18 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: frm_win.c,v 1.19 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : int set_form_win(FORM *form,WINDOW *win)
-|
-| Description : Set the window of the form to win.
+|
+| Description : Set the window of the form to win.
|
| Return Values : E_OK - success
| E_POSTED - form is posted
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : WINDOW *form_win(const FORM *)
-|
+|
| Description : Retrieve the window of the form.
|
| Return Values : The pointer to the Window or stdscr if there is none.
#include "form.priv.h"
-MODULE_ID("$Id: fty_enum.c,v 1.32 2021/03/27 23:49:53 tom Exp $")
+MODULE_ID("$Id: fty_enum.c,v 1.33 2021/06/17 21:11:08 tom Exp $")
typedef struct
{
enumParams;
/*---------------------------------------------------------------------------
-| Facility : libnform
+| 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
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void *Make_Enum_Type( va_list * ap )
-|
+|
| Description : Allocate structure for enumeration type argument.
|
| Return Values : Pointer to argument structure or NULL on error
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void *Copy_Enum_Type( const void * argp )
-|
-| Description : Copy structure for enumeration type argument.
+|
+| Description : Copy structure for enumeration type argument.
|
| Return Values : Pointer to argument structure or NULL on error.
+--------------------------------------------------------------------------*/
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void Free_Enum_Type( void * argp )
-|
+|
| Description : Free structure for enumeration type argument.
|
| Return Values : -
#define EXACT 2
/*---------------------------------------------------------------------------
-| Facility : libnform
-| Function : static int Compare(const unsigned char * s,
+| Facility : libnform
+| Function : static int Compare(const unsigned char * s,
| const unsigned char * buf,
| bool ccase )
-|
+|
| Description : Check whether or not the text in 'buf' matches the
| text in 's', at least partial.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Check_Enum_Field(
| FIELD * field,
| const void * argp)
-|
+|
| Description : Validate buffer content to be a valid enumeration value
|
| Return Values : TRUE - field is valid
{(char *)0};
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Next_Enum(FIELD * field,
| const void * argp)
-|
+|
| Description : Check for the next enumeration value
|
| Return Values : TRUE - next value found and loaded
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Previous_Enum(
| FIELD * field,
| const void * argp)
-|
+|
| Description : Check for the previous enumeration value
|
| Return Values : TRUE - previous value found and loaded
#include "form.priv.h"
-MODULE_ID("$Id: fty_int.c,v 1.32 2021/03/27 23:49:58 tom Exp $")
+MODULE_ID("$Id: fty_int.c,v 1.33 2021/06/17 21:11:08 tom Exp $")
#if USE_WIDEC_SUPPORT
#define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c)))
integerPARM;
/*---------------------------------------------------------------------------
-| Facility : libnform
+| 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
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void *Make_This_Type( va_list * ap )
-|
+|
| Description : Allocate structure for integer type argument.
|
| Return Values : Pointer to argument structure or NULL on error
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void *Copy_This_Type(const void * argp)
-|
-| Description : Copy structure for integer type argument.
+|
+| Description : Copy structure for integer type argument.
|
| Return Values : Pointer to argument structure or NULL on error.
+--------------------------------------------------------------------------*/
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static void Free_This_Type(void * argp)
-|
+|
| Description : Free structure for integer type argument.
|
| Return Values : -
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Check_This_Field(
| FIELD * field,
| const void * argp)
-|
+|
| Description : Validate buffer content to be a valid integer value
|
| Return Values : TRUE - field is valid
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Check_This_Character(
| int c,
| const void * argp)
-|
+|
| Description : Check a character for the integer type.
|
| Return Values : TRUE - character is valid
#include "form.priv.h"
-MODULE_ID("$Id: fty_ipv4.c,v 1.15 2021/03/27 23:49:53 tom Exp $")
+MODULE_ID("$Id: fty_ipv4.c,v 1.16 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Check_IPV4_Field(
| FIELD * field,
| const void * argp)
-|
+|
| Description : Validate buffer content to be a valid IP number (Ver. 4)
|
| Return Values : TRUE - field is valid
}
/*---------------------------------------------------------------------------
-| Facility : libnform
+| Facility : libnform
| Function : static bool Check_IPV4_Character(
-| int c,
+| int c,
| const void *argp )
-|
+|
| Description : Check a character for unsigned type or period.
|
| Return Values : TRUE - character is valid
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_fieldtype_arg
int set_fieldtype_arg(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
void *(*const make_arg)(
- va_list *p1),
+ va_list *p1),
void *(*const copy_arg)(
- const void *p1),
+ const void *p1),
void (*const free_arg)(
void *p1))
{ return(*(int *)0); }
#undef set_field_fore
int set_field_fore(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_field_back
int set_field_back(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_current_field
int set_current_field(
- FORM *form,
+ FORM *form,
FIELD *field)
{ return(*(int *)0); }
#undef _nc_Make_Argument
TypeArgument *_nc_Make_Argument(
- const FIELDTYPE *typ,
- va_list *ap,
+ 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,
+ const FIELDTYPE *typ,
+ const TypeArgument *argp,
int *err)
{ return(*(TypeArgument **)0); }
#undef _nc_Free_Argument
void _nc_Free_Argument(
- const FIELDTYPE *typ,
+ const FIELDTYPE *typ,
TypeArgument *argp)
{ /* void */ }
#undef _nc_Copy_Type
NCURSES_BOOL _nc_Copy_Type(
- FIELD *dst,
+ FIELD *dst,
FIELD const *src)
{ return(*(NCURSES_BOOL *)0); }
#undef new_field
FIELD *new_field(
- int rows,
- int cols,
- int frow,
- int fcol,
- int nrow,
+ int rows,
+ int cols,
+ int frow,
+ int fcol,
+ int nrow,
int nbuf)
{ return(*(FIELD **)0); }
#undef dup_field
FIELD *dup_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_fieldtype_choice
int set_fieldtype_choice(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
NCURSES_BOOL (*const next_choice)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const prev_choice)(
- FIELD *p1,
+ FIELD *p1,
const void *p2))
{ return(*(int *)0); }
#undef link_fieldtype
FIELDTYPE *link_fieldtype(
- FIELDTYPE *type1,
+ FIELDTYPE *type1,
FIELDTYPE *type2)
{ return(*(FIELDTYPE **)0); }
#undef field_info
int field_info(
- const FIELD *field,
- int *rows,
- int *cols,
- int *frow,
- int *fcol,
- int *nrow,
+ 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,
+ const FIELD *field,
+ int *drows,
+ int *dcols,
int *maxgrow)
{ return(*(int *)0); }
#undef set_field_just
int set_field_just(
- FIELD *field,
+ FIELD *field,
int just)
{ return(*(int *)0); }
#undef link_field
FIELD *link_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_max_field
int set_max_field(
- FIELD *field,
+ FIELD *field,
int maxgrow)
{ return(*(int *)0); }
#undef move_field
int move_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(int *)0); }
#undef new_fieldtype
FIELDTYPE *new_fieldtype(
NCURSES_BOOL (*const field_check)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const char_check)(
- int p1,
+ int p1,
const void *p2))
{ return(*(FIELDTYPE **)0); }
#undef set_field_opts
int set_field_opts(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_on
int field_opts_on(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_off
int field_opts_off(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef set_field_pad
int set_field_pad(
- FIELD *field,
+ FIELD *field,
int ch)
{ return(*(int *)0); }
#undef set_new_page
int set_new_page(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL new_page_flag)
{ return(*(int *)0); }
#undef set_field_status
int set_field_status(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL status)
{ return(*(int *)0); }
#undef set_field_type
int set_field_type(
- FIELD *field,
- FIELDTYPE *type,
+ FIELD *field,
+ FIELDTYPE *type,
...)
{ return(*(int *)0); }
#undef set_field_userptr
int set_field_userptr(
- FIELD *field,
+ FIELD *field,
void *usrptr)
{ return(*(int *)0); }
#undef new_form_sp
FORM *new_form_sp(
- SCREEN *sp,
+ SCREEN *sp,
FIELD **fields)
{ return(*(FORM **)0); }
#undef set_form_fields
int set_form_fields(
- FORM *form,
+ FORM *form,
FIELD **fields)
{ return(*(int *)0); }
#undef _nc_get_fieldbuffer
void _nc_get_fieldbuffer(
- FORM *form,
- FIELD *field,
+ FORM *form,
+ FIELD *field,
char *buf)
{ /* void */ }
#undef _nc_Synchronize_Options
int _nc_Synchronize_Options(
- FIELD *field,
+ FIELD *field,
Field_Options newopts)
{ return(*(int *)0); }
#undef _nc_Set_Current_Field
int _nc_Set_Current_Field(
- FORM *form,
+ FORM *form,
FIELD *newfield)
{ return(*(int *)0); }
#undef _nc_Set_Form_Page
int _nc_Set_Form_Page(
- FORM *form,
- int page,
+ FORM *form,
+ int page,
FIELD *field)
{ return(*(int *)0); }
typedef struct
{
- int keycode;
- int (*cmd) (FORM *);
+ int keycode;
+ int (*cmd) (FORM *);
}
Binding_Info;
#undef form_driver
int form_driver(
- FORM *form,
+ FORM *form,
int c)
{ return(*(int *)0); }
#undef set_field_buffer
int set_field_buffer(
- FIELD *field,
- int buffer,
+ FIELD *field,
+ int buffer,
const char *value)
{ return(*(int *)0); }
#undef field_buffer
char *field_buffer(
- const FIELD *field,
+ const FIELD *field,
int buffer)
{ return(*(char **)0); }
#undef set_field_init
int set_field_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_field_term
int set_field_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_init
int set_form_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_term
int set_form_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_opts
int set_form_opts(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_on
int form_opts_on(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_off
int form_opts_off(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef set_form_page
int set_form_page(
- FORM *form,
+ FORM *form,
int page)
{ return(*(int *)0); }
#undef scale_form
int scale_form(
- const FORM *form,
- int *rows,
+ const FORM *form,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_form_sub
int set_form_sub(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef set_form_userptr
int set_form_userptr(
- FORM *form,
+ FORM *form,
void *usrptr)
{ return(*(int *)0); }
#undef set_form_win
int set_form_win(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef _nc_generic_fieldtype
FIELDTYPE *_nc_generic_fieldtype(
NCURSES_BOOL (*const field_check)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const char_check)(
- int p1,
- FORM *p2,
- FIELD *p3,
- const void *p4),
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
NCURSES_BOOL (*const next)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const prev)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
void (*freecallback)(
void *p1))
{ return(*(FIELDTYPE **)0); }
#undef _nc_set_generic_fieldtype
int _nc_set_generic_fieldtype(
- FIELD *field,
- FIELDTYPE *ftyp,
+ FIELD *field,
+ FIELDTYPE *ftyp,
int (*argiterator)(
void **p1))
{ return(*(int *)0); }
#undef _nc_form_cursor
WINDOW *_nc_form_cursor(
- const FORM *form,
- int *pRow,
+ const FORM *form,
+ int *pRow,
int *pCol)
{ return(*(WINDOW **)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_fieldtype_arg
int set_fieldtype_arg(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
void *(*const make_arg)(
- va_list *p1),
+ va_list *p1),
void *(*const copy_arg)(
- const void *p1),
+ const void *p1),
void (*const free_arg)(
void *p1))
{ return(*(int *)0); }
#undef set_field_fore
int set_field_fore(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_field_back
int set_field_back(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_current_field
int set_current_field(
- FORM *form,
+ FORM *form,
FIELD *field)
{ return(*(int *)0); }
#undef _nc_Make_Argument
TypeArgument *_nc_Make_Argument(
- const FIELDTYPE *typ,
- va_list *ap,
+ 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,
+ const FIELDTYPE *typ,
+ const TypeArgument *argp,
int *err)
{ return(*(TypeArgument **)0); }
#undef _nc_Free_Argument
void _nc_Free_Argument(
- const FIELDTYPE *typ,
+ const FIELDTYPE *typ,
TypeArgument *argp)
{ /* void */ }
#undef _nc_Copy_Type
NCURSES_BOOL _nc_Copy_Type(
- FIELD *dst,
+ FIELD *dst,
FIELD const *src)
{ return(*(NCURSES_BOOL *)0); }
#undef new_field
FIELD *new_field(
- int rows,
- int cols,
- int frow,
- int fcol,
- int nrow,
+ int rows,
+ int cols,
+ int frow,
+ int fcol,
+ int nrow,
int nbuf)
{ return(*(FIELD **)0); }
#undef dup_field
FIELD *dup_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_fieldtype_choice
int set_fieldtype_choice(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
NCURSES_BOOL (*const next_choice)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const prev_choice)(
- FIELD *p1,
+ FIELD *p1,
const void *p2))
{ return(*(int *)0); }
#undef link_fieldtype
FIELDTYPE *link_fieldtype(
- FIELDTYPE *type1,
+ FIELDTYPE *type1,
FIELDTYPE *type2)
{ return(*(FIELDTYPE **)0); }
#undef field_info
int field_info(
- const FIELD *field,
- int *rows,
- int *cols,
- int *frow,
- int *fcol,
- int *nrow,
+ 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,
+ const FIELD *field,
+ int *drows,
+ int *dcols,
int *maxgrow)
{ return(*(int *)0); }
#undef set_field_just
int set_field_just(
- FIELD *field,
+ FIELD *field,
int just)
{ return(*(int *)0); }
#undef link_field
FIELD *link_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_max_field
int set_max_field(
- FIELD *field,
+ FIELD *field,
int maxgrow)
{ return(*(int *)0); }
#undef move_field
int move_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(int *)0); }
#undef new_fieldtype
FIELDTYPE *new_fieldtype(
NCURSES_BOOL (*const field_check)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const char_check)(
- int p1,
+ int p1,
const void *p2))
{ return(*(FIELDTYPE **)0); }
#undef set_field_opts
int set_field_opts(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_on
int field_opts_on(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_off
int field_opts_off(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef set_field_pad
int set_field_pad(
- FIELD *field,
+ FIELD *field,
int ch)
{ return(*(int *)0); }
#undef set_new_page
int set_new_page(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL new_page_flag)
{ return(*(int *)0); }
#undef set_field_status
int set_field_status(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL status)
{ return(*(int *)0); }
#undef set_field_type
int set_field_type(
- FIELD *field,
- FIELDTYPE *type,
+ FIELD *field,
+ FIELDTYPE *type,
...)
{ return(*(int *)0); }
#undef set_field_userptr
int set_field_userptr(
- FIELD *field,
+ FIELD *field,
void *usrptr)
{ return(*(int *)0); }
#undef new_form_sp
FORM *new_form_sp(
- SCREEN *sp,
+ SCREEN *sp,
FIELD **fields)
{ return(*(FORM **)0); }
#undef set_form_fields
int set_form_fields(
- FORM *form,
+ FORM *form,
FIELD **fields)
{ return(*(int *)0); }
#undef _nc_get_fieldbuffer
void _nc_get_fieldbuffer(
- FORM *form,
- FIELD *field,
+ FORM *form,
+ FIELD *field,
char *buf)
{ /* void */ }
#undef _nc_Synchronize_Options
int _nc_Synchronize_Options(
- FIELD *field,
+ FIELD *field,
Field_Options newopts)
{ return(*(int *)0); }
#undef _nc_Set_Current_Field
int _nc_Set_Current_Field(
- FORM *form,
+ FORM *form,
FIELD *newfield)
{ return(*(int *)0); }
#undef _nc_Set_Form_Page
int _nc_Set_Form_Page(
- FORM *form,
- int page,
+ FORM *form,
+ int page,
FIELD *field)
{ return(*(int *)0); }
typedef struct
{
- int keycode;
- int (*cmd) (FORM *);
+ int keycode;
+ int (*cmd) (FORM *);
}
Binding_Info;
#undef form_driver
int form_driver(
- FORM *form,
+ FORM *form,
int c)
{ return(*(int *)0); }
#undef set_field_buffer
int set_field_buffer(
- FIELD *field,
- int buffer,
+ FIELD *field,
+ int buffer,
const char *value)
{ return(*(int *)0); }
#undef field_buffer
char *field_buffer(
- const FIELD *field,
+ const FIELD *field,
int buffer)
{ return(*(char **)0); }
#undef set_field_init
int set_field_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_field_term
int set_field_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_init
int set_form_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_term
int set_form_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_opts
int set_form_opts(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_on
int form_opts_on(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_off
int form_opts_off(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef set_form_page
int set_form_page(
- FORM *form,
+ FORM *form,
int page)
{ return(*(int *)0); }
#undef scale_form
int scale_form(
- const FORM *form,
- int *rows,
+ const FORM *form,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_form_sub
int set_form_sub(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef set_form_userptr
int set_form_userptr(
- FORM *form,
+ FORM *form,
void *usrptr)
{ return(*(int *)0); }
#undef set_form_win
int set_form_win(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef _nc_generic_fieldtype
FIELDTYPE *_nc_generic_fieldtype(
NCURSES_BOOL (*const field_check)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const char_check)(
- int p1,
- FORM *p2,
- FIELD *p3,
- const void *p4),
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
NCURSES_BOOL (*const next)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const prev)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
void (*freecallback)(
void *p1))
{ return(*(FIELDTYPE **)0); }
#undef _nc_set_generic_fieldtype
int _nc_set_generic_fieldtype(
- FIELD *field,
- FIELDTYPE *ftyp,
+ FIELD *field,
+ FIELDTYPE *ftyp,
int (*argiterator)(
void **p1))
{ return(*(int *)0); }
#undef _nc_form_cursor
WINDOW *_nc_form_cursor(
- const FORM *form,
- int *pRow,
+ const FORM *form,
+ int *pRow,
int *pCol)
{ return(*(WINDOW **)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_fieldtype_arg
int set_fieldtype_arg(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
void *(*const make_arg)(
- va_list *p1),
+ va_list *p1),
void *(*const copy_arg)(
- const void *p1),
+ const void *p1),
void (*const free_arg)(
void *p1))
{ return(*(int *)0); }
#undef set_field_fore
int set_field_fore(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_field_back
int set_field_back(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_current_field
int set_current_field(
- FORM *form,
+ FORM *form,
FIELD *field)
{ return(*(int *)0); }
#undef _nc_Make_Argument
TypeArgument *_nc_Make_Argument(
- const FIELDTYPE *typ,
- va_list *ap,
+ 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,
+ const FIELDTYPE *typ,
+ const TypeArgument *argp,
int *err)
{ return(*(TypeArgument **)0); }
#undef _nc_Free_Argument
void _nc_Free_Argument(
- const FIELDTYPE *typ,
+ const FIELDTYPE *typ,
TypeArgument *argp)
{ /* void */ }
#undef _nc_Copy_Type
NCURSES_BOOL _nc_Copy_Type(
- FIELD *dst,
+ FIELD *dst,
FIELD const *src)
{ return(*(NCURSES_BOOL *)0); }
#undef new_field
FIELD *new_field(
- int rows,
- int cols,
- int frow,
- int fcol,
- int nrow,
+ int rows,
+ int cols,
+ int frow,
+ int fcol,
+ int nrow,
int nbuf)
{ return(*(FIELD **)0); }
#undef dup_field
FIELD *dup_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_fieldtype_choice
int set_fieldtype_choice(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
NCURSES_BOOL (*const next_choice)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const prev_choice)(
- FIELD *p1,
+ FIELD *p1,
const void *p2))
{ return(*(int *)0); }
#undef link_fieldtype
FIELDTYPE *link_fieldtype(
- FIELDTYPE *type1,
+ FIELDTYPE *type1,
FIELDTYPE *type2)
{ return(*(FIELDTYPE **)0); }
#undef field_info
int field_info(
- const FIELD *field,
- int *rows,
- int *cols,
- int *frow,
- int *fcol,
- int *nrow,
+ 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,
+ const FIELD *field,
+ int *drows,
+ int *dcols,
int *maxgrow)
{ return(*(int *)0); }
#undef set_field_just
int set_field_just(
- FIELD *field,
+ FIELD *field,
int just)
{ return(*(int *)0); }
#undef link_field
FIELD *link_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_max_field
int set_max_field(
- FIELD *field,
+ FIELD *field,
int maxgrow)
{ return(*(int *)0); }
#undef move_field
int move_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(int *)0); }
#undef new_fieldtype
FIELDTYPE *new_fieldtype(
NCURSES_BOOL (*const field_check)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const char_check)(
- int p1,
+ int p1,
const void *p2))
{ return(*(FIELDTYPE **)0); }
#undef set_field_opts
int set_field_opts(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_on
int field_opts_on(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_off
int field_opts_off(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef set_field_pad
int set_field_pad(
- FIELD *field,
+ FIELD *field,
int ch)
{ return(*(int *)0); }
#undef set_new_page
int set_new_page(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL new_page_flag)
{ return(*(int *)0); }
#undef set_field_status
int set_field_status(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL status)
{ return(*(int *)0); }
#undef set_field_type
int set_field_type(
- FIELD *field,
- FIELDTYPE *type,
+ FIELD *field,
+ FIELDTYPE *type,
...)
{ return(*(int *)0); }
#undef set_field_userptr
int set_field_userptr(
- FIELD *field,
+ FIELD *field,
void *usrptr)
{ return(*(int *)0); }
#undef new_form_sp
FORM *new_form_sp(
- SCREEN *sp,
+ SCREEN *sp,
FIELD **fields)
{ return(*(FORM **)0); }
#undef set_form_fields
int set_form_fields(
- FORM *form,
+ FORM *form,
FIELD **fields)
{ return(*(int *)0); }
#undef _nc_get_fieldbuffer
void _nc_get_fieldbuffer(
- FORM *form,
- FIELD *field,
+ FORM *form,
+ FIELD *field,
cchar_t *buf)
{ /* void */ }
#undef _nc_Synchronize_Options
int _nc_Synchronize_Options(
- FIELD *field,
+ FIELD *field,
Field_Options newopts)
{ return(*(int *)0); }
#undef _nc_Set_Current_Field
int _nc_Set_Current_Field(
- FORM *form,
+ FORM *form,
FIELD *newfield)
{ return(*(int *)0); }
#undef _nc_Set_Form_Page
int _nc_Set_Form_Page(
- FORM *form,
- int page,
+ FORM *form,
+ int page,
FIELD *field)
{ return(*(int *)0); }
typedef struct
{
- int keycode;
- int (*cmd) (FORM *);
+ int keycode;
+ int (*cmd) (FORM *);
}
Binding_Info;
#undef form_driver
int form_driver(
- FORM *form,
+ FORM *form,
int c)
{ return(*(int *)0); }
#undef form_driver_w
int form_driver_w(
- FORM *form,
- int type,
+ FORM *form,
+ int type,
wchar_t c)
{ return(*(int *)0); }
#undef set_field_buffer
int set_field_buffer(
- FIELD *field,
- int buffer,
+ FIELD *field,
+ int buffer,
const char *value)
{ return(*(int *)0); }
#undef field_buffer
char *field_buffer(
- const FIELD *field,
+ const FIELD *field,
int buffer)
{ return(*(char **)0); }
#undef _nc_Widen_String
wchar_t *_nc_Widen_String(
- char *source,
+ char *source,
int *lengthp)
{ return(*(wchar_t **)0); }
#undef set_field_init
int set_field_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_field_term
int set_field_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_init
int set_form_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_term
int set_form_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_opts
int set_form_opts(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_on
int form_opts_on(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_off
int form_opts_off(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef set_form_page
int set_form_page(
- FORM *form,
+ FORM *form,
int page)
{ return(*(int *)0); }
#undef scale_form
int scale_form(
- const FORM *form,
- int *rows,
+ const FORM *form,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_form_sub
int set_form_sub(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef set_form_userptr
int set_form_userptr(
- FORM *form,
+ FORM *form,
void *usrptr)
{ return(*(int *)0); }
#undef set_form_win
int set_form_win(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef _nc_generic_fieldtype
FIELDTYPE *_nc_generic_fieldtype(
NCURSES_BOOL (*const field_check)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const char_check)(
- int p1,
- FORM *p2,
- FIELD *p3,
- const void *p4),
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
NCURSES_BOOL (*const next)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const prev)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
void (*freecallback)(
void *p1))
{ return(*(FIELDTYPE **)0); }
#undef _nc_set_generic_fieldtype
int _nc_set_generic_fieldtype(
- FIELD *field,
- FIELDTYPE *ftyp,
+ FIELD *field,
+ FIELDTYPE *ftyp,
int (*argiterator)(
void **p1))
{ return(*(int *)0); }
#undef _nc_form_cursor
WINDOW *_nc_form_cursor(
- const FORM *form,
- int *pRow,
+ const FORM *form,
+ int *pRow,
int *pCol)
{ return(*(WINDOW **)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2002-2015,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_fieldtype_arg
int set_fieldtype_arg(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
void *(*const make_arg)(
- va_list *p1),
+ va_list *p1),
void *(*const copy_arg)(
- const void *p1),
+ const void *p1),
void (*const free_arg)(
void *p1))
{ return(*(int *)0); }
#undef set_field_fore
int set_field_fore(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_field_back
int set_field_back(
- FIELD *field,
+ FIELD *field,
chtype attr)
{ return(*(int *)0); }
#undef set_current_field
int set_current_field(
- FORM *form,
+ FORM *form,
FIELD *field)
{ return(*(int *)0); }
#undef _nc_Make_Argument
TypeArgument *_nc_Make_Argument(
- const FIELDTYPE *typ,
- va_list *ap,
+ 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,
+ const FIELDTYPE *typ,
+ const TypeArgument *argp,
int *err)
{ return(*(TypeArgument **)0); }
#undef _nc_Free_Argument
void _nc_Free_Argument(
- const FIELDTYPE *typ,
+ const FIELDTYPE *typ,
TypeArgument *argp)
{ /* void */ }
#undef _nc_Copy_Type
NCURSES_BOOL _nc_Copy_Type(
- FIELD *dst,
+ FIELD *dst,
FIELD const *src)
{ return(*(NCURSES_BOOL *)0); }
#undef new_field
FIELD *new_field(
- int rows,
- int cols,
- int frow,
- int fcol,
- int nrow,
+ int rows,
+ int cols,
+ int frow,
+ int fcol,
+ int nrow,
int nbuf)
{ return(*(FIELD **)0); }
#undef dup_field
FIELD *dup_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_fieldtype_choice
int set_fieldtype_choice(
- FIELDTYPE *typ,
+ FIELDTYPE *typ,
NCURSES_BOOL (*const next_choice)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const prev_choice)(
- FIELD *p1,
+ FIELD *p1,
const void *p2))
{ return(*(int *)0); }
#undef link_fieldtype
FIELDTYPE *link_fieldtype(
- FIELDTYPE *type1,
+ FIELDTYPE *type1,
FIELDTYPE *type2)
{ return(*(FIELDTYPE **)0); }
#undef field_info
int field_info(
- const FIELD *field,
- int *rows,
- int *cols,
- int *frow,
- int *fcol,
- int *nrow,
+ 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,
+ const FIELD *field,
+ int *drows,
+ int *dcols,
int *maxgrow)
{ return(*(int *)0); }
#undef set_field_just
int set_field_just(
- FIELD *field,
+ FIELD *field,
int just)
{ return(*(int *)0); }
#undef link_field
FIELD *link_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(FIELD **)0); }
#undef set_max_field
int set_max_field(
- FIELD *field,
+ FIELD *field,
int maxgrow)
{ return(*(int *)0); }
#undef move_field
int move_field(
- FIELD *field,
- int frow,
+ FIELD *field,
+ int frow,
int fcol)
{ return(*(int *)0); }
#undef new_fieldtype
FIELDTYPE *new_fieldtype(
NCURSES_BOOL (*const field_check)(
- FIELD *p1,
- const void *p2),
+ FIELD *p1,
+ const void *p2),
NCURSES_BOOL (*const char_check)(
- int p1,
+ int p1,
const void *p2))
{ return(*(FIELDTYPE **)0); }
#undef set_field_opts
int set_field_opts(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_on
int field_opts_on(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef field_opts_off
int field_opts_off(
- FIELD *field,
+ FIELD *field,
Field_Options opts)
{ return(*(int *)0); }
#undef set_field_pad
int set_field_pad(
- FIELD *field,
+ FIELD *field,
int ch)
{ return(*(int *)0); }
#undef set_new_page
int set_new_page(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL new_page_flag)
{ return(*(int *)0); }
#undef set_field_status
int set_field_status(
- FIELD *field,
+ FIELD *field,
NCURSES_BOOL status)
{ return(*(int *)0); }
#undef set_field_type
int set_field_type(
- FIELD *field,
- FIELDTYPE *type,
+ FIELD *field,
+ FIELDTYPE *type,
...)
{ return(*(int *)0); }
#undef set_field_userptr
int set_field_userptr(
- FIELD *field,
+ FIELD *field,
void *usrptr)
{ return(*(int *)0); }
#undef new_form_sp
FORM *new_form_sp(
- SCREEN *sp,
+ SCREEN *sp,
FIELD **fields)
{ return(*(FORM **)0); }
#undef set_form_fields
int set_form_fields(
- FORM *form,
+ FORM *form,
FIELD **fields)
{ return(*(int *)0); }
#undef _nc_get_fieldbuffer
void _nc_get_fieldbuffer(
- FORM *form,
- FIELD *field,
+ FORM *form,
+ FIELD *field,
cchar_t *buf)
{ /* void */ }
#undef _nc_Synchronize_Options
int _nc_Synchronize_Options(
- FIELD *field,
+ FIELD *field,
Field_Options newopts)
{ return(*(int *)0); }
#undef _nc_Set_Current_Field
int _nc_Set_Current_Field(
- FORM *form,
+ FORM *form,
FIELD *newfield)
{ return(*(int *)0); }
#undef _nc_Set_Form_Page
int _nc_Set_Form_Page(
- FORM *form,
- int page,
+ FORM *form,
+ int page,
FIELD *field)
{ return(*(int *)0); }
typedef struct
{
- int keycode;
- int (*cmd) (FORM *);
+ int keycode;
+ int (*cmd) (FORM *);
}
Binding_Info;
#undef form_driver
int form_driver(
- FORM *form,
+ FORM *form,
int c)
{ return(*(int *)0); }
#undef form_driver_w
int form_driver_w(
- FORM *form,
- int type,
+ FORM *form,
+ int type,
wchar_t c)
{ return(*(int *)0); }
#undef set_field_buffer
int set_field_buffer(
- FIELD *field,
- int buffer,
+ FIELD *field,
+ int buffer,
const char *value)
{ return(*(int *)0); }
#undef field_buffer
char *field_buffer(
- const FIELD *field,
+ const FIELD *field,
int buffer)
{ return(*(char **)0); }
#undef _nc_Widen_String
wchar_t *_nc_Widen_String(
- char *source,
+ char *source,
int *lengthp)
{ return(*(wchar_t **)0); }
#undef set_field_init
int set_field_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_field_term
int set_field_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_init
int set_form_init(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_term
int set_form_term(
- FORM *form,
+ FORM *form,
Form_Hook func)
{ return(*(int *)0); }
#undef set_form_opts
int set_form_opts(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_on
int form_opts_on(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef form_opts_off
int form_opts_off(
- FORM *form,
+ FORM *form,
Form_Options opts)
{ return(*(int *)0); }
#undef set_form_page
int set_form_page(
- FORM *form,
+ FORM *form,
int page)
{ return(*(int *)0); }
#undef scale_form
int scale_form(
- const FORM *form,
- int *rows,
+ const FORM *form,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_form_sub
int set_form_sub(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef set_form_userptr
int set_form_userptr(
- FORM *form,
+ FORM *form,
void *usrptr)
{ return(*(int *)0); }
#undef set_form_win
int set_form_win(
- FORM *form,
+ FORM *form,
WINDOW *win)
{ return(*(int *)0); }
#undef _nc_generic_fieldtype
FIELDTYPE *_nc_generic_fieldtype(
NCURSES_BOOL (*const field_check)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const char_check)(
- int p1,
- FORM *p2,
- FIELD *p3,
- const void *p4),
+ int p1,
+ FORM *p2,
+ FIELD *p3,
+ const void *p4),
NCURSES_BOOL (*const next)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
NCURSES_BOOL (*const prev)(
- FORM *p1,
- FIELD *p2,
- const void *p3),
+ FORM *p1,
+ FIELD *p2,
+ const void *p3),
void (*freecallback)(
void *p1))
{ return(*(FIELDTYPE **)0); }
#undef _nc_set_generic_fieldtype
int _nc_set_generic_fieldtype(
- FIELD *field,
- FIELDTYPE *ftyp,
+ FIELD *field,
+ FIELDTYPE *ftyp,
int (*argiterator)(
void **p1))
{ return(*(int *)0); }
#undef _nc_form_cursor
WINDOW *_nc_form_cursor(
- const FORM *form,
- int *pRow,
+ const FORM *form,
+ int *pRow,
int *pCol)
{ return(*(WINDOW **)0); }
-# $Id: ncurses_defs,v 1.95 2020/08/01 19:48:21 tom Exp $
+# $Id: ncurses_defs,v 1.96 2021/06/17 21:30:22 tom Exp $
##############################################################################
-# Copyright 2018-2019,2020 Thomas E. Dickey #
+# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 2000-2016,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
HAVE_BSD_CGETENT
HAVE_BSD_SIGNAL_H
HAVE_BSD_STRING_H
-HAVE_BTOWC
+HAVE_BTOWC
HAVE_BUILTIN_H
HAVE_CHGAT 1
HAVE_COLOR_CONTENT 1
HAVE_POLL_H
HAVE_PURIFY
HAVE_PUTENV
-HAVE_PUTWC
+HAVE_PUTWC
HAVE_PUTWIN 1
HAVE_REGEXPR_H_FUNCS
HAVE_REGEXP_H_FUNCS
HAVE_WCHGAT 1
HAVE_WCSRTOMBS
HAVE_WCSTOMBS
-HAVE_WCTOB
+HAVE_WCTOB
HAVE_WCTOMB
HAVE_WCTYPE_H
HAVE_WINSDELLN 1
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2008-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer, 2008-on *
+ * Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
-/* $Id: ncurses_mingw.h,v 1.6 2020/02/02 23:34:34 tom Exp $ */
+/* $Id: ncurses_mingw.h,v 1.7 2021/06/17 21:26:02 tom Exp $ */
/*
* This is a placeholder up to now and describes what needs to be implemented
};
extern NCURSES_EXPORT(int) _nc_mingw_tcsetattr(
- int fd,
- int optional_actions,
+ int fd,
+ int optional_actions,
const struct termios* arg);
extern NCURSES_EXPORT(int) _nc_mingw_tcgetattr(
- int fd,
+ int fd,
struct termios* arg);
extern NCURSES_EXPORT(int) _nc_mingw_tcflush(
- int fd,
+ int fd,
int queue);
extern NCURSES_EXPORT(void) _nc_set_term_driver(void* term);
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2000,2001 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* and: Eric S. Raymond <esr@snark.thyrsus.com> *
****************************************************************************/
-/* $Id: termcap.h.in,v 1.19 2020/02/02 23:34:34 tom Exp $ */
+/* $Id: termcap.h.in,v 1.20 2021/06/17 21:26:02 tom Exp $ */
#ifndef NCURSES_TERMCAP_H_incl
#define NCURSES_TERMCAP_H_incl 1
#include <sys/types.h>
-#undef NCURSES_OSPEED
-#define NCURSES_OSPEED @NCURSES_OSPEED@
+#undef NCURSES_OSPEED
+#define NCURSES_OSPEED @NCURSES_OSPEED@
extern NCURSES_EXPORT_VAR(char) PC;
extern NCURSES_EXPORT_VAR(char *) UP;
extern NCURSES_EXPORT_VAR(char *) BC;
-extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
+extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
#if !defined(NCURSES_TERM_H_incl)
extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2008-2014,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/****************************************************************************
- * Author: Juergen Pfeifer, 2008-on *
+ * Author: Juergen Pfeifer, 2008-on *
****************************************************************************/
-/* $Id: win32_curses.h,v 1.2 2020/11/14 23:52:46 tom Exp $ */
+/* $Id: win32_curses.h,v 1.3 2021/06/17 21:26:02 tom Exp $ */
/*
* This is the interface we use on Windows to mimic the control of the settings
.\"***************************************************************************
-.\" Copyright 2019,2020 Thomas E. Dickey *
+.\" Copyright 2019-2020,2021 Thomas E. Dickey *
.\" Copyright 2010-2014,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKada_config.in,v 1.12 2020/02/02 23:34:34 tom Exp $
+.\" $Id: MKada_config.in,v 1.13 2021/06/17 21:26:02 tom Exp $
.ds C adacurses@USE_CFG_SUFFIX@\-config
.TH ADACURSES "1" "" "" "User Commands"
.SH NAME
prints a list of the \fB\*C\fP script's options.
.PP
If no options are given, \fB\*C\fP prints the combination
-of
+of
\fB\-\-cflags\fR and
\fB\-\-libs\fR
that \fBgnatmake\fP expects (see example).
.\"***************************************************************************
-.\" Copyright 2020 Thomas E. Dickey *
+.\" Copyright 2020,2021 Thomas E. Dickey *
.\" Copyright 2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKncu_config.in,v 1.4 2020/02/02 23:34:34 tom Exp $
+.\" $Id: MKncu_config.in,v 1.5 2021/06/17 21:20:30 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
+.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
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.55 2020/10/24 09:12:31 tom Exp $
+.\" $Id: curs_addch.3x,v 1.56 2021/06/17 21:30:22 tom Exp $
.TH curs_addch 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
The ACS-prefixed names for them were invented for \fBncurses\fR(3X).
.LP
The \fIdisplayed\fP values for the \fIACS_\fP and \fIWACS_\fP constants
-depend on
+depend on
.bP
the library configuration, i.e., \fBncurses\fP versus \fBncursesw\fP,
where the latter is capable of displaying Unicode while the former is not, and
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.31 2020/10/17 23:12:52 tom Exp $
+.\" $Id: curs_bkgd.3x,v 1.32 2021/06/17 21:30:22 tom Exp $
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
If the cell uses color,
and that matches the color in the current background,
the library removes attributes
-which may have come from the current background
+which may have come from the current background
and adds attributes from the new background.
It finishes by setting the cell
to use the color from the new background.
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.63 2020/10/24 09:35:23 tom Exp $
+.\" $Id: curs_color.3x,v 1.64 2021/06/17 21:30:22 tom Exp $
.TH curs_color 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
SVr4 does much the same, except that
it returns \fBERR\fP from \fBpair_content\fP if the pair was not initialized
using \fBinit_pairs\fP
-and
+and
it returns \fBERR\fP from \fBcolor_content\fP
if the terminal does not support changing colors.
.IP
.\"***************************************************************************
-.\" Copyright 2019,2020 Thomas E. Dickey *
+.\" Copyright 2019-2020,2021 Thomas E. Dickey *
.\" Copyright 2001-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.24 2020/02/02 23:34:34 tom Exp $
+.\" $Id: curs_getcchar.3x,v 1.25 2021/06/17 21:26:02 tom Exp $
.TH curs_getcchar 3X ""
.de bP
.ie n .IP \(bu 4
.PP
X/Open Curses documents the \fIopts\fP argument as reserved for future use,
saying that it must be null.
-This implementation
+This implementation
uses that parameter in ABI 6 for the functions which have a color-pair
parameter to support extended color pairs:
.bP
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.25 2020/10/18 00:25:23 tom Exp $
+.\" $Id: curs_inch.3x,v 1.26 2021/06/17 21:30:22 tom Exp $
.TH curs_inch 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
Reflecting this improvement, the function was altered to return the
character combined with all video attributes in a \fBchtype\fP value.
.PP
-X/Open Curses does not specify
+X/Open Curses does not specify
the size and layout of attributes, color and character values in
\fBchtype\fP; it is implementation-dependent.
This implementation uses 8 bits for character values.
.\"***************************************************************************
-.\" Copyright 2019,2020 Thomas E. Dickey *
+.\" Copyright 2019-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.26 2020/10/18 00:20:36 tom Exp $
+.\" $Id: curs_insstr.3x,v 1.27 2021/06/17 21:26:02 tom Exp $
.TH curs_insstr 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
These functions are described in the XSI Curses standard, Issue 4, which adds
const qualifiers to the arguments.
.LP
-The Single Unix Specification, Version 2 states that
+The Single Unix Specification, Version 2 states that
\fBinsnstr\fP and \fBwinsnstr\fP perform wrapping.
This is probably an error, since it makes this group of functions inconsistent.
Also, no implementation of curses documents this inconsistency.
.\"***************************************************************************
-.\" Copyright 2018,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.37 2020/12/30 18:37:43 tom Exp $
+.\" $Id: curs_slk.3x,v 1.38 2021/06/17 21:26:02 tom Exp $
.TH curs_slk 3X ""
.de bP
.ie n .IP \(bu 4
if soft labels are simulated on the bottom line of the screen.
.PP
Because \fBslk_color\fR accepts only \fBshort\fP (signed 16-bit integer) values,
-this implementation provides
+this implementation provides
\fBextended_slk_color\fR which accepts an integer value, e.g., 32-bits.
.
.SH RETURN VALUE
.PP
X/Open Curses documents the \fIopts\fP argument as reserved for future use,
saying that it must be null.
-This implementation
+This implementation
uses that parameter in ABI 6 for the functions which have a color-pair
parameter to support extended color pairs.
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_terminfo.3x,v 1.74 2021/03/06 16:05:19 tom Exp $
+.\" $Id: curs_terminfo.3x,v 1.75 2021/06/17 21:11:08 tom Exp $
.TH curs_terminfo 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
_ _
l l.
\fBFunction\fR \fBReplaced by\fP
-crmode cbreak
-fixterm reset_prog_mode
-gettmode N/A
-nocrmode nocbreak
-resetterm reset_shell_mode
-saveterm def_prog_mode
-setterm setupterm
+crmode cbreak
+fixterm reset_prog_mode
+gettmode N/A
+nocrmode nocbreak
+resetterm reset_shell_mode
+saveterm def_prog_mode
+setterm setupterm
.TE
.PP
SVr3 kept the \fBmvcur\fP, \fBvidattr\fP and \fBvidputs\fP functions,
.\"***************************************************************************
-.\" Copyright 2018,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.23 2020/10/24 09:51:21 tom Exp $
+.\" $Id: curs_touch.3x,v 1.24 2021/06/17 21:26:02 tom Exp $
.TH curs_touch 3X ""
.na
.hy 0
.RS 3
.TP 5
\fBis_linetouched\fP
-returns an error
+returns an error
if the window pointer is null, or
if the line number is outside the window.
.IP
The actual function returns \fBFALSE\fP when it detects an error.
.TP 5
\fBwtouchln\fP
-returns an error
+returns an error
if the window pointer is null, or
if the line number is outside the window.
.RE
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.22 2021/05/15 23:57:14 tom Exp $
+.\" $Id: curs_window.3x,v 1.23 2021/06/17 21:11:08 tom Exp $
.TH curs_window 3X ""
.de bP
.ie n .IP \(bu 4
leaveok,
nodelay,
scrollok,
-setscrreg,
+setscrreg,
syncok,
wbkgdset,
wbkgrndset, and
'\" t
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2017,2018 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: infocmp.1m,v 1.77 2020/07/25 20:37:39 tom Exp $
+.\" $Id: infocmp.1m,v 1.78 2021/06/17 21:30:22 tom Exp $
.TH @INFOCMP@ 1M ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
the \fB\-e\fP option, to support \fIfallback\fP
(compiled-in) terminal descriptions
.bP
-the \fB\-i\fP option, to help with analysis
+the \fB\-i\fP option, to help with analysis
.PP
Later, Thomas Dickey added the \fB\-x\fP (user-defined capabilities)
option, and the \fB\-E\fP option to support fallback entries with
#!/bin/sh
-# $Id: make_sed.sh,v 1.11 2020/02/02 23:34:34 tom Exp $
+# $Id: make_sed.sh,v 1.12 2021/06/17 21:20:30 tom Exp $
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 1998-2005,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
for F in 2 4
do
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ <$COL.$F >$UPPER
- mv $UPPER $COL.$F
+ mv $UPPER $COL.$F
done
paste $COL.* | \
sed -e 's/^/s\/\\</' \
.\"***************************************************************************
-.\" Copyright 2018,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: new_pair.3x,v 1.15 2020/10/17 23:54:50 tom Exp $
+.\" $Id: new_pair.3x,v 1.16 2021/06/17 21:26:02 tom Exp $
.TH new_pair 3X ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.bP
Color pairs are the curses library's way of managing a color palette
on a terminal.
-If the library does not keep track of the \fIcombinations\fP of
+If the library does not keep track of the \fIcombinations\fP of
colors which are displayed, it will be inefficient.
.bP
For simple terminal emulators
.NE
.bP
Terminals which support \fIdefault colors\fP distinct
-from \*(``ANSI colors\*(''
+from \*(``ANSI colors\*(''
add to the possible combinations, producing this total:
.NS
\fI( \fP\fBCOLORS\fP\fI + 1 ) * ( \fP\fBCOLORS\fP\fI + 1 )\fP
implement a predefined color scheme.
.IP
Beyond that lies in the realm of programs using the foreground
-and background colors for \*(``ASCII art\*(''
+and background colors for \*(``ASCII art\*(''
(or some other non-textual application).
.IP
Also beyond those few dozen pairs, the required size for a table
.\"***************************************************************************
-.\" Copyright 2018,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: scr_dump.5,v 1.16 2020/02/02 23:34:34 tom Exp $
+.\" $Id: scr_dump.5,v 1.17 2021/06/17 21:26:02 tom Exp $
.TH scr_dump 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
VTIME=0
FLAGS=0x1000
FG=0,0
-BG=0,0,
+BG=0,0,
0,0,0,1,
-0,19,0,0,
+0,19,0,0,
1,0,0,1,
-1,19,0,0,
+1,19,0,0,
2,0,0,1,
-2,19,0,0,
+2,19,0,0,
3,0,0,1,
-3,19,0,0,
+3,19,0,0,
4,0,0,1,
4,5,0x20,0,Hello
4,10,0,1,
-4,19,0,0,
+4,19,0,0,
5,0,0,1,
5,5,0x4,2,World!
5,11,0,1,
-5,19,0,0,
+5,19,0,0,
6,0,0,1,
-6,19,0,0,
+6,19,0,0,
7,0,0,1,
-7,19,0,0,
+7,19,0,0,
8,0,0,1,
-8,19,0,0,
+8,19,0,0,
9,0,0,1,
-9,19,0,0,
+9,19,0,0,
CUR=11,5
.NE
.PP
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.head,v 1.39 2020/02/02 23:34:34 tom Exp $
+.\" $Id: terminfo.head,v 1.40 2021/06/17 21:30:22 tom Exp $
.TH terminfo 5 "" "" "File Formats"
.ds n 5
.ds d @TERMINFO@
.I terminfo
consist of a sequence of fields:
.bP
-Each field ends with a comma \*(``,\*(''
+Each field ends with a comma \*(``,\*(''
(embedded commas may be
escaped with a backslash or written as \*(``\\054\*('').
.bP
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.tail,v 1.100 2020/12/19 21:51:22 tom Exp $
+.\" $Id: terminfo.tail,v 1.101 2021/06/17 21:30:22 tom Exp $
.ps +1
.SS User-Defined Capabilities
.
compiled terminfo files with other implementations,
e.g., the SVr4 systems, which document this.
Compiled terminfo files use null-terminated strings, with no lengths.
-Modifying this would require a new binary format,
+Modifying this would require a new binary format,
which would not work with other implementations.
.PP
Finally, characters may be given as three octal digits after a \fB\e\fR.
.BR iprog ,
etc., in the same order as the
.I init
-program, using
+program, using
.BR rs1 ,
etc., instead of
.BR is1 ,
.SH EXTENSIONS
.PP
Searching for terminal descriptions in
-\fB$HOME/.terminfo\fR and TERMINFO_DIRS
+\fB$HOME/.terminfo\fR and TERMINFO_DIRS
is not supported by older implementations.
.PP
Some SVr4 \fBcurses\fR implementations, and all previous to SVr4, do not
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tic.1m,v 1.78 2020/12/19 21:32:45 tom Exp $
+.\" $Id: tic.1m,v 1.79 2021/06/17 21:30:22 tom Exp $
.TH @TIC@ 1M ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
.PP
Eric Raymond incorporated parts of \fImytinfo\fP into ncurses
to implement the termcap-to-terminfo source conversion,
-and extended that to begin development of
+and extended that to begin development of
the corresponding terminfo-to-termcap source conversion,
Thomas Dickey completed that development over the course of several years.
.PP
.PP
Aside from \fB\-c\fP and \fB\-v\fP, options are not portable:
.bP
-Most of @TIC@'s options
+Most of @TIC@'s options
are not supported by SVr4 \fBtic\fP:
.sp
.RS
.\"***************************************************************************
-.\" Copyright 2019,2020 Thomas E. Dickey *
+.\" Copyright 2019-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2015,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.33 2020/12/19 21:52:09 tom Exp $
+.\" $Id: toe.1m,v 1.34 2021/06/17 21:26:02 tom Exp $
.TH @TOE@ 1M ""
.de bP
.ie n .IP \(bu 4
.IP
If the \fB\-s\fR is also given, \fB@TOE@\fR
adds a column to the report,
-showing (like \fBconflict\fP(1)) which entries which
+showing (like \fBconflict\fP(1)) which entries which
belong to a given terminal database.
An "*" marks entries which differ, and "+" marks equivalent entries.
.IP
.SH HISTORY
This utility is not provided by other implementations.
There is no relevant X/Open or POSIX standard for \fB@TOE@\fP.
-.PP
+.PP
The program name refers to a developer's pun:
.bP
\fBtic\fP,
It replaced a \fB\-T\fP option which was briefly supported by
the ncurses \fBinfocmp\fP utility in 1995.
.PP
-The \fB\-a\fP and \fB\-s\fP options were added to
+The \fB\-a\fP and \fB\-s\fP options were added to
\fB@TOE@\fR several years later (2006 and 2011, respectively).
.SH SEE ALSO
\fB@CAPTOINFO@\fR(1M),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tput.1,v 1.66 2021/03/06 15:56:23 tom Exp $
+.\" $Id: tput.1,v 1.67 2021/06/17 21:11:08 tom Exp $
.TH @TPUT@ 1 ""
.ds d @TERMINFO@
.ds n 1
were not supported in BSD curses before 4.3reno (1989) or in
AT&T/USL curses before SVr4 (1988).
.PP
-IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008)
+IEEE Std 1003.1/The Open Group Base Specifications Issue 7 (POSIX.1-2008)
documents only the operands for \fBclear\fP, \fBinit\fP and \fBreset\fP.
There are a few interesting observations to make regarding that:
.bP
.\"***************************************************************************
-.\" Copyright 2018,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 1998-2016,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tset.1,v 1.55 2020/02/02 23:34:34 tom Exp $
+.\" $Id: tset.1,v 1.56 2021/06/17 21:26:02 tom Exp $
.TH @TSET@ 1 ""
.ie \n(.g .ds `` \(lq
.el .ds `` ``
to work, as carriage-return may no longer work in the abnormal state.
.bP
Also, the terminal will often not echo the command.
-.SH OPTIONS
+.SH OPTIONS
.PP
The options are as follows:
.TP 5
.\"***************************************************************************
-.\" Copyright 2018-2019,2020 Thomas E. Dickey *
+.\" Copyright 2018-2020,2021 Thomas E. Dickey *
.\" Copyright 2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: user_caps.5,v 1.16 2020/12/19 21:26:11 tom Exp $
+.\" $Id: user_caps.5,v 1.17 2021/06/17 21:30:22 tom Exp $
.TH user_caps 5
.ie \n(.g .ds `` \(lq
.el .ds `` ``
The memory lock/unlock capabilities were included because they were used
in the X11R6 terminal description for \fBxterm\fP.
The \fIbox1\fP capability is used in @TIC@ to help with terminal descriptions
-written for AIX.
+written for AIX.
.PP
During the 1990s, some users were reluctant to use terminfo
in spite of its performance advantages over termcap:
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 1998-2003,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: READ.ME,v 1.10 2020/02/02 23:34:34 tom Exp $
+-- $Id: READ.ME,v 1.11 2021/06/17 21:20:30 tom Exp $
-------------------------------------------------------------------------------
This is a clone of the menu library that is available with typical
The development environment was and is an ELF based Linux system.
-For things that still need doing, see the TO-DO file in the top-level
+For things that still need doing, see the TO-DO file in the top-level
directory.
Juergen Pfeifer
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2002-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef set_menu_fore
int set_menu_fore(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_back
int set_menu_back(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef set_menu_grey
int set_menu_grey(
- MENU *menu,
+ MENU *menu,
chtype attr)
{ return(*(int *)0); }
#undef _nc_menu_cursor_pos
int _nc_menu_cursor_pos(
- const MENU *menu,
- const ITEM *item,
- int *pY,
+ const MENU *menu,
+ const ITEM *item,
+ int *pY,
int *pX)
{ return(*(int *)0); }
#undef _nc_Match_Next_Character_In_Item_Name
int _nc_Match_Next_Character_In_Item_Name(
- MENU *menu,
- int ch,
+ MENU *menu,
+ int ch,
ITEM **item)
{ return(*(int *)0); }
#undef menu_driver
int menu_driver(
- MENU *menu,
+ MENU *menu,
int c)
{ return(*(int *)0); }
#undef set_menu_format
int set_menu_format(
- MENU *menu,
- int rows,
+ MENU *menu,
+ int rows,
int cols)
{ return(*(int *)0); }
#undef menu_format
void menu_format(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ /* void */ }
#undef _nc_Connect_Items
NCURSES_BOOL _nc_Connect_Items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_New_TopRow_and_CurrentItem
void _nc_New_TopRow_and_CurrentItem(
- MENU *menu,
- int new_toprow,
+ MENU *menu,
+ int new_toprow,
ITEM *new_current_item)
{ /* void */ }
#undef set_menu_init
int set_menu_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_menu_term
int set_menu_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_init
int set_item_init(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_item_term
int set_item_term(
- MENU *menu,
+ MENU *menu,
Menu_Hook func)
{ return(*(int *)0); }
#undef set_current_item
int set_current_item(
- MENU *menu,
+ MENU *menu,
ITEM *item)
{ return(*(int *)0); }
#undef new_item
ITEM *new_item(
- const char *name,
+ const char *name,
const char *description)
{ return(*(ITEM **)0); }
#undef set_menu_mark
int set_menu_mark(
- MENU *menu,
+ MENU *menu,
const char *mark)
{ return(*(int *)0); }
#undef set_item_opts
int set_item_opts(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_off
int item_opts_off(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef item_opts_on
int item_opts_on(
- ITEM *item,
+ ITEM *item,
Item_Options opts)
{ return(*(int *)0); }
#undef set_top_row
int set_top_row(
- MENU *menu,
+ MENU *menu,
int row)
{ return(*(int *)0); }
#undef set_item_userptr
int set_item_userptr(
- ITEM *item,
+ ITEM *item,
void *userptr)
{ return(*(int *)0); }
#undef set_item_value
int set_item_value(
- ITEM *item,
+ ITEM *item,
NCURSES_BOOL value)
{ return(*(int *)0); }
#undef set_menu_items
int set_menu_items(
- MENU *menu,
+ MENU *menu,
ITEM **items)
{ return(*(int *)0); }
#undef new_menu_sp
MENU *new_menu_sp(
- SCREEN *sp,
+ SCREEN *sp,
ITEM **items)
{ return(*(MENU **)0); }
#undef set_menu_opts
int set_menu_opts(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_off
int menu_opts_off(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef menu_opts_on
int menu_opts_on(
- MENU *menu,
+ MENU *menu,
Menu_Options opts)
{ return(*(int *)0); }
#undef set_menu_pad
int set_menu_pad(
- MENU *menu,
+ MENU *menu,
int pad)
{ return(*(int *)0); }
#undef set_menu_pattern
int set_menu_pattern(
- MENU *menu,
+ MENU *menu,
const char *p)
{ return(*(int *)0); }
#undef _nc_Post_Item
void _nc_Post_Item(
- const MENU *menu,
+ const MENU *menu,
const ITEM *item)
{ /* void */ }
#undef scale_menu
int scale_menu(
- const MENU *menu,
- int *rows,
+ const MENU *menu,
+ int *rows,
int *cols)
{ return(*(int *)0); }
#undef set_menu_spacing
int set_menu_spacing(
- MENU *menu,
- int s_desc,
- int s_row,
+ MENU *menu,
+ int s_desc,
+ int s_row,
int s_col)
{ return(*(int *)0); }
#undef menu_spacing
int menu_spacing(
- const MENU *menu,
- int *s_desc,
- int *s_row,
+ const MENU *menu,
+ int *s_desc,
+ int *s_row,
int *s_col)
{ return(*(int *)0); }
#undef set_menu_sub
int set_menu_sub(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
#undef set_menu_userptr
int set_menu_userptr(
- MENU *menu,
+ MENU *menu,
void *userptr)
{ return(*(int *)0); }
#undef set_menu_win
int set_menu_win(
- MENU *menu,
+ MENU *menu,
WINDOW *win)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_attribs.c,v 1.19 2020/07/04 19:44:58 tom Exp $")
+MODULE_ID("$Id: m_attribs.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/* Macro to redraw menu if it is posted and changed */
#define Refresh_Menu(menu) \
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_fore(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for selectable items. In single-
| valued menus this is used to highlight the current
| item ((i.e. where the cursor is), in multi-valued
| menus this is used to highlight the selected items.
|
| Return Values : E_OK - success
-| E_BAD_ARGUMENT - an invalid value has been passed
+| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(fore)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_fore(const MENU* menu)
-|
+|
| Description : Return the attribute used for selectable items that
| are current (single-valued menu) or selected (multi-
-| valued menu).
+| valued menu).
|
| Return Values : Attribute value
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_GET_FCT(fore)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_back(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for selectable but not yet selected
| items.
|
-| Return Values : E_OK - success
+| Return Values : E_OK - success
| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(back)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_back(const MENU *menu)
-|
+|
| Description : Return the attribute used for selectable but not yet
-| selected items.
+| selected items.
|
| Return Values : Attribute value
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_GET_FCT(back)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_grey(MENU *menu, chtype attr)
-|
+|
| Description : Set the attribute for unselectable items.
|
| Return Values : E_OK - success
-| E_BAD_ARGUMENT - an invalid value has been passed
+| E_BAD_ARGUMENT - an invalid value has been passed
+--------------------------------------------------------------------------*/
GEN_MENU_ATTR_SET_FCT(grey)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : chtype menu_grey(const MENU *menu)
-|
+|
| Description : Return the attribute used for non-selectable items
|
| Return Values : Attribute value
/****************************************************************************
- * Copyright 2018,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_hook.c,v 1.20 2020/07/04 19:45:16 tom Exp $")
+MODULE_ID("$Id: m_hook.c,v 1.21 2021/06/17 21:26:02 tom Exp $")
/* "Template" macro to generate function to set application specific hook */
#define GEN_HOOK_SET_FUNCTION( typ, name ) \
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_init(MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is posted
| or just after the top row changes.
|
GEN_HOOK_SET_FUNCTION(menu, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) menu_init(const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is posted or just after the top row
+| when a menu is posted or just after the top row
| changes.
|
| Return Values : Menu init function address or NULL
GEN_HOOK_GET_FUNCTION(menu, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_term (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is unposted
| or just before the top row changes.
|
GEN_HOOK_SET_FUNCTION(menu, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) menu_term(const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is unposted or just before the top row
+| when a menu is unposted or just before the top row
| changes.
|
| Return Values : Menu finalization function address or NULL
GEN_HOOK_GET_FUNCTION(menu, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_init (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is posted
| or just after the current item changes.
|
GEN_HOOK_SET_FUNCTION(item, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) item_init (const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is posted or just after the current item
+| when a menu is posted or just after the current item
| changes.
|
| Return Values : Item init function address or NULL
GEN_HOOK_GET_FUNCTION(item, init)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_term (MENU *menu, void (*f)(MENU *))
-|
+|
| Description : Set user-exit which is called when menu is unposted
| or just before the current item changes.
|
GEN_HOOK_SET_FUNCTION(item, term)
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : void (*)(MENU *) item_init (const MENU *menu)
-|
+|
| Description : Return address of user-exit function which is called
-| when a menu is unposted or just before the current item
+| when a menu is unposted or just before the current item
| changes.
|
| Return Values : Item finalization function address or NULL
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_cur.c,v 1.21 2020/12/12 00:38:02 tom Exp $")
+MODULE_ID("$Id: m_item_cur.c,v 1.22 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_current_item(MENU *menu, const ITEM *item)
-|
+|
| Description : Make the item the current item
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM *current_item(const MENU *menu)
-|
+|
| Description : Return the menus current item
|
| Return Values : Item pointer or NULL if failure
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int item_index(const ITEM *)
-|
+|
| Description : Return the logical index of this item.
|
| Return Values : The index or ERR if this is an invalid item pointer
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_nam.c,v 1.18 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_nam.c,v 1.19 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *item_name(const ITEM *item)
-|
+|
| Description : Return name of menu item
|
| Return Values : See above; returns NULL if item is invalid
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *item_description(const ITEM *item)
-|
+|
| Description : Returns description of item
|
| Return Values : See above; Returns NULL if item is invalid
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#endif
#endif
-MODULE_ID("$Id: m_item_new.c,v 1.37 2021/02/13 19:40:51 tom Exp $")
+MODULE_ID("$Id: m_item_new.c,v 1.38 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool Is_Printable_String(const char *s)
-|
+|
| Description : Checks whether or not the string contains only printable
| characters.
|
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM *new_item(char *name, char *description)
-|
+|
| Description : Create a new item with name and description. Return
| a pointer to this new item.
| N.B.: an item must(!) have a name.
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int free_item(ITEM *item)
-|
-| Description : Free the allocated storage for this item.
+|
+| Description : Free the allocated storage for this item.
| N.B.: a connected item can't be freed.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid value has been passed
-| E_CONNECTED - item is still connected to a menu
+| E_CONNECTED - item is still connected to a menu
+--------------------------------------------------------------------------*/
MENU_EXPORT(int)
free_item(ITEM *item)
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_mark( MENU *menu, const char *mark )
-|
+|
| Description : Set the mark string used to indicate the current
| item (single-valued menu) or the selected items
| (multi-valued menu).
-| The mark argument may be NULL, in which case no
+| The mark argument may be NULL, in which case no
| marker is used.
-| This might be a little bit tricky, because this may
-| affect the geometry of the menu, which we don't allow
+| This might be a little bit tricky, because this may
+| affect the geometry of the menu, which we don't allow
| if it is already posted.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *menu_mark(const MENU *menu)
-|
+|
| Description : Return a pointer to the marker string
|
| Return Values : The marker string pointer or NULL if no marker defined
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_opt.c,v 1.21 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_opt.c,v 1.22 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int set_item_opts(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int set_item_opts(ITEM *item, Item_Options opts)
+|
| Description : Set the options of the item. If there are relevant
| changes, the item is connected and the menu is posted,
| the menu will be redisplayed.
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_off(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_off(ITEM *item, Item_Options opts)
+|
| Description : Switch of the options for this item.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int item_opts_on(ITEM *item, Item_Options opts)
-|
+| Facility : libnmenu
+| Function : int item_opts_on(ITEM *item, Item_Options opts)
+|
| Description : Switch on the options for this item.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : Item_Options item_opts(const ITEM *item)
-|
+| Facility : libnmenu
+| Function : Item_Options item_opts(const ITEM *item)
+|
| Description : Switch of the options for this item.
|
| Return Values : Items options
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_top.c,v 1.15 2021/03/27 23:46:29 tom Exp $")
+MODULE_ID("$Id: m_item_top.c,v 1.16 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_top_row(MENU *menu, int row)
-|
+|
| Description : Makes the specified row the top row in the menu
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int top_row(const MENU *)
-|
+|
| Description : Return the top row of the menu
|
| Return Values : The row number or ERR if there is no row
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_val.c,v 1.19 2021/03/27 23:46:29 tom Exp $")
+MODULE_ID("$Id: m_item_val.c,v 1.20 2021/06/17 21:11:08 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_item_value(ITEM *item, int value)
-|
+|
| Description : Programmatically set the item's selection value. This is
| only allowed if the item is selectable at all and if
| it is not connected to a single-valued menu.
| If the item is connected to a posted menu, the menu
-| will be redisplayed.
+| will be redisplayed.
|
| Return Values : E_OK - success
| E_REQUEST_DENIED - not selectable or single valued menu
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool item_value(const ITEM *item)
-|
+|
| Description : Return the selection value of the item
|
| Return Values : TRUE - if item is selected
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_item_vis.c,v 1.19 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_item_vis.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : bool item_visible(const ITEM *item)
-|
+|
| Description : A item is visible if it currently appears in the
| subwindow of a posted menu.
|
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_items.c,v 1.20 2020/12/12 00:38:08 tom Exp $")
+MODULE_ID("$Id: m_items.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_items(MENU *menu, ITEM **items)
-|
+|
| Description : Sets the item pointer array connected to menu.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : ITEM **menu_items(const MENU *menu)
-|
+|
| Description : Returns a pointer to the item pointer array of the menu
|
| Return Values : NULL on error
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int item_count(const MENU *menu)
-|
+|
| Description : Get the number of items connected to the menu. If the
-| menu pointer is NULL we return -1.
+| menu pointer is NULL we return -1.
|
| Return Values : Number of items or -1 to indicate error.
+--------------------------------------------------------------------------*/
#include "menu.priv.h"
-MODULE_ID("$Id: m_new.c,v 1.26 2021/02/13 19:43:10 tom Exp $")
+MODULE_ID("$Id: m_new.c,v 1.27 2021/06/17 21:26:02 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : MENU* _nc_new_menu(SCREEN*, ITEM **items)
-|
+|
| Description : Creates a new menu connected to the item pointer
| array items and returns a pointer to the new menu.
| The new menu is initialized with the values from the
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : MENU *new_menu(ITEM **items)
-|
+|
| Description : Creates a new menu connected to the item pointer
| array items and returns a pointer to the new menu.
| The new menu is initialized with the values from the
#endif
/*---------------------------------------------------------------------------
-| Facility : libnmenu
-| Function : int free_menu(MENU *menu)
-|
-| Description : Disconnects menu from its associated item pointer
+| Facility : libnmenu
+| Function : int free_menu(MENU *menu)
+|
+| Description : Disconnects menu from its associated item pointer
| array and frees the storage allocated for the menu.
|
| Return Values : E_OK - success
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2012 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_pad.c,v 1.16 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_pad.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
/* Macro to redraw menu if it is posted and changed */
#define Refresh_Menu(menu) \
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_pad(MENU* menu, int pad)
-|
+|
| Description : Set the character to be used to separate the item name
-| from its description. This must be a printable
+| from its description. This must be a printable
| character.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int menu_pad(const MENU *menu)
-|
+|
| Description : Return the value of the padding character
|
| Return Values : The pad character
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2006,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_pattern.c,v 1.19 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_pattern.c,v 1.20 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : char *menu_pattern(const MENU *menu)
-|
+|
| Description : Return the value of the pattern buffer.
|
| Return Values : NULL - if there is no pattern buffer allocated
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_pattern(MENU *menu, const char *p)
-|
+|
| Description : Set the match pattern for a menu and position to the
| first item that matches.
|
#include "menu.priv.h"
-MODULE_ID("$Id: m_req_name.c,v 1.26 2021/03/27 23:46:29 tom Exp $")
+MODULE_ID("$Id: m_req_name.c,v 1.27 2021/06/17 21:11:08 tom Exp $")
#define DATA(s) { s }
#define A_SIZE (sizeof(request_names)/sizeof(request_names[0]))
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : const char * menu_request_name (int request);
-|
+|
| Description : Get the external name of a menu request.
|
| Return Values : Pointer to name - on success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int menu_request_by_name (const char *str);
-|
+|
| Description : Search for a request with this name.
|
| Return Values : Request Id - on success
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2004,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_scale.c,v 1.13 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_scale.c,v 1.14 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int scale_menu(const MENU *menu)
-|
+|
| Description : Returns the minimum window size necessary for the
-| subwindow of menu.
+| subwindow of menu.
|
| Return Values : E_OK - success
| E_BAD_ARGUMENT - invalid menu pointer
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_sub.c,v 1.15 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_sub.c,v 1.16 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_sub(MENU *menu, WINDOW *win)
-|
+|
| Description : Sets the subwindow of the menu.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : WINDOW* menu_sub(const MENU *menu)
-|
+|
| Description : Returns a pointer to the subwindow of the menu
|
| Return Values : NULL on error, otherwise a pointer to the window
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include "menu.priv.h"
-MODULE_ID("$Id: m_win.c,v 1.20 2020/12/12 00:38:14 tom Exp $")
+MODULE_ID("$Id: m_win.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : int set_menu_win(MENU *menu, WINDOW *win)
-|
+|
| Description : Sets the window of the menu.
|
| Return Values : E_OK - success
}
/*---------------------------------------------------------------------------
-| Facility : libnmenu
+| Facility : libnmenu
| Function : WINDOW* menu_win(const MENU*)
-|
+|
| Description : Returns pointer to the window of the menu
|
| Return Values : NULL on error, otherwise pointer to window
-# $Id: Makefile.in,v 1.75 2021/03/27 20:39:59 tom Exp $
+# $Id: Makefile.in,v 1.76 2021/06/17 21:11:08 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
sources ::
@MAKE_DATABASE@all \
-@MAKE_DATABASE@sources :: terminfo.tmp
+@MAKE_DATABASE@sources :: terminfo.tmp
depend :
#!@SHELL@
-# $Id: ncurses-config.in,v 1.48 2021/04/17 22:22:52 tom Exp $
+# $Id: ncurses-config.in,v 1.49 2021/06/17 21:11:08 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 2006-2015,2017 Free Software Foundation, Inc. #
# are standard library directories (i.e., the linker is supposed to search
# those directories).
#
-# There is no portable way to find the list of standard library directories.
+# There is no portable way to find the list of standard library directories.
# Require a POSIX shell anyway, to keep this simple.
lib_flags=
for opt in -L$libdir @EXTRA_PKG_LDFLAGS@ $LIBS
-# $Id: mk-1st.awk,v 1.109 2020/08/31 23:49:24 tom Exp $
+# $Id: mk-1st.awk,v 1.110 2021/06/17 21:26:02 tom Exp $
##############################################################################
-# Copyright 2018,2020 Thomas E. Dickey #
+# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2016,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
}
print ""
printf "# generated by mk-1st.awk (subset=%s)\n", subset
- printf "# name: %s\n", name
- printf "# traces: %s\n", traces
- printf "# MODEL: %s\n", MODEL
- printf "# CXX_MODEL: %s\n", CXX_MODEL
- printf "# model: %s\n", model
- printf "# prefix: %s\n", prefix
- printf "# suffix: %s\n", suffix
- printf "# subset: %s\n", subset
- printf "# driver: %s\n", driver
- printf "# ShlibVer: %s\n", ShlibVer
- printf "# ShlibVerInfix: %s\n", ShlibVerInfix
- printf "# SymLink: %s\n", SymLink
- printf "# TermlibRoot: %s\n", TermlibRoot
- printf "# TermlibSuffix: %s\n", TermlibSuffix
- printf "# ReLink: %s\n", ReLink
- printf "# ReRanlib: %s\n", ReRanlib
- printf "# DoLinks: %s\n", DoLinks
- printf "# rmSoLocs: %s\n", rmSoLocs
- printf "# ldconfig: %s\n", ldconfig
- printf "# overwrite: %s\n", overwrite
- printf "# depend: %s\n", depend
- printf "# host: %s\n", host
+ printf "# name: %s\n", name
+ printf "# traces: %s\n", traces
+ printf "# MODEL: %s\n", MODEL
+ printf "# CXX_MODEL: %s\n", CXX_MODEL
+ printf "# model: %s\n", model
+ printf "# prefix: %s\n", prefix
+ printf "# suffix: %s\n", suffix
+ printf "# subset: %s\n", subset
+ printf "# driver: %s\n", driver
+ printf "# ShlibVer: %s\n", ShlibVer
+ printf "# ShlibVerInfix: %s\n", ShlibVerInfix
+ printf "# SymLink: %s\n", SymLink
+ printf "# TermlibRoot: %s\n", TermlibRoot
+ printf "# TermlibSuffix: %s\n", TermlibSuffix
+ printf "# ReLink: %s\n", ReLink
+ printf "# ReRanlib: %s\n", ReRanlib
+ printf "# DoLinks: %s\n", DoLinks
+ printf "# rmSoLocs: %s\n", rmSoLocs
+ printf "# ldconfig: %s\n", ldconfig
+ printf "# overwrite: %s\n", overwrite
+ printf "# depend: %s\n", depend
+ printf "# host: %s\n", host
print ""
}
using = 1
-# $Id: mk-2nd.awk,v 1.22 2020/08/31 23:49:17 tom Exp $
+# $Id: mk-2nd.awk,v 1.23 2021/06/17 21:20:30 tom Exp $
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 1998-2004,2005 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
print "# generated by mk-2nd.awk"
printf "# model: %s\n", model
printf "# MODEL: %s\n", MODEL
- printf "# echo: %s\n", echo
+ printf "# echo: %s\n", echo
printf "# subset: %s\n", subset
printf "# crenames: %s\n", crenames
printf "# cxxrenames: %s\n", cxxrenames
-# $Id: mk-hdr.awk,v 1.7 2020/08/31 23:48:44 tom Exp $
+# $Id: mk-hdr.awk,v 1.8 2021/06/17 21:20:30 tom Exp $
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 2007-2010,2013 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
if (found == 0) {
print ""
print "# generated by mk-hdr.awk"
- printf "# subset: %s\n", subset
- printf "# compat: %s\n", compat
+ printf "# subset: %s\n", subset
+ printf "# compat: %s\n", compat
print ""
found = 1
}
-# $Id: Makefile.in,v 1.178 2021/01/23 20:34:00 tom Exp $
+# $Id: Makefile.in,v 1.179 2021/06/17 21:11:08 tom Exp $
##############################################################################
# Copyright 2018-2020,2021 Thomas E. Dickey #
# Copyright 1998-2017,2018 Free Software Foundation, Inc. #
$(srcdir)/new_pair.h
TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@
-TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
+TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@
TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@
TEST_PROGS = \
################################################################################
all libs :: $(AUTO_SRC) ../lib $(LIBRARIES)
-@CHECK_BUILD@all libs :: report_offsets$(BUILD_EXEEXT)
+@CHECK_BUILD@all libs :: report_offsets$(BUILD_EXEEXT)
sources: $(AUTO_SRC)
-------------------------------------------------------------------------------
--- Copyright 2020 Thomas E. Dickey --
+-- Copyright 2020,2021 Thomas E. Dickey --
-- Copyright 2002,2006 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README.IZ,v 1.4 2020/02/02 23:34:34 tom Exp $
+-- $Id: README.IZ,v 1.5 2021/06/17 21:20:30 tom Exp $
---------------------------------------------------------------------
Here is the patch. I did no testing whatsoever with event watching
I had no way to test that the poll() branch compiles/works...
-Here is the API:
+Here is the API:
*) two new functions wgetch_events() wgetstrn_event() are introduced,
which allow an event-watch specification given as the last argument;
/****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 1998-2012,2014 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <curses.priv.h>
-MODULE_ID("$Id: keyok.c,v 1.16 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: keyok.c,v 1.17 2021/06/17 21:26:02 tom Exp $")
/*
* Enable (or disable) ncurses' interpretation of a keycode by adding (or
* removing) the corresponding 'tries' entry.
*
- * Do this by storing a second tree of tries, which records the disabled keys.
+ * Do this by storing a second tree of tries, which records the disabled keys.
* The simplest way to copy is to make a function that returns the string (with
* nulls set to 0200), then use that to reinsert the string into the
* corresponding tree.
#include <curses.priv.h>
#include <ctype.h>
-MODULE_ID("$Id: lib_addch.c,v 1.137 2021/02/20 22:24:34 tom Exp $")
+MODULE_ID("$Id: lib_addch.c,v 1.138 2021/06/17 21:11:08 tom Exp $")
static const NCURSES_CH_T blankchar = NewChar(BLANK_TEXT);
* wrapped the cursor. We don't do anything with this flag except set it when
* wrapping, and clear it whenever we move the cursor. If we try to wrap at
* the lower-right corner of a window, we cannot move the cursor (since that
- * wouldn't be legal). So we return an error (which is what SVr4 does).
+ * wouldn't be legal). So we return an error (which is what SVr4 does).
* Unlike SVr4, we can successfully add a character to the lower-right corner
* (Solaris 2.6 does this also, however).
*/
#undef _nc_make_oldhash_sp
void _nc_make_oldhash_sp(
- SCREEN *sp,
+ SCREEN *sp,
int i)
{ /* void */ }
#undef _nc_scroll_oldhash_sp
void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
+ SCREEN *sp,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
- int n,
- int top,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_render
chtype _nc_render(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(chtype *)0); }
#undef _nc_waddch_nosync
int _nc_waddch_nosync(
- WINDOW *win,
+ WINDOW *win,
const chtype c)
{ return(*(int *)0); }
#undef waddch
int waddch(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef wechochar
int wechochar(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef waddnstr
int waddnstr(
- WINDOW *win,
- const char *astr,
+ WINDOW *win,
+ const char *astr,
int n)
{ return(*(int *)0); }
#undef waddchnstr
int waddchnstr(
- WINDOW *win,
- const chtype *astr,
+ WINDOW *win,
+ const chtype *astr,
int n)
{ return(*(int *)0); }
#undef wbkgdset
void wbkgdset(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ /* void */ }
#undef wbkgd
int wbkgd(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef wborder
int wborder(
- WINDOW *win,
- chtype ls,
- chtype rs,
- chtype ts,
- chtype bs,
- chtype tl,
- chtype tr,
- chtype bl,
+ WINDOW *win,
+ chtype ls,
+ chtype rs,
+ chtype ts,
+ chtype bs,
+ chtype tl,
+ chtype tr,
+ chtype bl,
chtype br)
{ return(*(int *)0); }
#undef wchgat
int wchgat(
- WINDOW *win,
- int n,
- attr_t attr,
- short pair_arg,
+ WINDOW *win,
+ int n,
+ attr_t attr,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef clearok
int clearok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_change_pair
void _nc_change_pair(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ /* void */ }
#undef _nc_reserve_pairs
void _nc_reserve_pairs(
- SCREEN *sp,
+ SCREEN *sp,
int want)
{ /* void */ }
#undef _nc_init_pair
int _nc_init_pair(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_pair_sp
int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
+ SCREEN *sp,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef init_pair
int init_pair(
- short pair,
- short f,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef _nc_init_color
int _nc_init_color(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef init_color_sp
int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
+ SCREEN *sp,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef init_color
int init_color(
- short color,
- short r,
- short g,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef color_content_sp
int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
+ SCREEN *sp,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef color_content
int color_content(
- short color,
- short *r,
- short *g,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef _nc_pair_content
int _nc_pair_content(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef pair_content_sp
int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
+ SCREEN *sp,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef pair_content
int pair_content(
- short pair,
- short *f,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef _nc_do_color_sp
void _nc_do_color_sp(
- SCREEN *sp,
- int old_pair,
- int pair,
- int reverse,
+ SCREEN *sp,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC_sp outc)
{ /* void */ }
#undef _nc_do_color
void _nc_do_color(
- int old_pair,
- int pair,
- int reverse,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC outc)
{ /* void */ }
#undef wcolor_set
int wcolor_set(
- WINDOW *win,
- short pair_arg,
+ WINDOW *win,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef addchnstr
int addchnstr(
- const chtype *a1,
+ const chtype *a1,
int z)
{ return(*(int *)0); }
#undef addnstr
int addnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef attr_get
int attr_get(
- attr_t *a1,
- short *a2,
+ attr_t *a1,
+ short *a2,
void *z)
{ return(*(int *)0); }
#undef attr_off
int attr_off(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_on
int attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_set
int attr_set(
- attr_t a1,
- short a2,
+ attr_t a1,
+ short a2,
void *z)
{ return(*(int *)0); }
#undef border
int border(
- chtype a1,
- chtype a2,
- chtype a3,
- chtype a4,
- chtype a5,
- chtype a6,
- chtype a7,
+ chtype a1,
+ chtype a2,
+ chtype a3,
+ chtype a4,
+ chtype a5,
+ chtype a6,
+ chtype a7,
chtype z)
{ return(*(int *)0); }
#undef box
int box(
- WINDOW *a1,
- chtype a2,
+ WINDOW *a1,
+ chtype a2,
chtype z)
{ return(*(int *)0); }
#undef chgat
int chgat(
- int a1,
- attr_t a2,
- short a3,
+ int a1,
+ attr_t a2,
+ short a3,
const void *z)
{ return(*(int *)0); }
#undef color_set
int color_set(
- short a1,
+ short a1,
void *z)
{ return(*(int *)0); }
#undef getnstr
int getnstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef hline
int hline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef inchnstr
int inchnstr(
- chtype *a1,
+ chtype *a1,
int z)
{ return(*(int *)0); }
#undef innstr
int innstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef insnstr
int insnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef move
int move(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvaddch
int mvaddch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype z)
{ return(*(int *)0); }
#undef mvaddchnstr
int mvaddchnstr(
- int a1,
- int a2,
- const chtype *a3,
+ int a1,
+ int a2,
+ const chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvaddchstr
int mvaddchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype *z)
{ return(*(int *)0); }
#undef mvaddnstr
int mvaddnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvaddstr
int mvaddstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvchgat
int mvchgat(
- int a1,
- int a2,
- int a3,
- attr_t a4,
- short a5,
+ int a1,
+ int a2,
+ int a3,
+ attr_t a4,
+ short a5,
const void *z)
{ return(*(int *)0); }
#undef mvdelch
int mvdelch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetch
int mvgetch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetnstr
int mvgetnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvgetstr
int mvgetstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvhline
int mvhline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvinch
chtype mvinch(
- int a1,
+ int a1,
int z)
{ return(*(chtype *)0); }
#undef mvinchnstr
int mvinchnstr(
- int a1,
- int a2,
- chtype *a3,
+ int a1,
+ int a2,
+ chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvinchstr
int mvinchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype *z)
{ return(*(int *)0); }
#undef mvinnstr
int mvinnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsch
int mvinsch(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype z)
{ return(*(int *)0); }
#undef mvinsnstr
int mvinsnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsstr
int mvinsstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvinstr
int mvinstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvvline
int mvvline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvwaddch
int mvwaddch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype z)
{ return(*(int *)0); }
#undef mvwaddchnstr
int mvwaddchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddchstr
int mvwaddchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype *z)
{ return(*(int *)0); }
#undef mvwaddnstr
int mvwaddnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddstr
int mvwaddstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwchgat
int mvwchgat(
- WINDOW *a1,
- int a2,
- int a3,
- int a4,
- attr_t a5,
- short a6,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ int a4,
+ attr_t a5,
+ short a6,
const void *z)
{ return(*(int *)0); }
#undef mvwdelch
int mvwdelch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetch
int mvwgetch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetnstr
int mvwgetnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwgetstr
int mvwgetstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwhline
int mvwhline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef mvwinch
chtype mvwinch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(chtype *)0); }
#undef mvwinchnstr
int mvwinchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwinchstr
int mvwinchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype *z)
{ return(*(int *)0); }
#undef mvwinnstr
int mvwinnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsch
int mvwinsch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype z)
{ return(*(int *)0); }
#undef mvwinsnstr
int mvwinsnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsstr
int mvwinsstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwinstr
int mvwinstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwvline
int mvwvline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef setscrreg
int setscrreg(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef touchline
int touchline(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef vline
int vline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef waddchstr
int waddchstr(
- WINDOW *a1,
+ WINDOW *a1,
const chtype *z)
{ return(*(int *)0); }
#undef waddstr
int waddstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef wattron
int wattron(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattroff
int wattroff(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattrset
int wattrset(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattr_get
int wattr_get(
- WINDOW *a1,
- attr_t *a2,
- short *a3,
+ WINDOW *a1,
+ attr_t *a2,
+ short *a3,
void *z)
{ return(*(int *)0); }
#undef wattr_set
int wattr_set(
- WINDOW *a1,
- attr_t a2,
- short a3,
+ WINDOW *a1,
+ attr_t a2,
+ short a3,
void *z)
{ return(*(int *)0); }
#undef wgetstr
int wgetstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef winchstr
int winchstr(
- WINDOW *a1,
+ WINDOW *a1,
chtype *z)
{ return(*(int *)0); }
#undef winsstr
int winsstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef winstr
int winstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef wgetscrreg
int wgetscrreg(
- const WINDOW *a1,
- int *a2,
+ const WINDOW *a1,
+ int *a2,
int *z)
{ return(*(int *)0); }
#undef mouse_trafo
NCURSES_BOOL mouse_trafo(
- int *a1,
- int *a2,
+ int *a1,
+ int *a2,
NCURSES_BOOL z)
{ return(*(NCURSES_BOOL *)0); }
#undef set_escdelay_sp
int set_escdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef _nc_wgetch
int _nc_wgetch(
- WINDOW *win,
- int *result,
+ WINDOW *win,
+ int *result,
int use_meta)
{ return(*(int *)0); }
#undef wgetnstr
int wgetnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int maxlen)
{ return(*(int *)0); }
#undef whline
int whline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef immedok
void immedok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef winchnstr
int winchnstr(
- WINDOW *win,
- chtype *str,
+ WINDOW *win,
+ chtype *str,
int n)
{ return(*(int *)0); }
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef winsch
int winsch(
- WINDOW *win,
+ WINDOW *win,
chtype c)
{ return(*(int *)0); }
#undef winsdelln
int winsdelln(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef winsnstr
int winsnstr(
- WINDOW *win,
- const char *s,
+ WINDOW *win,
+ const char *s,
int n)
{ return(*(int *)0); }
#undef winnstr
int winnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int n)
{ return(*(int *)0); }
#undef leaveok
int leaveok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef getmouse_sp
int getmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef ungetmouse_sp
int ungetmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef mousemask_sp
mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
+ SCREEN *sp,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef mousemask
mmask_t mousemask(
- mmask_t newmask,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef wenclose
NCURSES_BOOL wenclose(
- const WINDOW *win,
- int y,
+ const WINDOW *win,
+ int y,
int x)
{ return(*(NCURSES_BOOL *)0); }
#undef mouseinterval_sp
int mouseinterval_sp(
- SCREEN *sp,
+ SCREEN *sp,
int maxclick)
{ return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
- const WINDOW *win,
- int *pY,
- int *pX,
+ const WINDOW *win,
+ int *pY,
+ int *pX,
NCURSES_BOOL to_screen)
{ return(*(NCURSES_BOOL *)0); }
#undef wmove
int wmove(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef _nc_msec_cost_sp
int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
+ SCREEN *sp,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_msec_cost
int _nc_msec_cost(
- const char *const cap,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_mvcur_sp
int _nc_mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef _nc_mvcur
int _nc_mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur_sp
int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur
int mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvwin
int mvwin(
- WINDOW *win,
- int by,
+ WINDOW *win,
+ int by,
int bx)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
- SCREEN *sp,
- const char *name,
- FILE *ofp,
+ SCREEN *sp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- const char *name,
- FILE *ofp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newwin_sp
WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef newwin
WINDOW *newwin(
- int num_lines,
- int num_columns,
- int begy,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef derwin
WINDOW *derwin(
- WINDOW *orig,
- int num_lines,
- int num_columns,
- int begy,
+ WINDOW *orig,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef subwin
WINDOW *subwin(
- WINDOW *w,
- int l,
- int c,
- int y,
+ WINDOW *w,
+ int l,
+ int c,
+ int y,
int x)
{ return(*(WINDOW **)0); }
#undef _nc_makenew_sp
WINDOW *_nc_makenew_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
+ int begx,
int flags)
{ return(*(WINDOW **)0); }
#undef overlay
int overlay(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef overwrite
int overwrite(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef copywin
int copywin(
- const WINDOW *src,
- WINDOW *dst,
- int sminrow,
- int smincol,
- int dminrow,
- int dmincol,
- int dmaxrow,
- int dmaxcol,
+ const WINDOW *src,
+ WINDOW *dst,
+ int sminrow,
+ int smincol,
+ int dminrow,
+ int dmincol,
+ int dmaxrow,
+ int dmaxcol,
int over)
{ return(*(int *)0); }
#undef newpad_sp
WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
+ SCREEN *sp,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef newpad
WINDOW *newpad(
- int l,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef subpad
WINDOW *subpad(
- WINDOW *orig,
- int l,
- int c,
- int begy,
+ WINDOW *orig,
+ int l,
+ int c,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef prefresh
int prefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pnoutrefresh
int pnoutrefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pechochar
int pechochar(
- WINDOW *pad,
+ WINDOW *pad,
const chtype ch)
{ return(*(int *)0); }
#undef printw
int printw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wprintw
int wprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvprintw
int mvprintw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwprintw
int mvwprintw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef vwprintw
int vwprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_printw
int vw_printw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef wredrawln
int wredrawln(
- WINDOW *win,
- int beg,
+ WINDOW *win,
+ int beg,
int num)
{ return(*(int *)0); }
#undef restartterm_sp
int restartterm_sp(
- SCREEN *sp,
- const char *termp,
- int filenum,
+ SCREEN *sp,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- const char *termp,
- int filenum,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_scanw
int vw_scanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvscanw
int mvscanw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwscanw
int mvwscanw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef getwin_sp
WINDOW *getwin_sp(
- SCREEN *sp,
+ SCREEN *sp,
FILE *filep)
{ return(*(WINDOW **)0); }
#undef putwin
int putwin(
- WINDOW *win,
+ WINDOW *win,
FILE *filep)
{ return(*(int *)0); }
#undef scr_restore_sp
int scr_restore_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_init_sp
int scr_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_set_sp
int scr_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef _nc_scroll_window
void _nc_scroll_window(
- WINDOW *win,
- int const n,
- int const top,
- int const bottom,
+ WINDOW *win,
+ int const n,
+ int const top,
+ int const bottom,
chtype blank)
{ /* void */ }
#undef wscrl
int wscrl(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef scrollok
int scrollok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef wsetscrreg
int wsetscrreg(
- WINDOW *win,
- int top,
+ WINDOW *win,
+ int top,
int bottom)
{ return(*(int *)0); }
#undef _nc_setupscreen_sp
int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ SCREEN **spp,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_setupscreen
int _nc_setupscreen(
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_ripoffline_sp
int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_ripoffline
int _nc_ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline_sp
int ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline
int ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_format_slks
int _nc_format_slks(
- SCREEN *sp,
+ SCREEN *sp,
int cols)
{ return(*(int *)0); }
#undef _nc_slk_initialize
int _nc_slk_initialize(
- WINDOW *stwin,
+ WINDOW *stwin,
int cols)
{ return(*(int *)0); }
#undef slk_attr_set_sp
int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short pair_arg,
+ SCREEN *sp,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attr_set
int slk_attr_set(
- const attr_t attr,
- short pair_arg,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attroff_sp
int slk_attroff_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attron_sp
int slk_attron_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attrset_sp
int slk_attrset_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_color_sp
int slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
short pair_arg)
{ return(*(int *)0); }
#undef slk_init_sp
int slk_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
int format)
{ return(*(int *)0); }
#undef slk_label_sp
char *slk_label_sp(
- SCREEN *sp,
+ SCREEN *sp,
int n)
{ return(*(char **)0); }
#undef slk_set_sp
int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
+ SCREEN *sp,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef slk_set
int slk_set(
- int i,
- const char *astr,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef is_linetouched
NCURSES_BOOL is_linetouched(
- WINDOW *win,
+ WINDOW *win,
int line)
{ return(*(NCURSES_BOOL *)0); }
#undef wtouchln
int wtouchln(
- WINDOW *win,
- int y,
- int n,
+ WINDOW *win,
+ int y,
+ int n,
int changed)
{ return(*(int *)0); }
#undef _tracedump
void _tracedump(
- const char *name,
+ const char *name,
WINDOW *win)
{ /* void */ }
#undef _nc_trace_mmask_t
char *_nc_trace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(char **)0); }
#undef _nc_tracemouse
char *_nc_tracemouse(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT const *ep)
{ return(*(char **)0); }
#undef _nc_retrace_mmask_t
mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(mmask_t *)0); }
#undef ungetch_sp
int ungetch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef vidputs_sp
int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
+ SCREEN *sp,
+ chtype newmode,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vidputs
int vidputs(
- chtype newmode,
+ chtype newmode,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vidattr_sp
int vidattr_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype newmode)
{ return(*(int *)0); }
#undef wvline
int wvline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef wattr_off
int wattr_off(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef wattr_on
int wattr_on(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef mvderwin
int mvderwin(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef syncok
int syncok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL bf)
{ return(*(int *)0); }
#undef _nc_printf_string_sp
char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
+ SCREEN *sp,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_printf_string
char *_nc_printf_string(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_scrolln_sp
int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
+ SCREEN *sp,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_scrolln
int _nc_scrolln(
- int n,
- int top,
- int bot,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_do_xmc_glitch_sp
void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
+ SCREEN *sp,
attr_t previous)
{ /* void */ }
#undef _nc_varargs
char *_nc_varargs(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_free_and_exit_sp
void _nc_free_and_exit_sp(
- SCREEN *sp,
+ SCREEN *sp,
int code)
{ /* void */ }
#undef _nc_toggle_attr_on
void _nc_toggle_attr_on(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_toggle_attr_off
void _nc_toggle_attr_off(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_DelCharCost_sp
int _nc_DelCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_InsCharCost_sp
int _nc_InsCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_UpdateAttrs_sp
void _nc_UpdateAttrs_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype c)
{ /* void */ }
#undef use_legacy_coding_sp
int use_legacy_coding_sp(
- SCREEN *sp,
+ SCREEN *sp,
int level)
{ return(*(int *)0); }
#undef assume_default_colors_sp
int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef assume_default_colors
int assume_default_colors(
- int fg,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef mcprint_sp
int mcprint_sp(
- SCREEN *sp,
- char *data,
+ SCREEN *sp,
+ char *data,
int len)
{ return(*(int *)0); }
#undef mcprint
int mcprint(
- char *data,
+ char *data,
int len)
{ return(*(int *)0); }
#undef is_term_resized_sp
NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef is_term_resized
NCURSES_BOOL is_term_resized(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef resize_term_sp
int resize_term_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resize_term
int resize_term(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm_sp
int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm
int resizeterm(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef use_screen
int use_screen(
- SCREEN *screen,
- NCURSES_SCREEN_CB func,
+ SCREEN *screen,
+ NCURSES_SCREEN_CB func,
void *data)
{ return(*(int *)0); }
#undef use_window
int use_window(
- WINDOW *win,
- NCURSES_WINDOW_CB func,
+ WINDOW *win,
+ NCURSES_WINDOW_CB func,
void *data)
{ return(*(int *)0); }
#undef wresize
int wresize(
- WINDOW *win,
- int ToLines,
+ WINDOW *win,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_termcap_entry
int _nc_read_termcap_entry(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const chtype *buf,
+ int bufnum,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const chtype *buf,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_make_oldhash_sp
void _nc_make_oldhash_sp(
- SCREEN *sp,
+ SCREEN *sp,
int i)
{ /* void */ }
#undef _nc_scroll_oldhash_sp
void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
+ SCREEN *sp,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
- int n,
- int top,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_render
chtype _nc_render(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(chtype *)0); }
#undef _nc_waddch_nosync
int _nc_waddch_nosync(
- WINDOW *win,
+ WINDOW *win,
const chtype c)
{ return(*(int *)0); }
#undef waddch
int waddch(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef wechochar
int wechochar(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef waddnstr
int waddnstr(
- WINDOW *win,
- const char *astr,
+ WINDOW *win,
+ const char *astr,
int n)
{ return(*(int *)0); }
#undef waddchnstr
int waddchnstr(
- WINDOW *win,
- const chtype *astr,
+ WINDOW *win,
+ const chtype *astr,
int n)
{ return(*(int *)0); }
#undef wbkgdset
void wbkgdset(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ /* void */ }
#undef wbkgd
int wbkgd(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef wborder
int wborder(
- WINDOW *win,
- chtype ls,
- chtype rs,
- chtype ts,
- chtype bs,
- chtype tl,
- chtype tr,
- chtype bl,
+ WINDOW *win,
+ chtype ls,
+ chtype rs,
+ chtype ts,
+ chtype bs,
+ chtype tl,
+ chtype tr,
+ chtype bl,
chtype br)
{ return(*(int *)0); }
#undef wchgat
int wchgat(
- WINDOW *win,
- int n,
- attr_t attr,
- short pair_arg,
+ WINDOW *win,
+ int n,
+ attr_t attr,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef clearok
int clearok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_change_pair
void _nc_change_pair(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ /* void */ }
#undef _nc_reserve_pairs
void _nc_reserve_pairs(
- SCREEN *sp,
+ SCREEN *sp,
int want)
{ /* void */ }
#undef _nc_init_pair
int _nc_init_pair(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_pair_sp
int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
+ SCREEN *sp,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef init_pair
int init_pair(
- short pair,
- short f,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef _nc_init_color
int _nc_init_color(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef init_color_sp
int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
+ SCREEN *sp,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef init_color
int init_color(
- short color,
- short r,
- short g,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef color_content_sp
int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
+ SCREEN *sp,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef color_content
int color_content(
- short color,
- short *r,
- short *g,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef _nc_pair_content
int _nc_pair_content(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef pair_content_sp
int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
+ SCREEN *sp,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef pair_content
int pair_content(
- short pair,
- short *f,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef _nc_do_color_sp
void _nc_do_color_sp(
- SCREEN *sp,
- int old_pair,
- int pair,
- int reverse,
+ SCREEN *sp,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC_sp outc)
{ /* void */ }
#undef _nc_do_color
void _nc_do_color(
- int old_pair,
- int pair,
- int reverse,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC outc)
{ /* void */ }
#undef wcolor_set
int wcolor_set(
- WINDOW *win,
- short pair_arg,
+ WINDOW *win,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef addchnstr
int addchnstr(
- const chtype *a1,
+ const chtype *a1,
int z)
{ return(*(int *)0); }
#undef addnstr
int addnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef attr_get
int attr_get(
- attr_t *a1,
- short *a2,
+ attr_t *a1,
+ short *a2,
void *z)
{ return(*(int *)0); }
#undef attr_off
int attr_off(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_on
int attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_set
int attr_set(
- attr_t a1,
- short a2,
+ attr_t a1,
+ short a2,
void *z)
{ return(*(int *)0); }
#undef border
int border(
- chtype a1,
- chtype a2,
- chtype a3,
- chtype a4,
- chtype a5,
- chtype a6,
- chtype a7,
+ chtype a1,
+ chtype a2,
+ chtype a3,
+ chtype a4,
+ chtype a5,
+ chtype a6,
+ chtype a7,
chtype z)
{ return(*(int *)0); }
#undef box
int box(
- WINDOW *a1,
- chtype a2,
+ WINDOW *a1,
+ chtype a2,
chtype z)
{ return(*(int *)0); }
#undef chgat
int chgat(
- int a1,
- attr_t a2,
- short a3,
+ int a1,
+ attr_t a2,
+ short a3,
const void *z)
{ return(*(int *)0); }
#undef color_set
int color_set(
- short a1,
+ short a1,
void *z)
{ return(*(int *)0); }
#undef getnstr
int getnstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef hline
int hline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef inchnstr
int inchnstr(
- chtype *a1,
+ chtype *a1,
int z)
{ return(*(int *)0); }
#undef innstr
int innstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef insnstr
int insnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef move
int move(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvaddch
int mvaddch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype z)
{ return(*(int *)0); }
#undef mvaddchnstr
int mvaddchnstr(
- int a1,
- int a2,
- const chtype *a3,
+ int a1,
+ int a2,
+ const chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvaddchstr
int mvaddchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype *z)
{ return(*(int *)0); }
#undef mvaddnstr
int mvaddnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvaddstr
int mvaddstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvchgat
int mvchgat(
- int a1,
- int a2,
- int a3,
- attr_t a4,
- short a5,
+ int a1,
+ int a2,
+ int a3,
+ attr_t a4,
+ short a5,
const void *z)
{ return(*(int *)0); }
#undef mvdelch
int mvdelch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetch
int mvgetch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetnstr
int mvgetnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvgetstr
int mvgetstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvhline
int mvhline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvinch
chtype mvinch(
- int a1,
+ int a1,
int z)
{ return(*(chtype *)0); }
#undef mvinchnstr
int mvinchnstr(
- int a1,
- int a2,
- chtype *a3,
+ int a1,
+ int a2,
+ chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvinchstr
int mvinchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype *z)
{ return(*(int *)0); }
#undef mvinnstr
int mvinnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsch
int mvinsch(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype z)
{ return(*(int *)0); }
#undef mvinsnstr
int mvinsnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsstr
int mvinsstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvinstr
int mvinstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvvline
int mvvline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvwaddch
int mvwaddch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype z)
{ return(*(int *)0); }
#undef mvwaddchnstr
int mvwaddchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddchstr
int mvwaddchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype *z)
{ return(*(int *)0); }
#undef mvwaddnstr
int mvwaddnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddstr
int mvwaddstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwchgat
int mvwchgat(
- WINDOW *a1,
- int a2,
- int a3,
- int a4,
- attr_t a5,
- short a6,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ int a4,
+ attr_t a5,
+ short a6,
const void *z)
{ return(*(int *)0); }
#undef mvwdelch
int mvwdelch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetch
int mvwgetch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetnstr
int mvwgetnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwgetstr
int mvwgetstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwhline
int mvwhline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef mvwinch
chtype mvwinch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(chtype *)0); }
#undef mvwinchnstr
int mvwinchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwinchstr
int mvwinchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype *z)
{ return(*(int *)0); }
#undef mvwinnstr
int mvwinnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsch
int mvwinsch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype z)
{ return(*(int *)0); }
#undef mvwinsnstr
int mvwinsnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsstr
int mvwinsstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwinstr
int mvwinstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwvline
int mvwvline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef setscrreg
int setscrreg(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef touchline
int touchline(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef vline
int vline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef waddchstr
int waddchstr(
- WINDOW *a1,
+ WINDOW *a1,
const chtype *z)
{ return(*(int *)0); }
#undef waddstr
int waddstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef wattron
int wattron(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattroff
int wattroff(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattrset
int wattrset(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattr_get
int wattr_get(
- WINDOW *a1,
- attr_t *a2,
- short *a3,
+ WINDOW *a1,
+ attr_t *a2,
+ short *a3,
void *z)
{ return(*(int *)0); }
#undef wattr_set
int wattr_set(
- WINDOW *a1,
- attr_t a2,
- short a3,
+ WINDOW *a1,
+ attr_t a2,
+ short a3,
void *z)
{ return(*(int *)0); }
#undef wgetstr
int wgetstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef winchstr
int winchstr(
- WINDOW *a1,
+ WINDOW *a1,
chtype *z)
{ return(*(int *)0); }
#undef winsstr
int winsstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef winstr
int winstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef wgetscrreg
int wgetscrreg(
- const WINDOW *a1,
- int *a2,
+ const WINDOW *a1,
+ int *a2,
int *z)
{ return(*(int *)0); }
#undef mouse_trafo
NCURSES_BOOL mouse_trafo(
- int *a1,
- int *a2,
+ int *a1,
+ int *a2,
NCURSES_BOOL z)
{ return(*(NCURSES_BOOL *)0); }
#undef set_escdelay_sp
int set_escdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef _nc_wgetch
int _nc_wgetch(
- WINDOW *win,
- int *result,
+ WINDOW *win,
+ int *result,
int use_meta)
{ return(*(int *)0); }
#undef wgetnstr
int wgetnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int maxlen)
{ return(*(int *)0); }
#undef whline
int whline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef immedok
void immedok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef winchnstr
int winchnstr(
- WINDOW *win,
- chtype *str,
+ WINDOW *win,
+ chtype *str,
int n)
{ return(*(int *)0); }
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef winsch
int winsch(
- WINDOW *win,
+ WINDOW *win,
chtype c)
{ return(*(int *)0); }
#undef winsdelln
int winsdelln(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef winsnstr
int winsnstr(
- WINDOW *win,
- const char *s,
+ WINDOW *win,
+ const char *s,
int n)
{ return(*(int *)0); }
#undef winnstr
int winnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int n)
{ return(*(int *)0); }
#undef leaveok
int leaveok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef getmouse_sp
int getmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef ungetmouse_sp
int ungetmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef mousemask_sp
mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
+ SCREEN *sp,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef mousemask
mmask_t mousemask(
- mmask_t newmask,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef wenclose
NCURSES_BOOL wenclose(
- const WINDOW *win,
- int y,
+ const WINDOW *win,
+ int y,
int x)
{ return(*(NCURSES_BOOL *)0); }
#undef mouseinterval_sp
int mouseinterval_sp(
- SCREEN *sp,
+ SCREEN *sp,
int maxclick)
{ return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
- const WINDOW *win,
- int *pY,
- int *pX,
+ const WINDOW *win,
+ int *pY,
+ int *pX,
NCURSES_BOOL to_screen)
{ return(*(NCURSES_BOOL *)0); }
#undef wmove
int wmove(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef _nc_msec_cost_sp
int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
+ SCREEN *sp,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_msec_cost
int _nc_msec_cost(
- const char *const cap,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_mvcur_sp
int _nc_mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef _nc_mvcur
int _nc_mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur_sp
int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur
int mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvwin
int mvwin(
- WINDOW *win,
- int by,
+ WINDOW *win,
+ int by,
int bx)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
- SCREEN *sp,
- const char *name,
- FILE *ofp,
+ SCREEN *sp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- const char *name,
- FILE *ofp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newwin_sp
WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef newwin
WINDOW *newwin(
- int num_lines,
- int num_columns,
- int begy,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef derwin
WINDOW *derwin(
- WINDOW *orig,
- int num_lines,
- int num_columns,
- int begy,
+ WINDOW *orig,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef subwin
WINDOW *subwin(
- WINDOW *w,
- int l,
- int c,
- int y,
+ WINDOW *w,
+ int l,
+ int c,
+ int y,
int x)
{ return(*(WINDOW **)0); }
#undef _nc_makenew_sp
WINDOW *_nc_makenew_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
+ int begx,
int flags)
{ return(*(WINDOW **)0); }
#undef overlay
int overlay(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef overwrite
int overwrite(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef copywin
int copywin(
- const WINDOW *src,
- WINDOW *dst,
- int sminrow,
- int smincol,
- int dminrow,
- int dmincol,
- int dmaxrow,
- int dmaxcol,
+ const WINDOW *src,
+ WINDOW *dst,
+ int sminrow,
+ int smincol,
+ int dminrow,
+ int dmincol,
+ int dmaxrow,
+ int dmaxcol,
int over)
{ return(*(int *)0); }
#undef newpad_sp
WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
+ SCREEN *sp,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef newpad
WINDOW *newpad(
- int l,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef subpad
WINDOW *subpad(
- WINDOW *orig,
- int l,
- int c,
- int begy,
+ WINDOW *orig,
+ int l,
+ int c,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef prefresh
int prefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pnoutrefresh
int pnoutrefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pechochar
int pechochar(
- WINDOW *pad,
+ WINDOW *pad,
const chtype ch)
{ return(*(int *)0); }
#undef printw
int printw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wprintw
int wprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvprintw
int mvprintw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwprintw
int mvwprintw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef vwprintw
int vwprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_printw
int vw_printw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef wredrawln
int wredrawln(
- WINDOW *win,
- int beg,
+ WINDOW *win,
+ int beg,
int num)
{ return(*(int *)0); }
#undef restartterm_sp
int restartterm_sp(
- SCREEN *sp,
- const char *termp,
- int filenum,
+ SCREEN *sp,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- const char *termp,
- int filenum,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_scanw
int vw_scanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvscanw
int mvscanw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwscanw
int mvwscanw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef getwin_sp
WINDOW *getwin_sp(
- SCREEN *sp,
+ SCREEN *sp,
FILE *filep)
{ return(*(WINDOW **)0); }
#undef putwin
int putwin(
- WINDOW *win,
+ WINDOW *win,
FILE *filep)
{ return(*(int *)0); }
#undef scr_restore_sp
int scr_restore_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_init_sp
int scr_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_set_sp
int scr_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef _nc_scroll_window
void _nc_scroll_window(
- WINDOW *win,
- int const n,
- int const top,
- int const bottom,
+ WINDOW *win,
+ int const n,
+ int const top,
+ int const bottom,
chtype blank)
{ /* void */ }
#undef wscrl
int wscrl(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef scrollok
int scrollok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef wsetscrreg
int wsetscrreg(
- WINDOW *win,
- int top,
+ WINDOW *win,
+ int top,
int bottom)
{ return(*(int *)0); }
#undef _nc_setupscreen_sp
int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ SCREEN **spp,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_setupscreen
int _nc_setupscreen(
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_ripoffline_sp
int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_ripoffline
int _nc_ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline_sp
int ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline
int ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_format_slks
int _nc_format_slks(
- SCREEN *sp,
+ SCREEN *sp,
int cols)
{ return(*(int *)0); }
#undef _nc_slk_initialize
int _nc_slk_initialize(
- WINDOW *stwin,
+ WINDOW *stwin,
int cols)
{ return(*(int *)0); }
#undef slk_attr_set_sp
int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short pair_arg,
+ SCREEN *sp,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attr_set
int slk_attr_set(
- const attr_t attr,
- short pair_arg,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attroff_sp
int slk_attroff_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attron_sp
int slk_attron_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attrset_sp
int slk_attrset_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_color_sp
int slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
short pair_arg)
{ return(*(int *)0); }
#undef slk_init_sp
int slk_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
int format)
{ return(*(int *)0); }
#undef slk_label_sp
char *slk_label_sp(
- SCREEN *sp,
+ SCREEN *sp,
int n)
{ return(*(char **)0); }
#undef slk_set_sp
int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
+ SCREEN *sp,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef slk_set
int slk_set(
- int i,
- const char *astr,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef is_linetouched
NCURSES_BOOL is_linetouched(
- WINDOW *win,
+ WINDOW *win,
int line)
{ return(*(NCURSES_BOOL *)0); }
#undef wtouchln
int wtouchln(
- WINDOW *win,
- int y,
- int n,
+ WINDOW *win,
+ int y,
+ int n,
int changed)
{ return(*(int *)0); }
#undef _tracedump
void _tracedump(
- const char *name,
+ const char *name,
WINDOW *win)
{ /* void */ }
#undef _nc_trace_mmask_t
char *_nc_trace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(char **)0); }
#undef _nc_tracemouse
char *_nc_tracemouse(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT const *ep)
{ return(*(char **)0); }
#undef _nc_retrace_mmask_t
mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(mmask_t *)0); }
#undef ungetch_sp
int ungetch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef vidputs_sp
int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
+ SCREEN *sp,
+ chtype newmode,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vidputs
int vidputs(
- chtype newmode,
+ chtype newmode,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vidattr_sp
int vidattr_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype newmode)
{ return(*(int *)0); }
#undef wvline
int wvline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef wattr_off
int wattr_off(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef wattr_on
int wattr_on(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef mvderwin
int mvderwin(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef syncok
int syncok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL bf)
{ return(*(int *)0); }
#undef _nc_printf_string_sp
char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
+ SCREEN *sp,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_printf_string
char *_nc_printf_string(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_scrolln_sp
int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
+ SCREEN *sp,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_scrolln
int _nc_scrolln(
- int n,
- int top,
- int bot,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_do_xmc_glitch_sp
void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
+ SCREEN *sp,
attr_t previous)
{ /* void */ }
#undef _nc_varargs
char *_nc_varargs(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_free_and_exit_sp
void _nc_free_and_exit_sp(
- SCREEN *sp,
+ SCREEN *sp,
int code)
{ /* void */ }
#undef _nc_toggle_attr_on
void _nc_toggle_attr_on(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_toggle_attr_off
void _nc_toggle_attr_off(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_DelCharCost_sp
int _nc_DelCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_InsCharCost_sp
int _nc_InsCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_UpdateAttrs_sp
void _nc_UpdateAttrs_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype c)
{ /* void */ }
#undef use_legacy_coding_sp
int use_legacy_coding_sp(
- SCREEN *sp,
+ SCREEN *sp,
int level)
{ return(*(int *)0); }
#undef assume_default_colors_sp
int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef assume_default_colors
int assume_default_colors(
- int fg,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef mcprint_sp
int mcprint_sp(
- SCREEN *sp,
- char *data,
+ SCREEN *sp,
+ char *data,
int len)
{ return(*(int *)0); }
#undef mcprint
int mcprint(
- char *data,
+ char *data,
int len)
{ return(*(int *)0); }
#undef is_term_resized_sp
NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef is_term_resized
NCURSES_BOOL is_term_resized(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef resize_term_sp
int resize_term_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resize_term
int resize_term(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm_sp
int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm
int resizeterm(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef use_screen
int use_screen(
- SCREEN *screen,
- NCURSES_SCREEN_CB func,
+ SCREEN *screen,
+ NCURSES_SCREEN_CB func,
void *data)
{ return(*(int *)0); }
#undef use_window
int use_window(
- WINDOW *win,
- NCURSES_WINDOW_CB func,
+ WINDOW *win,
+ NCURSES_WINDOW_CB func,
void *data)
{ return(*(int *)0); }
#undef wresize
int wresize(
- WINDOW *win,
- int ToLines,
+ WINDOW *win,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _nc_locked_tracef
void _nc_locked_tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_termcap_entry
int _nc_read_termcap_entry(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const chtype *buf,
+ int bufnum,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const chtype *buf,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_make_oldhash_sp
void _nc_make_oldhash_sp(
- SCREEN *sp,
+ SCREEN *sp,
int i)
{ /* void */ }
#undef _nc_scroll_oldhash_sp
void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
+ SCREEN *sp,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
- int n,
- int top,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_render
cchar_t _nc_render(
- WINDOW *win,
+ WINDOW *win,
cchar_t ch)
{ return(*(cchar_t *)0); }
#undef _nc_build_wch
int _nc_build_wch(
- WINDOW *win,
+ WINDOW *win,
cchar_t *ch)
{ return(*(int *)0); }
#undef _nc_waddch_nosync
int _nc_waddch_nosync(
- WINDOW *win,
+ WINDOW *win,
const cchar_t c)
{ return(*(int *)0); }
#undef waddch
int waddch(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef wechochar
int wechochar(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef waddnstr
int waddnstr(
- WINDOW *win,
- const char *astr,
+ WINDOW *win,
+ const char *astr,
int n)
{ return(*(int *)0); }
#undef waddchnstr
int waddchnstr(
- WINDOW *win,
- const chtype *astr,
+ WINDOW *win,
+ const chtype *astr,
int n)
{ return(*(int *)0); }
#undef wadd_wchnstr
int wadd_wchnstr(
- WINDOW *win,
- const cchar_t *astr,
+ WINDOW *win,
+ const cchar_t *astr,
int n)
{ return(*(int *)0); }
#undef waddnwstr
int waddnwstr(
- WINDOW *win,
- const wchar_t *str,
+ WINDOW *win,
+ const wchar_t *str,
int n)
{ return(*(int *)0); }
#undef wbkgrndset
void wbkgrndset(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *ch)
{ /* void */ }
#undef wbkgdset
void wbkgdset(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ /* void */ }
#undef wbkgrnd
int wbkgrnd(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *ch)
{ return(*(int *)0); }
#undef wbkgd
int wbkgd(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef wborder
int wborder(
- WINDOW *win,
- chtype ls,
- chtype rs,
- chtype ts,
- chtype bs,
- chtype tl,
- chtype tr,
- chtype bl,
+ WINDOW *win,
+ chtype ls,
+ chtype rs,
+ chtype ts,
+ chtype bs,
+ chtype tl,
+ chtype tr,
+ chtype bl,
chtype br)
{ return(*(int *)0); }
#undef wchgat
int wchgat(
- WINDOW *win,
- int n,
- attr_t attr,
- short pair_arg,
+ WINDOW *win,
+ int n,
+ attr_t attr,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef clearok
int clearok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_change_pair
void _nc_change_pair(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ /* void */ }
#undef _nc_reserve_pairs
void _nc_reserve_pairs(
- SCREEN *sp,
+ SCREEN *sp,
int want)
{ /* void */ }
#undef _nc_init_pair
int _nc_init_pair(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_pair_sp
int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
+ SCREEN *sp,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef init_pair
int init_pair(
- short pair,
- short f,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef _nc_init_color
int _nc_init_color(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef init_color_sp
int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
+ SCREEN *sp,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef init_color
int init_color(
- short color,
- short r,
- short g,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef color_content_sp
int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
+ SCREEN *sp,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef color_content
int color_content(
- short color,
- short *r,
- short *g,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef _nc_pair_content
int _nc_pair_content(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef pair_content_sp
int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
+ SCREEN *sp,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef pair_content
int pair_content(
- short pair,
- short *f,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef _nc_do_color_sp
void _nc_do_color_sp(
- SCREEN *sp,
- int old_pair,
- int pair,
- int reverse,
+ SCREEN *sp,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC_sp outc)
{ /* void */ }
#undef _nc_do_color
void _nc_do_color(
- int old_pair,
- int pair,
- int reverse,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC outc)
{ /* void */ }
#undef init_extended_pair_sp
int init_extended_pair_sp(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_extended_color_sp
int init_extended_color_sp(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef extended_color_content_sp
int extended_color_content_sp(
- SCREEN *sp,
- int color,
- int *r,
- int *g,
+ SCREEN *sp,
+ int color,
+ int *r,
+ int *g,
int *b)
{ return(*(int *)0); }
#undef extended_pair_content_sp
int extended_pair_content_sp(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef init_extended_pair
int init_extended_pair(
- int pair,
- int f,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_extended_color
int init_extended_color(
- int color,
- int r,
- int g,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef extended_color_content
int extended_color_content(
- int color,
- int *r,
- int *g,
+ int color,
+ int *r,
+ int *g,
int *b)
{ return(*(int *)0); }
#undef extended_pair_content
int extended_pair_content(
- int pair,
- int *f,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef wcolor_set
int wcolor_set(
- WINDOW *win,
- short pair_arg,
+ WINDOW *win,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef addchnstr
int addchnstr(
- const chtype *a1,
+ const chtype *a1,
int z)
{ return(*(int *)0); }
#undef addnstr
int addnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef attr_get
int attr_get(
- attr_t *a1,
- short *a2,
+ attr_t *a1,
+ short *a2,
void *z)
{ return(*(int *)0); }
#undef attr_off
int attr_off(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_on
int attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_set
int attr_set(
- attr_t a1,
- short a2,
+ attr_t a1,
+ short a2,
void *z)
{ return(*(int *)0); }
#undef border
int border(
- chtype a1,
- chtype a2,
- chtype a3,
- chtype a4,
- chtype a5,
- chtype a6,
- chtype a7,
+ chtype a1,
+ chtype a2,
+ chtype a3,
+ chtype a4,
+ chtype a5,
+ chtype a6,
+ chtype a7,
chtype z)
{ return(*(int *)0); }
#undef box
int box(
- WINDOW *a1,
- chtype a2,
+ WINDOW *a1,
+ chtype a2,
chtype z)
{ return(*(int *)0); }
#undef chgat
int chgat(
- int a1,
- attr_t a2,
- short a3,
+ int a1,
+ attr_t a2,
+ short a3,
const void *z)
{ return(*(int *)0); }
#undef color_set
int color_set(
- short a1,
+ short a1,
void *z)
{ return(*(int *)0); }
#undef getnstr
int getnstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef hline
int hline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef inchnstr
int inchnstr(
- chtype *a1,
+ chtype *a1,
int z)
{ return(*(int *)0); }
#undef innstr
int innstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef insnstr
int insnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef move
int move(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvaddch
int mvaddch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype z)
{ return(*(int *)0); }
#undef mvaddchnstr
int mvaddchnstr(
- int a1,
- int a2,
- const chtype *a3,
+ int a1,
+ int a2,
+ const chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvaddchstr
int mvaddchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype *z)
{ return(*(int *)0); }
#undef mvaddnstr
int mvaddnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvaddstr
int mvaddstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvchgat
int mvchgat(
- int a1,
- int a2,
- int a3,
- attr_t a4,
- short a5,
+ int a1,
+ int a2,
+ int a3,
+ attr_t a4,
+ short a5,
const void *z)
{ return(*(int *)0); }
#undef mvdelch
int mvdelch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetch
int mvgetch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetnstr
int mvgetnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvgetstr
int mvgetstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvhline
int mvhline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvinch
chtype mvinch(
- int a1,
+ int a1,
int z)
{ return(*(chtype *)0); }
#undef mvinchnstr
int mvinchnstr(
- int a1,
- int a2,
- chtype *a3,
+ int a1,
+ int a2,
+ chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvinchstr
int mvinchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype *z)
{ return(*(int *)0); }
#undef mvinnstr
int mvinnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsch
int mvinsch(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype z)
{ return(*(int *)0); }
#undef mvinsnstr
int mvinsnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsstr
int mvinsstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvinstr
int mvinstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvvline
int mvvline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvwaddch
int mvwaddch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype z)
{ return(*(int *)0); }
#undef mvwaddchnstr
int mvwaddchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddchstr
int mvwaddchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype *z)
{ return(*(int *)0); }
#undef mvwaddnstr
int mvwaddnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddstr
int mvwaddstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwchgat
int mvwchgat(
- WINDOW *a1,
- int a2,
- int a3,
- int a4,
- attr_t a5,
- short a6,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ int a4,
+ attr_t a5,
+ short a6,
const void *z)
{ return(*(int *)0); }
#undef mvwdelch
int mvwdelch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetch
int mvwgetch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetnstr
int mvwgetnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwgetstr
int mvwgetstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwhline
int mvwhline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef mvwinch
chtype mvwinch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(chtype *)0); }
#undef mvwinchnstr
int mvwinchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwinchstr
int mvwinchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype *z)
{ return(*(int *)0); }
#undef mvwinnstr
int mvwinnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsch
int mvwinsch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype z)
{ return(*(int *)0); }
#undef mvwinsnstr
int mvwinsnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsstr
int mvwinsstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwinstr
int mvwinstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwvline
int mvwvline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef setscrreg
int setscrreg(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef slk_attr_off
int slk_attr_off(
- const attr_t a1,
+ const attr_t a1,
void *z)
{ return(*(int *)0); }
#undef slk_attr_on
int slk_attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef touchline
int touchline(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef vline
int vline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef waddchstr
int waddchstr(
- WINDOW *a1,
+ WINDOW *a1,
const chtype *z)
{ return(*(int *)0); }
#undef waddstr
int waddstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef wattron
int wattron(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattroff
int wattroff(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattrset
int wattrset(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattr_get
int wattr_get(
- WINDOW *a1,
- attr_t *a2,
- short *a3,
+ WINDOW *a1,
+ attr_t *a2,
+ short *a3,
void *z)
{ return(*(int *)0); }
#undef wattr_set
int wattr_set(
- WINDOW *a1,
- attr_t a2,
- short a3,
+ WINDOW *a1,
+ attr_t a2,
+ short a3,
void *z)
{ return(*(int *)0); }
#undef wgetstr
int wgetstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef winchstr
int winchstr(
- WINDOW *a1,
+ WINDOW *a1,
chtype *z)
{ return(*(int *)0); }
#undef winsstr
int winsstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef winstr
int winstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef wgetscrreg
int wgetscrreg(
- const WINDOW *a1,
- int *a2,
+ const WINDOW *a1,
+ int *a2,
int *z)
{ return(*(int *)0); }
#undef add_wchnstr
int add_wchnstr(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef addnwstr
int addnwstr(
- const wchar_t *a1,
+ const wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef border_set
int border_set(
- const cchar_t *a1,
- const cchar_t *a2,
- const cchar_t *a3,
- const cchar_t *a4,
- const cchar_t *a5,
- const cchar_t *a6,
- const cchar_t *a7,
+ const cchar_t *a1,
+ const cchar_t *a2,
+ const cchar_t *a3,
+ const cchar_t *a4,
+ const cchar_t *a5,
+ const cchar_t *a6,
+ const cchar_t *a7,
const cchar_t *z)
{ return(*(int *)0); }
#undef box_set
int box_set(
- WINDOW *a1,
- const cchar_t *a2,
+ WINDOW *a1,
+ const cchar_t *a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef getn_wstr
int getn_wstr(
- wint_t *a1,
+ wint_t *a1,
int z)
{ return(*(int *)0); }
#undef hline_set
int hline_set(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef in_wchnstr
int in_wchnstr(
- cchar_t *a1,
+ cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef innwstr
int innwstr(
- wchar_t *a1,
+ wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef ins_nwstr
int ins_nwstr(
- const wchar_t *a1,
+ const wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef mvadd_wch
int mvadd_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvadd_wchnstr
int mvadd_wchnstr(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvadd_wchstr
int mvadd_wchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvaddnwstr
int mvaddnwstr(
- int a1,
- int a2,
- const wchar_t *a3,
+ int a1,
+ int a2,
+ const wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvaddwstr
int mvaddwstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvget_wch
int mvget_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
wint_t *z)
{ return(*(int *)0); }
#undef mvget_wstr
int mvget_wstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
wint_t *z)
{ return(*(int *)0); }
#undef mvgetn_wstr
int mvgetn_wstr(
- int a1,
- int a2,
- wint_t *a3,
+ int a1,
+ int a2,
+ wint_t *a3,
int z)
{ return(*(int *)0); }
#undef mvhline_set
int mvhline_set(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvin_wch
int mvin_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
cchar_t *z)
{ return(*(int *)0); }
#undef mvin_wchnstr
int mvin_wchnstr(
- int a1,
- int a2,
- cchar_t *a3,
+ int a1,
+ int a2,
+ cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvin_wchstr
int mvin_wchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
cchar_t *z)
{ return(*(int *)0); }
#undef mvinnwstr
int mvinnwstr(
- int a1,
- int a2,
- wchar_t *a3,
+ int a1,
+ int a2,
+ wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvins_nwstr
int mvins_nwstr(
- int a1,
- int a2,
- const wchar_t *a3,
+ int a1,
+ int a2,
+ const wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvins_wch
int mvins_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvins_wstr
int mvins_wstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvinwstr
int mvinwstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
wchar_t *z)
{ return(*(int *)0); }
#undef mvvline_set
int mvvline_set(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvwadd_wch
int mvwadd_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwadd_wchnstr
int mvwadd_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwadd_wchstr
int mvwadd_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwaddnwstr
int mvwaddnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddwstr
int mvwaddwstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvwget_wch
int mvwget_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wint_t *z)
{ return(*(int *)0); }
#undef mvwget_wstr
int mvwget_wstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wint_t *z)
{ return(*(int *)0); }
#undef mvwgetn_wstr
int mvwgetn_wstr(
- WINDOW *a1,
- int a2,
- int a3,
- wint_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ wint_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwhline_set
int mvwhline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwin_wch
int mvwin_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
cchar_t *z)
{ return(*(int *)0); }
#undef mvwin_wchnstr
int mvwin_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwin_wchstr
int mvwin_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
cchar_t *z)
{ return(*(int *)0); }
#undef mvwinnwstr
int mvwinnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwins_nwstr
int mvwins_nwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwins_wch
int mvwins_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwins_wstr
int mvwins_wstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvwinwstr
int mvwinwstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wchar_t *z)
{ return(*(int *)0); }
#undef mvwvline_set
int mvwvline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef vline_set
int vline_set(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef wadd_wchstr
int wadd_wchstr(
- WINDOW *a1,
+ WINDOW *a1,
const cchar_t *z)
{ return(*(int *)0); }
#undef waddwstr
int waddwstr(
- WINDOW *a1,
+ WINDOW *a1,
const wchar_t *z)
{ return(*(int *)0); }
#undef wget_wstr
int wget_wstr(
- WINDOW *a1,
+ WINDOW *a1,
wint_t *z)
{ return(*(int *)0); }
#undef wgetbkgrnd
int wgetbkgrnd(
- WINDOW *a1,
+ WINDOW *a1,
cchar_t *z)
{ return(*(int *)0); }
#undef win_wchstr
int win_wchstr(
- WINDOW *a1,
+ WINDOW *a1,
cchar_t *z)
{ return(*(int *)0); }
#undef wins_wstr
int wins_wstr(
- WINDOW *a1,
+ WINDOW *a1,
const wchar_t *z)
{ return(*(int *)0); }
#undef mouse_trafo
NCURSES_BOOL mouse_trafo(
- int *a1,
- int *a2,
+ int *a1,
+ int *a2,
NCURSES_BOOL z)
{ return(*(NCURSES_BOOL *)0); }
#undef set_escdelay_sp
int set_escdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef _nc_wgetch
int _nc_wgetch(
- WINDOW *win,
- int *result,
+ WINDOW *win,
+ int *result,
int use_meta)
{ return(*(int *)0); }
#undef wgetnstr
int wgetnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int maxlen)
{ return(*(int *)0); }
#undef whline
int whline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef immedok
void immedok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef winchnstr
int winchnstr(
- WINDOW *win,
- chtype *str,
+ WINDOW *win,
+ chtype *str,
int n)
{ return(*(int *)0); }
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef winsch
int winsch(
- WINDOW *win,
+ WINDOW *win,
chtype c)
{ return(*(int *)0); }
#undef winsdelln
int winsdelln(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef winsnstr
int winsnstr(
- WINDOW *win,
- const char *s,
+ WINDOW *win,
+ const char *s,
int n)
{ return(*(int *)0); }
#undef winnstr
int winnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int n)
{ return(*(int *)0); }
#undef leaveok
int leaveok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef getmouse_sp
int getmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef ungetmouse_sp
int ungetmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef mousemask_sp
mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
+ SCREEN *sp,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef mousemask
mmask_t mousemask(
- mmask_t newmask,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef wenclose
NCURSES_BOOL wenclose(
- const WINDOW *win,
- int y,
+ const WINDOW *win,
+ int y,
int x)
{ return(*(NCURSES_BOOL *)0); }
#undef mouseinterval_sp
int mouseinterval_sp(
- SCREEN *sp,
+ SCREEN *sp,
int maxclick)
{ return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
- const WINDOW *win,
- int *pY,
- int *pX,
+ const WINDOW *win,
+ int *pY,
+ int *pX,
NCURSES_BOOL to_screen)
{ return(*(NCURSES_BOOL *)0); }
#undef wmove
int wmove(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef _nc_msec_cost_sp
int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
+ SCREEN *sp,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_msec_cost
int _nc_msec_cost(
- const char *const cap,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_mvcur_sp
int _nc_mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef _nc_mvcur
int _nc_mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur_sp
int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur
int mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvwin
int mvwin(
- WINDOW *win,
- int by,
+ WINDOW *win,
+ int by,
int bx)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
- SCREEN *sp,
- const char *name,
- FILE *ofp,
+ SCREEN *sp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- const char *name,
- FILE *ofp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newwin_sp
WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef newwin
WINDOW *newwin(
- int num_lines,
- int num_columns,
- int begy,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef derwin
WINDOW *derwin(
- WINDOW *orig,
- int num_lines,
- int num_columns,
- int begy,
+ WINDOW *orig,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef subwin
WINDOW *subwin(
- WINDOW *w,
- int l,
- int c,
- int y,
+ WINDOW *w,
+ int l,
+ int c,
+ int y,
int x)
{ return(*(WINDOW **)0); }
#undef _nc_makenew_sp
WINDOW *_nc_makenew_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
+ int begx,
int flags)
{ return(*(WINDOW **)0); }
#undef overlay
int overlay(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef overwrite
int overwrite(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef copywin
int copywin(
- const WINDOW *src,
- WINDOW *dst,
- int sminrow,
- int smincol,
- int dminrow,
- int dmincol,
- int dmaxrow,
- int dmaxcol,
+ const WINDOW *src,
+ WINDOW *dst,
+ int sminrow,
+ int smincol,
+ int dminrow,
+ int dmincol,
+ int dmaxrow,
+ int dmaxcol,
int over)
{ return(*(int *)0); }
#undef newpad_sp
WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
+ SCREEN *sp,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef newpad
WINDOW *newpad(
- int l,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef subpad
WINDOW *subpad(
- WINDOW *orig,
- int l,
- int c,
- int begy,
+ WINDOW *orig,
+ int l,
+ int c,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef prefresh
int prefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pnoutrefresh
int pnoutrefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pechochar
int pechochar(
- WINDOW *pad,
+ WINDOW *pad,
const chtype ch)
{ return(*(int *)0); }
#undef printw
int printw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wprintw
int wprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvprintw
int mvprintw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwprintw
int mvwprintw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef vwprintw
int vwprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_printw
int vw_printw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef wredrawln
int wredrawln(
- WINDOW *win,
- int beg,
+ WINDOW *win,
+ int beg,
int num)
{ return(*(int *)0); }
#undef restartterm_sp
int restartterm_sp(
- SCREEN *sp,
- const char *termp,
- int filenum,
+ SCREEN *sp,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- const char *termp,
- int filenum,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_scanw
int vw_scanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvscanw
int mvscanw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwscanw
int mvwscanw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef getwin_sp
WINDOW *getwin_sp(
- SCREEN *sp,
+ SCREEN *sp,
FILE *filep)
{ return(*(WINDOW **)0); }
#undef putwin
int putwin(
- WINDOW *win,
+ WINDOW *win,
FILE *filep)
{ return(*(int *)0); }
#undef scr_restore_sp
int scr_restore_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_init_sp
int scr_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_set_sp
int scr_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef _nc_scroll_window
void _nc_scroll_window(
- WINDOW *win,
- int const n,
- int const top,
- int const bottom,
+ WINDOW *win,
+ int const n,
+ int const top,
+ int const bottom,
cchar_t blank)
{ /* void */ }
#undef wscrl
int wscrl(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef scrollok
int scrollok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef wsetscrreg
int wsetscrreg(
- WINDOW *win,
- int top,
+ WINDOW *win,
+ int top,
int bottom)
{ return(*(int *)0); }
#undef _nc_setupscreen_sp
int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ SCREEN **spp,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_setupscreen
int _nc_setupscreen(
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_ripoffline_sp
int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_ripoffline
int _nc_ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline_sp
int ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline
int ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_format_slks
int _nc_format_slks(
- SCREEN *sp,
+ SCREEN *sp,
int cols)
{ return(*(int *)0); }
#undef _nc_slk_initialize
int _nc_slk_initialize(
- WINDOW *stwin,
+ WINDOW *stwin,
int cols)
{ return(*(int *)0); }
#undef slk_attr_set_sp
int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short pair_arg,
+ SCREEN *sp,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attr_set
int slk_attr_set(
- const attr_t attr,
- short pair_arg,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attroff_sp
int slk_attroff_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attron_sp
int slk_attron_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attrset_sp
int slk_attrset_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_color_sp
int slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
short pair_arg)
{ return(*(int *)0); }
#undef extended_slk_color_sp
int extended_slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
int pair_arg)
{ return(*(int *)0); }
#undef slk_init_sp
int slk_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
int format)
{ return(*(int *)0); }
#undef slk_label_sp
char *slk_label_sp(
- SCREEN *sp,
+ SCREEN *sp,
int n)
{ return(*(char **)0); }
#undef slk_set_sp
int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
+ SCREEN *sp,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef slk_set
int slk_set(
- int i,
- const char *astr,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef is_linetouched
NCURSES_BOOL is_linetouched(
- WINDOW *win,
+ WINDOW *win,
int line)
{ return(*(NCURSES_BOOL *)0); }
#undef wtouchln
int wtouchln(
- WINDOW *win,
- int y,
- int n,
+ WINDOW *win,
+ int y,
+ int n,
int changed)
{ return(*(int *)0); }
#undef _tracedump
void _tracedump(
- const char *name,
+ const char *name,
WINDOW *win)
{ /* void */ }
#undef _nc_trace_mmask_t
char *_nc_trace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(char **)0); }
#undef _nc_tracemouse
char *_nc_tracemouse(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT const *ep)
{ return(*(char **)0); }
#undef _nc_retrace_mmask_t
mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(mmask_t *)0); }
#undef ungetch_sp
int ungetch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef vidputs_sp
int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
+ SCREEN *sp,
+ chtype newmode,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vidputs
int vidputs(
- chtype newmode,
+ chtype newmode,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vidattr_sp
int vidattr_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype newmode)
{ return(*(int *)0); }
#undef wvline
int wvline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef wattr_off
int wattr_off(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef wattr_on
int wattr_on(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef mvderwin
int mvderwin(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef syncok
int syncok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL bf)
{ return(*(int *)0); }
#undef _nc_printf_string_sp
char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
+ SCREEN *sp,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_printf_string
char *_nc_printf_string(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_scrolln_sp
int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
+ SCREEN *sp,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_scrolln
int _nc_scrolln(
- int n,
- int top,
- int bot,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_do_xmc_glitch_sp
void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
+ SCREEN *sp,
attr_t previous)
{ /* void */ }
#undef _nc_varargs
char *_nc_varargs(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_free_and_exit_sp
void _nc_free_and_exit_sp(
- SCREEN *sp,
+ SCREEN *sp,
int code)
{ /* void */ }
#undef wadd_wch
int wadd_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wecho_wchar
int wecho_wchar(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wborder_set
int wborder_set(
- WINDOW *win,
- const cchar_t *ls,
- const cchar_t *rs,
- const cchar_t *ts,
- const cchar_t *bs,
- const cchar_t *tl,
- const cchar_t *tr,
- const cchar_t *bl,
+ WINDOW *win,
+ const cchar_t *ls,
+ const cchar_t *rs,
+ const cchar_t *ts,
+ const cchar_t *bs,
+ const cchar_t *tl,
+ const cchar_t *tr,
+ const cchar_t *bl,
const cchar_t *br)
{ return(*(int *)0); }
#undef setcchar
int setcchar(
- cchar_t *wcval,
- const wchar_t *wch,
- const attr_t attrs,
- short pair_arg,
+ cchar_t *wcval,
+ const wchar_t *wch,
+ const attr_t attrs,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef getcchar
int getcchar(
- const cchar_t *wcval,
- wchar_t *wch,
- attr_t *attrs,
- short *pair_arg,
+ const cchar_t *wcval,
+ wchar_t *wch,
+ attr_t *attrs,
+ short *pair_arg,
void *opts)
{ return(*(int *)0); }
#undef erasewchar_sp
int erasewchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
wchar_t *wch)
{ return(*(int *)0); }
#undef killwchar_sp
int killwchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
wchar_t *wch)
{ return(*(int *)0); }
#undef wget_wch
int wget_wch(
- WINDOW *win,
+ WINDOW *win,
wint_t *result)
{ return(*(int *)0); }
#undef wgetn_wstr
int wgetn_wstr(
- WINDOW *win,
- wint_t *str,
+ WINDOW *win,
+ wint_t *str,
int maxlen)
{ return(*(int *)0); }
#undef whline_set
int whline_set(
- WINDOW *win,
- const cchar_t *ch,
+ WINDOW *win,
+ const cchar_t *ch,
int n)
{ return(*(int *)0); }
#undef win_wch
int win_wch(
- WINDOW *win,
+ WINDOW *win,
cchar_t *wcval)
{ return(*(int *)0); }
#undef win_wchnstr
int win_wchnstr(
- WINDOW *win,
- cchar_t *wchstr,
+ WINDOW *win,
+ cchar_t *wchstr,
int n)
{ return(*(int *)0); }
#undef _nc_insert_wch
int _nc_insert_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wins_wch
int wins_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wins_nwstr
int wins_nwstr(
- WINDOW *win,
- const wchar_t *wstr,
+ WINDOW *win,
+ const wchar_t *wstr,
int n)
{ return(*(int *)0); }
#undef winnwstr
int winnwstr(
- WINDOW *win,
- wchar_t *wstr,
+ WINDOW *win,
+ wchar_t *wstr,
int n)
{ return(*(int *)0); }
#undef winwstr
int winwstr(
- WINDOW *win,
+ WINDOW *win,
wchar_t *wstr)
{ return(*(int *)0); }
#undef pecho_wchar
int pecho_wchar(
- WINDOW *pad,
+ WINDOW *pad,
const cchar_t *wch)
{ return(*(int *)0); }
#undef slk_wset
int slk_wset(
- int i,
- const wchar_t *astr,
+ int i,
+ const wchar_t *astr,
int format)
{ return(*(int *)0); }
#undef _nc_wcrtomb
size_t _nc_wcrtomb(
- char *target,
- wchar_t source,
+ char *target,
+ wchar_t source,
mbstate_t *state)
{ return(*(size_t *)0); }
#undef unget_wch_sp
int unget_wch_sp(
- SCREEN *sp,
+ SCREEN *sp,
const wchar_t wch)
{ return(*(int *)0); }
#undef vid_puts_sp
int vid_puts_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair_arg,
- void *opts,
+ SCREEN *sp,
+ attr_t newmode,
+ short pair_arg,
+ void *opts,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vid_puts
int vid_puts(
- attr_t newmode,
- short pair_arg,
- void *opts,
+ attr_t newmode,
+ short pair_arg,
+ void *opts,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vid_attr_sp
int vid_attr_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair_arg,
+ SCREEN *sp,
+ attr_t newmode,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef vid_attr
int vid_attr(
- attr_t newmode,
- short pair_arg,
+ attr_t newmode,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef wvline_set
int wvline_set(
- WINDOW *win,
- const cchar_t *ch,
+ WINDOW *win,
+ const cchar_t *ch,
int n)
{ return(*(int *)0); }
#undef wunctrl_sp
wchar_t *wunctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
cchar_t *wc)
{ return(*(wchar_t **)0); }
#undef _nc_toggle_attr_on
void _nc_toggle_attr_on(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_toggle_attr_off
void _nc_toggle_attr_off(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_DelCharCost_sp
int _nc_DelCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_InsCharCost_sp
int _nc_InsCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_UpdateAttrs_sp
void _nc_UpdateAttrs_sp(
- SCREEN *sp,
+ SCREEN *sp,
const cchar_t *c)
{ /* void */ }
#undef use_legacy_coding_sp
int use_legacy_coding_sp(
- SCREEN *sp,
+ SCREEN *sp,
int level)
{ return(*(int *)0); }
#undef assume_default_colors_sp
int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef assume_default_colors
int assume_default_colors(
- int fg,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef mcprint_sp
int mcprint_sp(
- SCREEN *sp,
- char *data,
+ SCREEN *sp,
+ char *data,
int len)
{ return(*(int *)0); }
#undef mcprint
int mcprint(
- char *data,
+ char *data,
int len)
{ return(*(int *)0); }
#undef _nc_reset_color_pair
void _nc_reset_color_pair(
- SCREEN *sp,
- int pair,
+ SCREEN *sp,
+ int pair,
colorpair_t *next)
{ /* void */ }
#undef _nc_set_color_pair
void _nc_set_color_pair(
- SCREEN *sp,
- int pair,
+ SCREEN *sp,
+ int pair,
int mode)
{ /* void */ }
#undef _nc_copy_pairs
void _nc_copy_pairs(
- SCREEN *sp,
- colorpair_t *target,
- colorpair_t *source,
+ SCREEN *sp,
+ colorpair_t *target,
+ colorpair_t *source,
int length)
{ /* void */ }
#undef alloc_pair_sp
int alloc_pair_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef find_pair_sp
int find_pair_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef free_pair_sp
int free_pair_sp(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ return(*(int *)0); }
#undef alloc_pair
int alloc_pair(
- int f,
+ int f,
int b)
{ return(*(int *)0); }
#undef find_pair
int find_pair(
- int f,
+ int f,
int b)
{ return(*(int *)0); }
#undef is_term_resized_sp
NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef is_term_resized
NCURSES_BOOL is_term_resized(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef resize_term_sp
int resize_term_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resize_term
int resize_term(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm_sp
int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm
int resizeterm(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef use_screen
int use_screen(
- SCREEN *screen,
- NCURSES_SCREEN_CB func,
+ SCREEN *screen,
+ NCURSES_SCREEN_CB func,
void *data)
{ return(*(int *)0); }
#undef use_window
int use_window(
- WINDOW *win,
- NCURSES_WINDOW_CB func,
+ WINDOW *win,
+ NCURSES_WINDOW_CB func,
void *data)
{ return(*(int *)0); }
#undef wresize
int wresize(
- WINDOW *win,
- int ToLines,
+ WINDOW *win,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_copy_termtype2
void _nc_copy_termtype2(
- TERMTYPE2 *dst,
+ TERMTYPE2 *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_export_termtype2
void _nc_export_termtype2(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _nc_locked_tracef
void _nc_locked_tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _tracecchar_t2
char *_tracecchar_t2(
- int bufnum,
+ int bufnum,
const cchar_t *ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry2
int _nc_read_entry2(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE *const tp)
{ return(*(int *)0); }
#undef _nc_read_termcap_entry
int _nc_read_termcap_entry(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viswbuf2
const char *_nc_viswbuf2(
- int bufnum,
+ int bufnum,
const wchar_t *buf)
{ return(*(const char **)0); }
#undef _nc_viswbufn
const char *_nc_viswbufn(
- const wchar_t *buf,
+ const wchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const cchar_t *buf,
+ int bufnum,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const cchar_t *buf,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_make_oldhash_sp
void _nc_make_oldhash_sp(
- SCREEN *sp,
+ SCREEN *sp,
int i)
{ /* void */ }
#undef _nc_scroll_oldhash_sp
void _nc_scroll_oldhash_sp(
- SCREEN *sp,
- int n,
- int top,
+ SCREEN *sp,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_scroll_oldhash
void _nc_scroll_oldhash(
- int n,
- int top,
+ int n,
+ int top,
int bot)
{ /* void */ }
#undef _nc_render
cchar_t _nc_render(
- WINDOW *win,
+ WINDOW *win,
cchar_t ch)
{ return(*(cchar_t *)0); }
#undef _nc_build_wch
int _nc_build_wch(
- WINDOW *win,
+ WINDOW *win,
cchar_t *ch)
{ return(*(int *)0); }
#undef _nc_waddch_nosync
int _nc_waddch_nosync(
- WINDOW *win,
+ WINDOW *win,
const cchar_t c)
{ return(*(int *)0); }
#undef waddch
int waddch(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef wechochar
int wechochar(
- WINDOW *win,
+ WINDOW *win,
const chtype ch)
{ return(*(int *)0); }
#undef waddnstr
int waddnstr(
- WINDOW *win,
- const char *astr,
+ WINDOW *win,
+ const char *astr,
int n)
{ return(*(int *)0); }
#undef waddchnstr
int waddchnstr(
- WINDOW *win,
- const chtype *astr,
+ WINDOW *win,
+ const chtype *astr,
int n)
{ return(*(int *)0); }
#undef wadd_wchnstr
int wadd_wchnstr(
- WINDOW *win,
- const cchar_t *astr,
+ WINDOW *win,
+ const cchar_t *astr,
int n)
{ return(*(int *)0); }
#undef waddnwstr
int waddnwstr(
- WINDOW *win,
- const wchar_t *str,
+ WINDOW *win,
+ const wchar_t *str,
int n)
{ return(*(int *)0); }
#undef wbkgrndset
void wbkgrndset(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *ch)
{ /* void */ }
#undef wbkgdset
void wbkgdset(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ /* void */ }
#undef wbkgrnd
int wbkgrnd(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *ch)
{ return(*(int *)0); }
#undef wbkgd
int wbkgd(
- WINDOW *win,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef wborder
int wborder(
- WINDOW *win,
- chtype ls,
- chtype rs,
- chtype ts,
- chtype bs,
- chtype tl,
- chtype tr,
- chtype bl,
+ WINDOW *win,
+ chtype ls,
+ chtype rs,
+ chtype ts,
+ chtype bs,
+ chtype tl,
+ chtype tr,
+ chtype bl,
chtype br)
{ return(*(int *)0); }
#undef wchgat
int wchgat(
- WINDOW *win,
- int n,
- attr_t attr,
- short pair_arg,
+ WINDOW *win,
+ int n,
+ attr_t attr,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef clearok
int clearok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_change_pair
void _nc_change_pair(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ /* void */ }
#undef _nc_reserve_pairs
void _nc_reserve_pairs(
- SCREEN *sp,
+ SCREEN *sp,
int want)
{ /* void */ }
#undef _nc_init_pair
int _nc_init_pair(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_pair_sp
int init_pair_sp(
- SCREEN *sp,
- short pair,
- short f,
+ SCREEN *sp,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef init_pair
int init_pair(
- short pair,
- short f,
+ short pair,
+ short f,
short b)
{ return(*(int *)0); }
#undef _nc_init_color
int _nc_init_color(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef init_color_sp
int init_color_sp(
- SCREEN *sp,
- short color,
- short r,
- short g,
+ SCREEN *sp,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef init_color
int init_color(
- short color,
- short r,
- short g,
+ short color,
+ short r,
+ short g,
short b)
{ return(*(int *)0); }
#undef color_content_sp
int color_content_sp(
- SCREEN *sp,
- short color,
- short *r,
- short *g,
+ SCREEN *sp,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef color_content
int color_content(
- short color,
- short *r,
- short *g,
+ short color,
+ short *r,
+ short *g,
short *b)
{ return(*(int *)0); }
#undef _nc_pair_content
int _nc_pair_content(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef pair_content_sp
int pair_content_sp(
- SCREEN *sp,
- short pair,
- short *f,
+ SCREEN *sp,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef pair_content
int pair_content(
- short pair,
- short *f,
+ short pair,
+ short *f,
short *b)
{ return(*(int *)0); }
#undef _nc_do_color_sp
void _nc_do_color_sp(
- SCREEN *sp,
- int old_pair,
- int pair,
- int reverse,
+ SCREEN *sp,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC_sp outc)
{ /* void */ }
#undef _nc_do_color
void _nc_do_color(
- int old_pair,
- int pair,
- int reverse,
+ int old_pair,
+ int pair,
+ int reverse,
NCURSES_OUTC outc)
{ /* void */ }
#undef init_extended_pair_sp
int init_extended_pair_sp(
- SCREEN *sp,
- int pair,
- int f,
+ SCREEN *sp,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_extended_color_sp
int init_extended_color_sp(
- SCREEN *sp,
- int color,
- int r,
- int g,
+ SCREEN *sp,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef extended_color_content_sp
int extended_color_content_sp(
- SCREEN *sp,
- int color,
- int *r,
- int *g,
+ SCREEN *sp,
+ int color,
+ int *r,
+ int *g,
int *b)
{ return(*(int *)0); }
#undef extended_pair_content_sp
int extended_pair_content_sp(
- SCREEN *sp,
- int pair,
- int *f,
+ SCREEN *sp,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef init_extended_pair
int init_extended_pair(
- int pair,
- int f,
+ int pair,
+ int f,
int b)
{ return(*(int *)0); }
#undef init_extended_color
int init_extended_color(
- int color,
- int r,
- int g,
+ int color,
+ int r,
+ int g,
int b)
{ return(*(int *)0); }
#undef extended_color_content
int extended_color_content(
- int color,
- int *r,
- int *g,
+ int color,
+ int *r,
+ int *g,
int *b)
{ return(*(int *)0); }
#undef extended_pair_content
int extended_pair_content(
- int pair,
- int *f,
+ int pair,
+ int *f,
int *b)
{ return(*(int *)0); }
#undef wcolor_set
int wcolor_set(
- WINDOW *win,
- short pair_arg,
+ WINDOW *win,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef addchnstr
int addchnstr(
- const chtype *a1,
+ const chtype *a1,
int z)
{ return(*(int *)0); }
#undef addnstr
int addnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef attr_get
int attr_get(
- attr_t *a1,
- short *a2,
+ attr_t *a1,
+ short *a2,
void *z)
{ return(*(int *)0); }
#undef attr_off
int attr_off(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_on
int attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef attr_set
int attr_set(
- attr_t a1,
- short a2,
+ attr_t a1,
+ short a2,
void *z)
{ return(*(int *)0); }
#undef border
int border(
- chtype a1,
- chtype a2,
- chtype a3,
- chtype a4,
- chtype a5,
- chtype a6,
- chtype a7,
+ chtype a1,
+ chtype a2,
+ chtype a3,
+ chtype a4,
+ chtype a5,
+ chtype a6,
+ chtype a7,
chtype z)
{ return(*(int *)0); }
#undef box
int box(
- WINDOW *a1,
- chtype a2,
+ WINDOW *a1,
+ chtype a2,
chtype z)
{ return(*(int *)0); }
#undef chgat
int chgat(
- int a1,
- attr_t a2,
- short a3,
+ int a1,
+ attr_t a2,
+ short a3,
const void *z)
{ return(*(int *)0); }
#undef color_set
int color_set(
- short a1,
+ short a1,
void *z)
{ return(*(int *)0); }
#undef getnstr
int getnstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef hline
int hline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef inchnstr
int inchnstr(
- chtype *a1,
+ chtype *a1,
int z)
{ return(*(int *)0); }
#undef innstr
int innstr(
- char *a1,
+ char *a1,
int z)
{ return(*(int *)0); }
#undef insnstr
int insnstr(
- const char *a1,
+ const char *a1,
int z)
{ return(*(int *)0); }
#undef move
int move(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvaddch
int mvaddch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype z)
{ return(*(int *)0); }
#undef mvaddchnstr
int mvaddchnstr(
- int a1,
- int a2,
- const chtype *a3,
+ int a1,
+ int a2,
+ const chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvaddchstr
int mvaddchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const chtype *z)
{ return(*(int *)0); }
#undef mvaddnstr
int mvaddnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvaddstr
int mvaddstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvchgat
int mvchgat(
- int a1,
- int a2,
- int a3,
- attr_t a4,
- short a5,
+ int a1,
+ int a2,
+ int a3,
+ attr_t a4,
+ short a5,
const void *z)
{ return(*(int *)0); }
#undef mvdelch
int mvdelch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetch
int mvgetch(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef mvgetnstr
int mvgetnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvgetstr
int mvgetstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvhline
int mvhline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvinch
chtype mvinch(
- int a1,
+ int a1,
int z)
{ return(*(chtype *)0); }
#undef mvinchnstr
int mvinchnstr(
- int a1,
- int a2,
- chtype *a3,
+ int a1,
+ int a2,
+ chtype *a3,
int z)
{ return(*(int *)0); }
#undef mvinchstr
int mvinchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype *z)
{ return(*(int *)0); }
#undef mvinnstr
int mvinnstr(
- int a1,
- int a2,
- char *a3,
+ int a1,
+ int a2,
+ char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsch
int mvinsch(
- int a1,
- int a2,
+ int a1,
+ int a2,
chtype z)
{ return(*(int *)0); }
#undef mvinsnstr
int mvinsnstr(
- int a1,
- int a2,
- const char *a3,
+ int a1,
+ int a2,
+ const char *a3,
int z)
{ return(*(int *)0); }
#undef mvinsstr
int mvinsstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const char *z)
{ return(*(int *)0); }
#undef mvinstr
int mvinstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
char *z)
{ return(*(int *)0); }
#undef mvvline
int mvvline(
- int a1,
- int a2,
- chtype a3,
+ int a1,
+ int a2,
+ chtype a3,
int z)
{ return(*(int *)0); }
#undef mvwaddch
int mvwaddch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype z)
{ return(*(int *)0); }
#undef mvwaddchnstr
int mvwaddchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddchstr
int mvwaddchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const chtype *z)
{ return(*(int *)0); }
#undef mvwaddnstr
int mvwaddnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddstr
int mvwaddstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwchgat
int mvwchgat(
- WINDOW *a1,
- int a2,
- int a3,
- int a4,
- attr_t a5,
- short a6,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ int a4,
+ attr_t a5,
+ short a6,
const void *z)
{ return(*(int *)0); }
#undef mvwdelch
int mvwdelch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetch
int mvwgetch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef mvwgetnstr
int mvwgetnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwgetstr
int mvwgetstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwhline
int mvwhline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef mvwinch
chtype mvwinch(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(chtype *)0); }
#undef mvwinchnstr
int mvwinchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- chtype *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype *a4,
int z)
{ return(*(int *)0); }
#undef mvwinchstr
int mvwinchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype *z)
{ return(*(int *)0); }
#undef mvwinnstr
int mvwinnstr(
- WINDOW *a1,
- int a2,
- int a3,
- char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsch
int mvwinsch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
chtype z)
{ return(*(int *)0); }
#undef mvwinsnstr
int mvwinsnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const char *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const char *a4,
int z)
{ return(*(int *)0); }
#undef mvwinsstr
int mvwinsstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const char *z)
{ return(*(int *)0); }
#undef mvwinstr
int mvwinstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
char *z)
{ return(*(int *)0); }
#undef mvwvline
int mvwvline(
- WINDOW *a1,
- int a2,
- int a3,
- chtype a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ chtype a4,
int z)
{ return(*(int *)0); }
#undef setscrreg
int setscrreg(
- int a1,
+ int a1,
int z)
{ return(*(int *)0); }
#undef slk_attr_off
int slk_attr_off(
- const attr_t a1,
+ const attr_t a1,
void *z)
{ return(*(int *)0); }
#undef slk_attr_on
int slk_attr_on(
- attr_t a1,
+ attr_t a1,
void *z)
{ return(*(int *)0); }
#undef touchline
int touchline(
- WINDOW *a1,
- int a2,
+ WINDOW *a1,
+ int a2,
int z)
{ return(*(int *)0); }
#undef vline
int vline(
- chtype a1,
+ chtype a1,
int z)
{ return(*(int *)0); }
#undef waddchstr
int waddchstr(
- WINDOW *a1,
+ WINDOW *a1,
const chtype *z)
{ return(*(int *)0); }
#undef waddstr
int waddstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef wattron
int wattron(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattroff
int wattroff(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattrset
int wattrset(
- WINDOW *a1,
+ WINDOW *a1,
int z)
{ return(*(int *)0); }
#undef wattr_get
int wattr_get(
- WINDOW *a1,
- attr_t *a2,
- short *a3,
+ WINDOW *a1,
+ attr_t *a2,
+ short *a3,
void *z)
{ return(*(int *)0); }
#undef wattr_set
int wattr_set(
- WINDOW *a1,
- attr_t a2,
- short a3,
+ WINDOW *a1,
+ attr_t a2,
+ short a3,
void *z)
{ return(*(int *)0); }
#undef wgetstr
int wgetstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef winchstr
int winchstr(
- WINDOW *a1,
+ WINDOW *a1,
chtype *z)
{ return(*(int *)0); }
#undef winsstr
int winsstr(
- WINDOW *a1,
+ WINDOW *a1,
const char *z)
{ return(*(int *)0); }
#undef winstr
int winstr(
- WINDOW *a1,
+ WINDOW *a1,
char *z)
{ return(*(int *)0); }
#undef wgetscrreg
int wgetscrreg(
- const WINDOW *a1,
- int *a2,
+ const WINDOW *a1,
+ int *a2,
int *z)
{ return(*(int *)0); }
#undef add_wchnstr
int add_wchnstr(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef addnwstr
int addnwstr(
- const wchar_t *a1,
+ const wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef border_set
int border_set(
- const cchar_t *a1,
- const cchar_t *a2,
- const cchar_t *a3,
- const cchar_t *a4,
- const cchar_t *a5,
- const cchar_t *a6,
- const cchar_t *a7,
+ const cchar_t *a1,
+ const cchar_t *a2,
+ const cchar_t *a3,
+ const cchar_t *a4,
+ const cchar_t *a5,
+ const cchar_t *a6,
+ const cchar_t *a7,
const cchar_t *z)
{ return(*(int *)0); }
#undef box_set
int box_set(
- WINDOW *a1,
- const cchar_t *a2,
+ WINDOW *a1,
+ const cchar_t *a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef getn_wstr
int getn_wstr(
- wint_t *a1,
+ wint_t *a1,
int z)
{ return(*(int *)0); }
#undef hline_set
int hline_set(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef in_wchnstr
int in_wchnstr(
- cchar_t *a1,
+ cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef innwstr
int innwstr(
- wchar_t *a1,
+ wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef ins_nwstr
int ins_nwstr(
- const wchar_t *a1,
+ const wchar_t *a1,
int z)
{ return(*(int *)0); }
#undef mvadd_wch
int mvadd_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvadd_wchnstr
int mvadd_wchnstr(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvadd_wchstr
int mvadd_wchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvaddnwstr
int mvaddnwstr(
- int a1,
- int a2,
- const wchar_t *a3,
+ int a1,
+ int a2,
+ const wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvaddwstr
int mvaddwstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvget_wch
int mvget_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
wint_t *z)
{ return(*(int *)0); }
#undef mvget_wstr
int mvget_wstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
wint_t *z)
{ return(*(int *)0); }
#undef mvgetn_wstr
int mvgetn_wstr(
- int a1,
- int a2,
- wint_t *a3,
+ int a1,
+ int a2,
+ wint_t *a3,
int z)
{ return(*(int *)0); }
#undef mvhline_set
int mvhline_set(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvin_wch
int mvin_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
cchar_t *z)
{ return(*(int *)0); }
#undef mvin_wchnstr
int mvin_wchnstr(
- int a1,
- int a2,
- cchar_t *a3,
+ int a1,
+ int a2,
+ cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvin_wchstr
int mvin_wchstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
cchar_t *z)
{ return(*(int *)0); }
#undef mvinnwstr
int mvinnwstr(
- int a1,
- int a2,
- wchar_t *a3,
+ int a1,
+ int a2,
+ wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvins_nwstr
int mvins_nwstr(
- int a1,
- int a2,
- const wchar_t *a3,
+ int a1,
+ int a2,
+ const wchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvins_wch
int mvins_wch(
- int a1,
- int a2,
+ int a1,
+ int a2,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvins_wstr
int mvins_wstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvinwstr
int mvinwstr(
- int a1,
- int a2,
+ int a1,
+ int a2,
wchar_t *z)
{ return(*(int *)0); }
#undef mvvline_set
int mvvline_set(
- int a1,
- int a2,
- const cchar_t *a3,
+ int a1,
+ int a2,
+ const cchar_t *a3,
int z)
{ return(*(int *)0); }
#undef mvwadd_wch
int mvwadd_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwadd_wchnstr
int mvwadd_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwadd_wchstr
int mvwadd_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwaddnwstr
int mvwaddnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwaddwstr
int mvwaddwstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvwget_wch
int mvwget_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wint_t *z)
{ return(*(int *)0); }
#undef mvwget_wstr
int mvwget_wstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wint_t *z)
{ return(*(int *)0); }
#undef mvwgetn_wstr
int mvwgetn_wstr(
- WINDOW *a1,
- int a2,
- int a3,
- wint_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ wint_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwhline_set
int mvwhline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwin_wch
int mvwin_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
cchar_t *z)
{ return(*(int *)0); }
#undef mvwin_wchnstr
int mvwin_wchnstr(
- WINDOW *a1,
- int a2,
- int a3,
- cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwin_wchstr
int mvwin_wchstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
cchar_t *z)
{ return(*(int *)0); }
#undef mvwinnwstr
int mvwinnwstr(
- WINDOW *a1,
- int a2,
- int a3,
- wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwins_nwstr
int mvwins_nwstr(
- WINDOW *a1,
- int a2,
- int a3,
- const wchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const wchar_t *a4,
int z)
{ return(*(int *)0); }
#undef mvwins_wch
int mvwins_wch(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const cchar_t *z)
{ return(*(int *)0); }
#undef mvwins_wstr
int mvwins_wstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
const wchar_t *z)
{ return(*(int *)0); }
#undef mvwinwstr
int mvwinwstr(
- WINDOW *a1,
- int a2,
- int a3,
+ WINDOW *a1,
+ int a2,
+ int a3,
wchar_t *z)
{ return(*(int *)0); }
#undef mvwvline_set
int mvwvline_set(
- WINDOW *a1,
- int a2,
- int a3,
- const cchar_t *a4,
+ WINDOW *a1,
+ int a2,
+ int a3,
+ const cchar_t *a4,
int z)
{ return(*(int *)0); }
#undef vline_set
int vline_set(
- const cchar_t *a1,
+ const cchar_t *a1,
int z)
{ return(*(int *)0); }
#undef wadd_wchstr
int wadd_wchstr(
- WINDOW *a1,
+ WINDOW *a1,
const cchar_t *z)
{ return(*(int *)0); }
#undef waddwstr
int waddwstr(
- WINDOW *a1,
+ WINDOW *a1,
const wchar_t *z)
{ return(*(int *)0); }
#undef wget_wstr
int wget_wstr(
- WINDOW *a1,
+ WINDOW *a1,
wint_t *z)
{ return(*(int *)0); }
#undef wgetbkgrnd
int wgetbkgrnd(
- WINDOW *a1,
+ WINDOW *a1,
cchar_t *z)
{ return(*(int *)0); }
#undef win_wchstr
int win_wchstr(
- WINDOW *a1,
+ WINDOW *a1,
cchar_t *z)
{ return(*(int *)0); }
#undef wins_wstr
int wins_wstr(
- WINDOW *a1,
+ WINDOW *a1,
const wchar_t *z)
{ return(*(int *)0); }
#undef mouse_trafo
NCURSES_BOOL mouse_trafo(
- int *a1,
- int *a2,
+ int *a1,
+ int *a2,
NCURSES_BOOL z)
{ return(*(NCURSES_BOOL *)0); }
#undef set_escdelay_sp
int set_escdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef _nc_wgetch
int _nc_wgetch(
- WINDOW *win,
- int *result,
+ WINDOW *win,
+ int *result,
int use_meta)
{ return(*(int *)0); }
#undef wgetnstr
int wgetnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int maxlen)
{ return(*(int *)0); }
#undef whline
int whline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef immedok
void immedok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef winchnstr
int winchnstr(
- WINDOW *win,
- chtype *str,
+ WINDOW *win,
+ chtype *str,
int n)
{ return(*(int *)0); }
#undef _nc_insert_ch
int _nc_insert_ch(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
chtype ch)
{ return(*(int *)0); }
#undef winsch
int winsch(
- WINDOW *win,
+ WINDOW *win,
chtype c)
{ return(*(int *)0); }
#undef winsdelln
int winsdelln(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef winsnstr
int winsnstr(
- WINDOW *win,
- const char *s,
+ WINDOW *win,
+ const char *s,
int n)
{ return(*(int *)0); }
#undef winnstr
int winnstr(
- WINDOW *win,
- char *str,
+ WINDOW *win,
+ char *str,
int n)
{ return(*(int *)0); }
#undef leaveok
int leaveok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef getmouse_sp
int getmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef ungetmouse_sp
int ungetmouse_sp(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT *aevent)
{ return(*(int *)0); }
#undef mousemask_sp
mmask_t mousemask_sp(
- SCREEN *sp,
- mmask_t newmask,
+ SCREEN *sp,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef mousemask
mmask_t mousemask(
- mmask_t newmask,
+ mmask_t newmask,
mmask_t *oldmask)
{ return(*(mmask_t *)0); }
#undef wenclose
NCURSES_BOOL wenclose(
- const WINDOW *win,
- int y,
+ const WINDOW *win,
+ int y,
int x)
{ return(*(NCURSES_BOOL *)0); }
#undef mouseinterval_sp
int mouseinterval_sp(
- SCREEN *sp,
+ SCREEN *sp,
int maxclick)
{ return(*(int *)0); }
#undef wmouse_trafo
NCURSES_BOOL wmouse_trafo(
- const WINDOW *win,
- int *pY,
- int *pX,
+ const WINDOW *win,
+ int *pY,
+ int *pX,
NCURSES_BOOL to_screen)
{ return(*(NCURSES_BOOL *)0); }
#undef wmove
int wmove(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef _nc_msec_cost_sp
int _nc_msec_cost_sp(
- SCREEN *sp,
- const char *const cap,
+ SCREEN *sp,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_msec_cost
int _nc_msec_cost(
- const char *const cap,
+ const char *const cap,
int affcnt)
{ return(*(int *)0); }
#undef _nc_mvcur_sp
int _nc_mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef _nc_mvcur
int _nc_mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur_sp
int mvcur_sp(
- SCREEN *sp,
- int yold,
- int xold,
- int ynew,
+ SCREEN *sp,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvcur
int mvcur(
- int yold,
- int xold,
- int ynew,
+ int yold,
+ int xold,
+ int ynew,
int xnew)
{ return(*(int *)0); }
#undef mvwin
int mvwin(
- WINDOW *win,
- int by,
+ WINDOW *win,
+ int by,
int bx)
{ return(*(int *)0); }
#undef newterm_sp
SCREEN *newterm_sp(
- SCREEN *sp,
- const char *name,
- FILE *ofp,
+ SCREEN *sp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newterm
SCREEN *newterm(
- const char *name,
- FILE *ofp,
+ const char *name,
+ FILE *ofp,
FILE *ifp)
{ return(*(SCREEN **)0); }
#undef newwin_sp
WINDOW *newwin_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef newwin
WINDOW *newwin(
- int num_lines,
- int num_columns,
- int begy,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef derwin
WINDOW *derwin(
- WINDOW *orig,
- int num_lines,
- int num_columns,
- int begy,
+ WINDOW *orig,
+ int num_lines,
+ int num_columns,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef subwin
WINDOW *subwin(
- WINDOW *w,
- int l,
- int c,
- int y,
+ WINDOW *w,
+ int l,
+ int c,
+ int y,
int x)
{ return(*(WINDOW **)0); }
#undef _nc_makenew_sp
WINDOW *_nc_makenew_sp(
- SCREEN *sp,
- int num_lines,
- int num_columns,
- int begy,
- int begx,
+ SCREEN *sp,
+ int num_lines,
+ int num_columns,
+ int begy,
+ int begx,
int flags)
{ return(*(WINDOW **)0); }
#undef overlay
int overlay(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef overwrite
int overwrite(
- const WINDOW *win1,
+ const WINDOW *win1,
WINDOW *win2)
{ return(*(int *)0); }
#undef copywin
int copywin(
- const WINDOW *src,
- WINDOW *dst,
- int sminrow,
- int smincol,
- int dminrow,
- int dmincol,
- int dmaxrow,
- int dmaxcol,
+ const WINDOW *src,
+ WINDOW *dst,
+ int sminrow,
+ int smincol,
+ int dminrow,
+ int dmincol,
+ int dmaxrow,
+ int dmaxcol,
int over)
{ return(*(int *)0); }
#undef newpad_sp
WINDOW *newpad_sp(
- SCREEN *sp,
- int l,
+ SCREEN *sp,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef newpad
WINDOW *newpad(
- int l,
+ int l,
int c)
{ return(*(WINDOW **)0); }
#undef subpad
WINDOW *subpad(
- WINDOW *orig,
- int l,
- int c,
- int begy,
+ WINDOW *orig,
+ int l,
+ int c,
+ int begy,
int begx)
{ return(*(WINDOW **)0); }
#undef prefresh
int prefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pnoutrefresh
int pnoutrefresh(
- WINDOW *win,
- int pminrow,
- int pmincol,
- int sminrow,
- int smincol,
- int smaxrow,
+ WINDOW *win,
+ int pminrow,
+ int pmincol,
+ int sminrow,
+ int smincol,
+ int smaxrow,
int smaxcol)
{ return(*(int *)0); }
#undef pechochar
int pechochar(
- WINDOW *pad,
+ WINDOW *pad,
const chtype ch)
{ return(*(int *)0); }
#undef printw
int printw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wprintw
int wprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvprintw
int mvprintw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwprintw
int mvwprintw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef vwprintw
int vwprintw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_printw
int vw_printw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef wredrawln
int wredrawln(
- WINDOW *win,
- int beg,
+ WINDOW *win,
+ int beg,
int num)
{ return(*(int *)0); }
#undef restartterm_sp
int restartterm_sp(
- SCREEN *sp,
- const char *termp,
- int filenum,
+ SCREEN *sp,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef restartterm
int restartterm(
- const char *termp,
- int filenum,
+ const char *termp,
+ int filenum,
int *errret)
{ return(*(int *)0); }
#undef vwscanw
int vwscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef vw_scanw
int vw_scanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
va_list argp)
{ return(*(int *)0); }
#undef scanw
int scanw(
- const char *fmt,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef wscanw
int wscanw(
- WINDOW *win,
- const char *fmt,
+ WINDOW *win,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvscanw
int mvscanw(
- int y,
- int x,
- const char *fmt,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef mvwscanw
int mvwscanw(
- WINDOW *win,
- int y,
- int x,
- const char *fmt,
+ WINDOW *win,
+ int y,
+ int x,
+ const char *fmt,
...)
{ return(*(int *)0); }
#undef getwin_sp
WINDOW *getwin_sp(
- SCREEN *sp,
+ SCREEN *sp,
FILE *filep)
{ return(*(WINDOW **)0); }
#undef putwin
int putwin(
- WINDOW *win,
+ WINDOW *win,
FILE *filep)
{ return(*(int *)0); }
#undef scr_restore_sp
int scr_restore_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_init_sp
int scr_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef scr_set_sp
int scr_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *file)
{ return(*(int *)0); }
#undef _nc_scroll_window
void _nc_scroll_window(
- WINDOW *win,
- int const n,
- int const top,
- int const bottom,
+ WINDOW *win,
+ int const n,
+ int const top,
+ int const bottom,
cchar_t blank)
{ /* void */ }
#undef wscrl
int wscrl(
- WINDOW *win,
+ WINDOW *win,
int n)
{ return(*(int *)0); }
#undef scrollok
int scrollok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef wsetscrreg
int wsetscrreg(
- WINDOW *win,
- int top,
+ WINDOW *win,
+ int top,
int bottom)
{ return(*(int *)0); }
#undef _nc_setupscreen_sp
int _nc_setupscreen_sp(
- SCREEN **spp,
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ SCREEN **spp,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_setupscreen
int _nc_setupscreen(
- int slines,
- int scolumns,
- FILE *output,
- int filtered,
+ int slines,
+ int scolumns,
+ FILE *output,
+ int filtered,
int slk_format)
{ return(*(int *)0); }
#undef _nc_ripoffline_sp
int _nc_ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_ripoffline
int _nc_ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline_sp
int ripoffline_sp(
- SCREEN *sp,
- int line,
+ SCREEN *sp,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef ripoffline
int ripoffline(
- int line,
+ int line,
int (*init)(
- WINDOW *p1,
+ WINDOW *p1,
int p2))
{ return(*(int *)0); }
#undef _nc_format_slks
int _nc_format_slks(
- SCREEN *sp,
+ SCREEN *sp,
int cols)
{ return(*(int *)0); }
#undef _nc_slk_initialize
int _nc_slk_initialize(
- WINDOW *stwin,
+ WINDOW *stwin,
int cols)
{ return(*(int *)0); }
#undef slk_attr_set_sp
int slk_attr_set_sp(
- SCREEN *sp,
- const attr_t attr,
- short pair_arg,
+ SCREEN *sp,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attr_set
int slk_attr_set(
- const attr_t attr,
- short pair_arg,
+ const attr_t attr,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef slk_attroff_sp
int slk_attroff_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attron_sp
int slk_attron_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_attrset_sp
int slk_attrset_sp(
- SCREEN *sp,
+ SCREEN *sp,
const chtype attr)
{ return(*(int *)0); }
#undef slk_color_sp
int slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
short pair_arg)
{ return(*(int *)0); }
#undef extended_slk_color_sp
int extended_slk_color_sp(
- SCREEN *sp,
+ SCREEN *sp,
int pair_arg)
{ return(*(int *)0); }
#undef slk_init_sp
int slk_init_sp(
- SCREEN *sp,
+ SCREEN *sp,
int format)
{ return(*(int *)0); }
#undef slk_label_sp
char *slk_label_sp(
- SCREEN *sp,
+ SCREEN *sp,
int n)
{ return(*(char **)0); }
#undef slk_set_sp
int slk_set_sp(
- SCREEN *sp,
- int i,
- const char *astr,
+ SCREEN *sp,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef slk_set
int slk_set(
- int i,
- const char *astr,
+ int i,
+ const char *astr,
int format)
{ return(*(int *)0); }
#undef is_linetouched
NCURSES_BOOL is_linetouched(
- WINDOW *win,
+ WINDOW *win,
int line)
{ return(*(NCURSES_BOOL *)0); }
#undef wtouchln
int wtouchln(
- WINDOW *win,
- int y,
- int n,
+ WINDOW *win,
+ int y,
+ int n,
int changed)
{ return(*(int *)0); }
#undef _tracedump
void _tracedump(
- const char *name,
+ const char *name,
WINDOW *win)
{ /* void */ }
#undef _nc_trace_mmask_t
char *_nc_trace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(char **)0); }
#undef _nc_tracemouse
char *_nc_tracemouse(
- SCREEN *sp,
+ SCREEN *sp,
MEVENT const *ep)
{ return(*(char **)0); }
#undef _nc_retrace_mmask_t
mmask_t _nc_retrace_mmask_t(
- SCREEN *sp,
+ SCREEN *sp,
mmask_t code)
{ return(*(mmask_t *)0); }
#undef ungetch_sp
int ungetch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef vidputs_sp
int vidputs_sp(
- SCREEN *sp,
- chtype newmode,
+ SCREEN *sp,
+ chtype newmode,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vidputs
int vidputs(
- chtype newmode,
+ chtype newmode,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vidattr_sp
int vidattr_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype newmode)
{ return(*(int *)0); }
#undef wvline
int wvline(
- WINDOW *win,
- chtype ch,
+ WINDOW *win,
+ chtype ch,
int n)
{ return(*(int *)0); }
#undef wattr_off
int wattr_off(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef wattr_on
int wattr_on(
- WINDOW *win,
- attr_t at,
+ WINDOW *win,
+ attr_t at,
void *opts)
{ return(*(int *)0); }
#undef mvderwin
int mvderwin(
- WINDOW *win,
- int y,
+ WINDOW *win,
+ int y,
int x)
{ return(*(int *)0); }
#undef syncok
int syncok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL bf)
{ return(*(int *)0); }
#undef _nc_printf_string_sp
char *_nc_printf_string_sp(
- SCREEN *sp,
- const char *fmt,
+ SCREEN *sp,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_printf_string
char *_nc_printf_string(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_scrolln_sp
int _nc_scrolln_sp(
- SCREEN *sp,
- int n,
- int top,
- int bot,
+ SCREEN *sp,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_scrolln
int _nc_scrolln(
- int n,
- int top,
- int bot,
+ int n,
+ int top,
+ int bot,
int maxy)
{ return(*(int *)0); }
#undef _nc_do_xmc_glitch_sp
void _nc_do_xmc_glitch_sp(
- SCREEN *sp,
+ SCREEN *sp,
attr_t previous)
{ /* void */ }
#undef _nc_varargs
char *_nc_varargs(
- const char *fmt,
+ const char *fmt,
va_list ap)
{ return(*(char **)0); }
#undef _nc_free_and_exit_sp
void _nc_free_and_exit_sp(
- SCREEN *sp,
+ SCREEN *sp,
int code)
{ /* void */ }
#undef wadd_wch
int wadd_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wecho_wchar
int wecho_wchar(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wborder_set
int wborder_set(
- WINDOW *win,
- const cchar_t *ls,
- const cchar_t *rs,
- const cchar_t *ts,
- const cchar_t *bs,
- const cchar_t *tl,
- const cchar_t *tr,
- const cchar_t *bl,
+ WINDOW *win,
+ const cchar_t *ls,
+ const cchar_t *rs,
+ const cchar_t *ts,
+ const cchar_t *bs,
+ const cchar_t *tl,
+ const cchar_t *tr,
+ const cchar_t *bl,
const cchar_t *br)
{ return(*(int *)0); }
#undef setcchar
int setcchar(
- cchar_t *wcval,
- const wchar_t *wch,
- const attr_t attrs,
- short pair_arg,
+ cchar_t *wcval,
+ const wchar_t *wch,
+ const attr_t attrs,
+ short pair_arg,
const void *opts)
{ return(*(int *)0); }
#undef getcchar
int getcchar(
- const cchar_t *wcval,
- wchar_t *wch,
- attr_t *attrs,
- short *pair_arg,
+ const cchar_t *wcval,
+ wchar_t *wch,
+ attr_t *attrs,
+ short *pair_arg,
void *opts)
{ return(*(int *)0); }
#undef erasewchar_sp
int erasewchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
wchar_t *wch)
{ return(*(int *)0); }
#undef killwchar_sp
int killwchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
wchar_t *wch)
{ return(*(int *)0); }
#undef wget_wch
int wget_wch(
- WINDOW *win,
+ WINDOW *win,
wint_t *result)
{ return(*(int *)0); }
#undef wgetn_wstr
int wgetn_wstr(
- WINDOW *win,
- wint_t *str,
+ WINDOW *win,
+ wint_t *str,
int maxlen)
{ return(*(int *)0); }
#undef whline_set
int whline_set(
- WINDOW *win,
- const cchar_t *ch,
+ WINDOW *win,
+ const cchar_t *ch,
int n)
{ return(*(int *)0); }
#undef win_wch
int win_wch(
- WINDOW *win,
+ WINDOW *win,
cchar_t *wcval)
{ return(*(int *)0); }
#undef win_wchnstr
int win_wchnstr(
- WINDOW *win,
- cchar_t *wchstr,
+ WINDOW *win,
+ cchar_t *wchstr,
int n)
{ return(*(int *)0); }
#undef _nc_insert_wch
int _nc_insert_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wins_wch
int wins_wch(
- WINDOW *win,
+ WINDOW *win,
const cchar_t *wch)
{ return(*(int *)0); }
#undef wins_nwstr
int wins_nwstr(
- WINDOW *win,
- const wchar_t *wstr,
+ WINDOW *win,
+ const wchar_t *wstr,
int n)
{ return(*(int *)0); }
#undef winnwstr
int winnwstr(
- WINDOW *win,
- wchar_t *wstr,
+ WINDOW *win,
+ wchar_t *wstr,
int n)
{ return(*(int *)0); }
#undef winwstr
int winwstr(
- WINDOW *win,
+ WINDOW *win,
wchar_t *wstr)
{ return(*(int *)0); }
#undef pecho_wchar
int pecho_wchar(
- WINDOW *pad,
+ WINDOW *pad,
const cchar_t *wch)
{ return(*(int *)0); }
#undef slk_wset
int slk_wset(
- int i,
- const wchar_t *astr,
+ int i,
+ const wchar_t *astr,
int format)
{ return(*(int *)0); }
#undef _nc_wcrtomb
size_t _nc_wcrtomb(
- char *target,
- wchar_t source,
+ char *target,
+ wchar_t source,
mbstate_t *state)
{ return(*(size_t *)0); }
#undef unget_wch_sp
int unget_wch_sp(
- SCREEN *sp,
+ SCREEN *sp,
const wchar_t wch)
{ return(*(int *)0); }
#undef vid_puts_sp
int vid_puts_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair_arg,
- void *opts,
+ SCREEN *sp,
+ attr_t newmode,
+ short pair_arg,
+ void *opts,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef vid_puts
int vid_puts(
- attr_t newmode,
- short pair_arg,
- void *opts,
+ attr_t newmode,
+ short pair_arg,
+ void *opts,
NCURSES_OUTC outc)
{ return(*(int *)0); }
#undef vid_attr_sp
int vid_attr_sp(
- SCREEN *sp,
- attr_t newmode,
- short pair_arg,
+ SCREEN *sp,
+ attr_t newmode,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef vid_attr
int vid_attr(
- attr_t newmode,
- short pair_arg,
+ attr_t newmode,
+ short pair_arg,
void *opts)
{ return(*(int *)0); }
#undef wvline_set
int wvline_set(
- WINDOW *win,
- const cchar_t *ch,
+ WINDOW *win,
+ const cchar_t *ch,
int n)
{ return(*(int *)0); }
#undef wunctrl_sp
wchar_t *wunctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
cchar_t *wc)
{ return(*(wchar_t **)0); }
#undef _nc_toggle_attr_on
void _nc_toggle_attr_on(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_toggle_attr_off
void _nc_toggle_attr_off(
- attr_t *S,
+ attr_t *S,
attr_t at)
{ /* void */ }
#undef _nc_DelCharCost_sp
int _nc_DelCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_InsCharCost_sp
int _nc_InsCharCost_sp(
- SCREEN *sp,
+ SCREEN *sp,
int count)
{ return(*(int *)0); }
#undef _nc_UpdateAttrs_sp
void _nc_UpdateAttrs_sp(
- SCREEN *sp,
+ SCREEN *sp,
const cchar_t *c)
{ /* void */ }
#undef use_legacy_coding_sp
int use_legacy_coding_sp(
- SCREEN *sp,
+ SCREEN *sp,
int level)
{ return(*(int *)0); }
#undef assume_default_colors_sp
int assume_default_colors_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef assume_default_colors
int assume_default_colors(
- int fg,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef mcprint_sp
int mcprint_sp(
- SCREEN *sp,
- char *data,
+ SCREEN *sp,
+ char *data,
int len)
{ return(*(int *)0); }
#undef mcprint
int mcprint(
- char *data,
+ char *data,
int len)
{ return(*(int *)0); }
#undef _nc_reset_color_pair
void _nc_reset_color_pair(
- SCREEN *sp,
- int pair,
+ SCREEN *sp,
+ int pair,
colorpair_t *next)
{ /* void */ }
#undef _nc_set_color_pair
void _nc_set_color_pair(
- SCREEN *sp,
- int pair,
+ SCREEN *sp,
+ int pair,
int mode)
{ /* void */ }
#undef _nc_copy_pairs
void _nc_copy_pairs(
- SCREEN *sp,
- colorpair_t *target,
- colorpair_t *source,
+ SCREEN *sp,
+ colorpair_t *target,
+ colorpair_t *source,
int length)
{ /* void */ }
#undef alloc_pair_sp
int alloc_pair_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef find_pair_sp
int find_pair_sp(
- SCREEN *sp,
- int fg,
+ SCREEN *sp,
+ int fg,
int bg)
{ return(*(int *)0); }
#undef free_pair_sp
int free_pair_sp(
- SCREEN *sp,
+ SCREEN *sp,
int pair)
{ return(*(int *)0); }
#undef alloc_pair
int alloc_pair(
- int f,
+ int f,
int b)
{ return(*(int *)0); }
#undef find_pair
int find_pair(
- int f,
+ int f,
int b)
{ return(*(int *)0); }
#undef is_term_resized_sp
NCURSES_BOOL is_term_resized_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef is_term_resized
NCURSES_BOOL is_term_resized(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(NCURSES_BOOL *)0); }
#undef resize_term_sp
int resize_term_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resize_term
int resize_term(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm_sp
int resizeterm_sp(
- SCREEN *sp,
- int ToLines,
+ SCREEN *sp,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef resizeterm
int resizeterm(
- int ToLines,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef use_screen
int use_screen(
- SCREEN *screen,
- NCURSES_SCREEN_CB func,
+ SCREEN *screen,
+ NCURSES_SCREEN_CB func,
void *data)
{ return(*(int *)0); }
#undef use_window
int use_window(
- WINDOW *win,
- NCURSES_WINDOW_CB func,
+ WINDOW *win,
+ NCURSES_WINDOW_CB func,
void *data)
{ return(*(int *)0); }
#undef wresize
int wresize(
- WINDOW *win,
- int ToLines,
+ WINDOW *win,
+ int ToLines,
int ToCols)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_copy_termtype2
void _nc_copy_termtype2(
- TERMTYPE2 *dst,
+ TERMTYPE2 *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_export_termtype2
void _nc_export_termtype2(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _tracecchar_t2
char *_tracecchar_t2(
- int bufnum,
+ int bufnum,
const cchar_t *ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry2
int _nc_read_entry2(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE *const tp)
{ return(*(int *)0); }
#undef _nc_read_termcap_entry
int _nc_read_termcap_entry(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viswbuf2
const char *_nc_viswbuf2(
- int bufnum,
+ int bufnum,
const wchar_t *buf)
{ return(*(const char **)0); }
#undef _nc_viswbufn
const char *_nc_viswbufn(
- const wchar_t *buf,
+ const wchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const cchar_t *buf,
+ int bufnum,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const cchar_t *buf,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2012-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2013-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2012-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2012-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_wrap_entry
void _nc_wrap_entry(
- ENTRY *const ep,
+ ENTRY *const ep,
NCURSES_BOOL copy_strings)
{ /* void */ }
#undef _nc_merge_entry
void _nc_merge_entry(
- ENTRY *const target,
+ ENTRY *const target,
ENTRY *const source)
{ /* void */ }
#undef _nc_captoinfo
char *_nc_captoinfo(
- const char *cap,
- const char *s,
+ const char *cap,
+ const char *s,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_infotocap
char *_nc_infotocap(
- const char *cap,
- const char *str,
+ const char *cap,
+ const char *str,
int const parameterized)
{ return(*(char **)0); }
#undef _nc_tic_expand
char *_nc_tic_expand(
- const char *srcp,
- NCURSES_BOOL tic_format,
+ const char *srcp,
+ NCURSES_BOOL tic_format,
int numbers)
{ return(*(char **)0); }
#undef _nc_check_termtype2
void (*_nc_check_termtype2)(
- TERMTYPE2 *p1,
+ TERMTYPE2 *p1,
NCURSES_BOOL p2);
#undef _nc_entry_match
NCURSES_BOOL _nc_entry_match(
- char *n1,
+ char *n1,
char *n2)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_read_entry_source
void _nc_read_entry_source(
- FILE *fp,
- char *buf,
- int literal,
- NCURSES_BOOL silent,
+ FILE *fp,
+ char *buf,
+ int literal,
+ NCURSES_BOOL silent,
NCURSES_BOOL (*hook)(
ENTRY *p1))
{ /* void */ }
#undef _nc_resolve_uses2
int _nc_resolve_uses2(
- NCURSES_BOOL fullresolve,
+ NCURSES_BOOL fullresolve,
NCURSES_BOOL literal)
{ return(*(int *)0); }
#undef _nc_reset_input
void _nc_reset_input(
- FILE *fp,
+ FILE *fp,
char *buf)
{ /* void */ }
#undef _nc_trans_string
int _nc_trans_string(
- char *ptr,
+ char *ptr,
char *last)
{ return(*(int *)0); }
#undef _nc_parse_entry
int _nc_parse_entry(
- ENTRY *entryp,
- int literal,
+ ENTRY *entryp,
+ int literal,
NCURSES_BOOL silent)
{ return(*(int *)0); }
#undef _nc_capcmp
int _nc_capcmp(
- const char *s,
+ const char *s,
const char *t)
{ return(*(int *)0); }
#undef _nc_write_object
int _nc_write_object(
- TERMTYPE2 *tp,
- char *buffer,
- unsigned *offset,
+ TERMTYPE2 *tp,
+ char *buffer,
+ unsigned *offset,
unsigned limit)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const chtype *buf,
+ int bufnum,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const chtype *buf,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _nc_locked_tracef
void _nc_locked_tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const chtype *buf,
+ int bufnum,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const chtype *buf,
+ const chtype *buf,
int len)
{ return(*(const char **)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_copy_termtype2
void _nc_copy_termtype2(
- TERMTYPE2 *dst,
+ TERMTYPE2 *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_export_termtype2
void _nc_export_termtype2(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _nc_locked_tracef
void _nc_locked_tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _tracecchar_t2
char *_tracecchar_t2(
- int bufnum,
+ int bufnum,
const cchar_t *ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry2
int _nc_read_entry2(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viswbuf2
const char *_nc_viswbuf2(
- int bufnum,
+ int bufnum,
const wchar_t *buf)
{ return(*(const char **)0); }
#undef _nc_viswbufn
const char *_nc_viswbufn(
- const wchar_t *buf,
+ const wchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const cchar_t *buf,
+ int bufnum,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const cchar_t *buf,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef _nc_access
int _nc_access(
- const char *path,
+ const char *path,
int mode)
{ return(*(int *)0); }
#undef _nc_add_to_try
int _nc_add_to_try(
- TRIES **tree,
- const char *str,
+ TRIES **tree,
+ const char *str,
unsigned code)
{ return(*(int *)0); }
#undef _nc_align_termtype
void _nc_align_termtype(
- TERMTYPE2 *to,
+ TERMTYPE2 *to,
TERMTYPE2 *from)
{ /* void */ }
#undef _nc_copy_termtype
void _nc_copy_termtype(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE *src)
{ /* void */ }
#undef _nc_copy_termtype2
void _nc_copy_termtype2(
- TERMTYPE2 *dst,
+ TERMTYPE2 *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_export_termtype2
void _nc_export_termtype2(
- TERMTYPE *dst,
+ TERMTYPE *dst,
const TERMTYPE2 *src)
{ /* void */ }
#undef _nc_warning
void _nc_warning(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_err_abort
void _nc_err_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_syserr_abort
void _nc_syserr_abort(
- const char *const fmt,
+ const char *const fmt,
...)
{ /* void */ }
#undef _nc_find_entry
struct name_table_entry const *_nc_find_entry(
- const char *string,
+ const char *string,
const HashValue *hash_table)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_find_type_entry
struct name_table_entry const *_nc_find_type_entry(
- const char *string,
- int type,
+ const char *string,
+ int type,
NCURSES_BOOL termcap)
{ return(*(struct name_table_entry const **)0); }
#undef _nc_next_db
const char *_nc_next_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ return(*(const char **)0); }
#undef _nc_first_db
void _nc_first_db(
- DBDIRS *state,
+ DBDIRS *state,
int *offset)
{ /* void */ }
#undef _nc_doalloc
void *_nc_doalloc(
- void *oldp,
+ void *oldp,
size_t amount)
{ return(*(void **)0); }
#undef _nc_free_entry
void _nc_free_entry(
- ENTRY *headp,
+ ENTRY *headp,
TERMTYPE2 *tterm)
{ /* void */ }
#undef _nc_setenv_num
void _nc_setenv_num(
- const char *name,
+ const char *name,
int value)
{ /* void */ }
/* ./tinfo/lib_baudrate.c */
struct speed {
- int given_speed;
- int actual_speed;
+ int given_speed;
+ int actual_speed;
};
#undef _nc_baudrate
#undef set_curterm_sp
TERMINAL *set_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(TERMINAL **)0); }
#undef del_curterm_sp
int del_curterm_sp(
- SCREEN *sp,
+ SCREEN *sp,
TERMINAL *termp)
{ return(*(int *)0); }
#undef keyname_sp
const char *keyname_sp(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(const char **)0); }
#undef napms_sp
int napms_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef idlok
int idlok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef idcok
void idcok(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ /* void */ }
#undef halfdelay_sp
int halfdelay_sp(
- SCREEN *sp,
+ SCREEN *sp,
int t)
{ return(*(int *)0); }
#undef nodelay
int nodelay(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef notimeout
int notimeout(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL f)
{ return(*(int *)0); }
#undef wtimeout
void wtimeout(
- WINDOW *win,
+ WINDOW *win,
int delay)
{ /* void */ }
#undef keypad
int keypad(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef meta
int meta(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef curs_set_sp
int curs_set_sp(
- SCREEN *sp,
+ SCREEN *sp,
int vis)
{ return(*(int *)0); }
#undef typeahead_sp
int typeahead_sp(
- SCREEN *sp,
+ SCREEN *sp,
int fd)
{ return(*(int *)0); }
#undef has_key_sp
int has_key_sp(
- SCREEN *sp,
+ SCREEN *sp,
int keycode)
{ return(*(int *)0); }
#undef _nc_putp_flush_sp
int _nc_putp_flush_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *value)
{ return(*(int *)0); }
#undef _nc_keypad
int _nc_keypad(
- SCREEN *sp,
+ SCREEN *sp,
int flag)
{ return(*(int *)0); }
#undef intrflush_sp
int intrflush_sp(
- SCREEN *sp,
- WINDOW *win,
+ SCREEN *sp,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef intrflush
int intrflush(
- WINDOW *win,
+ WINDOW *win,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef set_tabsize_sp
int set_tabsize_sp(
- SCREEN *sp,
+ SCREEN *sp,
int value)
{ return(*(int *)0); }
#undef use_env_sp
void use_env_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef use_tioctl_sp
void use_tioctl_sp(
- SCREEN *sp,
+ SCREEN *sp,
NCURSES_BOOL f)
{ /* void */ }
#undef _nc_get_screensize
void _nc_get_screensize(
- SCREEN *sp,
- int *linep,
+ SCREEN *sp,
+ int *linep,
int *colp)
{ /* void */ }
#undef _nc_setup_tinfo
int _nc_setup_tinfo(
- const char *const tn,
+ const char *const tn,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_tinfo_cmdch
void _nc_tinfo_cmdch(
- TERMINAL *termp,
+ TERMINAL *termp,
int proto)
{ /* void */ }
#undef _nc_setupterm
int _nc_setupterm(
- const char *tname,
- int Filedes,
- int *errret,
+ const char *tname,
+ int Filedes,
+ int *errret,
int reuse)
{ return(*(int *)0); }
#undef setupterm
int setupterm(
- const char *tname,
- int Filedes,
+ const char *tname,
+ int Filedes,
int *errret)
{ return(*(int *)0); }
#undef tgetent_sp
int tgetent_sp(
- SCREEN *sp,
- char *bufp,
+ SCREEN *sp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetent
int tgetent(
- char *bufp,
+ char *bufp,
const char *name)
{ return(*(int *)0); }
#undef tgetflag_sp
int tgetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetnum_sp
int tgetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *id)
{ return(*(int *)0); }
#undef tgetstr_sp
char *tgetstr_sp(
- SCREEN *sp,
- const char *id,
+ SCREEN *sp,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgetstr
char *tgetstr(
- const char *id,
+ const char *id,
char **area)
{ return(*(char **)0); }
#undef tgoto
char *tgoto(
- const char *string,
- int x,
+ const char *string,
+ int x,
int y)
{ return(*(char **)0); }
#undef tigetflag_sp
int tigetflag_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetnum_sp
int tigetnum_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef tigetstr_sp
char *tigetstr_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(char **)0); }
#undef _nc_tparm_analyze
int _nc_tparm_analyze(
- const char *string,
- char **p_is_s,
+ const char *string,
+ char **p_is_s,
int *_nc_popcount)
{ return(*(int *)0); }
#undef tparm
char *tparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef tiparm
char *tiparm(
- const char *string,
+ const char *string,
...)
{ return(*(char **)0); }
#undef _nc_tiparm
char *_nc_tiparm(
- int expected,
- const char *string,
+ int expected,
+ const char *string,
...)
{ return(*(char **)0); }
#undef delay_output_sp
int delay_output_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ms)
{ return(*(int *)0); }
#undef _nc_outch_sp
int _nc_outch_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef _nc_putchar_sp
int _nc_putchar_sp(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(int *)0); }
#undef putp_sp
int putp_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp_sp
int _nc_putp_sp(
- SCREEN *sp,
- const char *name,
+ SCREEN *sp,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef _nc_putp
int _nc_putp(
- const char *name,
+ const char *name,
const char *string)
{ return(*(int *)0); }
#undef tputs_sp
int tputs_sp(
- SCREEN *sp,
- const char *string,
- int affcnt,
+ SCREEN *sp,
+ const char *string,
+ int affcnt,
NCURSES_OUTC_sp outc)
{ return(*(int *)0); }
#undef _nc_outc_wrapper
int _nc_outc_wrapper(
- SCREEN *sp,
+ SCREEN *sp,
int c)
{ return(*(int *)0); }
#undef tputs
int tputs(
- const char *string,
- int affcnt,
+ const char *string,
+ int affcnt,
int (*outc)(
int p1))
{ return(*(int *)0); }
#undef _tracef
void _tracef(
- const char *fmt,
+ const char *fmt,
...)
{ /* void */ }
#undef _nc_fmt_funcptr
char *_nc_fmt_funcptr(
- char *target,
- const char *source,
+ char *target,
+ const char *source,
size_t size)
{ return(*(char **)0); }
#undef _traceattr2
char *_traceattr2(
- int bufnum,
+ int bufnum,
chtype newmode)
{ return(*(char **)0); }
#undef _nc_altcharset_name
const char *_nc_altcharset_name(
- attr_t attr,
+ attr_t attr,
chtype ch)
{ return(*(const char **)0); }
#undef _tracechtype2
char *_tracechtype2(
- int bufnum,
+ int bufnum,
chtype ch)
{ return(*(char **)0); }
#undef _tracecchar_t2
char *_tracecchar_t2(
- int bufnum,
+ int bufnum,
const cchar_t *ch)
{ return(*(char **)0); }
#undef _nc_tracechar
char *_nc_tracechar(
- SCREEN *sp,
+ SCREEN *sp,
int ch)
{ return(*(char **)0); }
#undef _nc_get_tty_mode_sp
int _nc_get_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_set_tty_mode_sp
int _nc_set_tty_mode_sp(
- SCREEN *sp,
+ SCREEN *sp,
struct termios *buf)
{ return(*(int *)0); }
#undef _nc_timed_wait
int _nc_timed_wait(
- SCREEN *sp,
- int mode,
- int milliseconds,
+ SCREEN *sp,
+ int mode,
+ int milliseconds,
int *timeleft)
{ return(*(int *)0); }
#undef _nc_name_match
int _nc_name_match(
- const char *const namelst,
- const char *const name,
+ const char *const namelst,
+ const char *const name,
const char *const delim)
{ return(*(int *)0); }
#undef _nc_set_buffer_sp
void _nc_set_buffer_sp(
- SCREEN *sp,
- FILE *ofp,
+ SCREEN *sp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_set_buffer
void _nc_set_buffer(
- FILE *ofp,
+ FILE *ofp,
int buffered)
{ /* void */ }
#undef _nc_read_termtype
int _nc_read_termtype(
- TERMTYPE2 *ptr,
- char *buffer,
+ TERMTYPE2 *ptr,
+ char *buffer,
int limit)
{ return(*(int *)0); }
#undef _nc_read_file_entry
int _nc_read_file_entry(
- const char *const filename,
+ const char *const filename,
TERMTYPE2 *ptr)
{ return(*(int *)0); }
#undef _nc_read_entry2
int _nc_read_entry2(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE2 *const tp)
{ return(*(int *)0); }
#undef _nc_read_entry
int _nc_read_entry(
- const char *const name,
- char *const filename,
+ const char *const name,
+ char *const filename,
TERMTYPE *const tp)
{ return(*(int *)0); }
#undef _nc_str_init
string_desc *_nc_str_init(
- string_desc *dst,
- char *src,
+ string_desc *dst,
+ char *src,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_null
string_desc *_nc_str_null(
- string_desc *dst,
+ string_desc *dst,
size_t len)
{ return(*(string_desc **)0); }
#undef _nc_str_copy
string_desc *_nc_str_copy(
- string_desc *dst,
+ string_desc *dst,
string_desc *src)
{ return(*(string_desc **)0); }
#undef _nc_safe_strcat
NCURSES_BOOL _nc_safe_strcat(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_safe_strcpy
NCURSES_BOOL _nc_safe_strcpy(
- string_desc *dst,
+ string_desc *dst,
const char *src)
{ return(*(NCURSES_BOOL *)0); }
#undef _nc_trace_buf
char *_nc_trace_buf(
- int bufnum,
+ int bufnum,
size_t want)
{ return(*(char **)0); }
#undef _nc_trace_bufcat
char *_nc_trace_bufcat(
- int bufnum,
+ int bufnum,
const char *value)
{ return(*(char **)0); }
#undef _nc_expand_try
char *_nc_expand_try(
- TRIES *tree,
- unsigned code,
- int *count,
+ TRIES *tree,
+ unsigned code,
+ int *count,
size_t len)
{ return(*(char **)0); }
#undef _nc_remove_key
int _nc_remove_key(
- TRIES **tree,
+ TRIES **tree,
unsigned code)
{ return(*(int *)0); }
#undef _nc_remove_string
int _nc_remove_string(
- TRIES **tree,
+ TRIES **tree,
const char *string)
{ return(*(int *)0); }
#undef unctrl_sp
const char *unctrl_sp(
- SCREEN *sp,
+ SCREEN *sp,
chtype ch)
{ return(*(const char **)0); }
#undef _nc_visbuf2
const char *_nc_visbuf2(
- int bufnum,
+ int bufnum,
const char *buf)
{ return(*(const char **)0); }
#undef _nc_visbufn
const char *_nc_visbufn(
- const char *buf,
+ const char *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viswbuf2
const char *_nc_viswbuf2(
- int bufnum,
+ int bufnum,
const wchar_t *buf)
{ return(*(const char **)0); }
#undef _nc_viswbufn
const char *_nc_viswbufn(
- const wchar_t *buf,
+ const wchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf2
const char *_nc_viscbuf2(
- int bufnum,
- const cchar_t *buf,
+ int bufnum,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef _nc_viscbuf
const char *_nc_viscbuf(
- const cchar_t *buf,
+ const cchar_t *buf,
int len)
{ return(*(const char **)0); }
#undef define_key_sp
int define_key_sp(
- SCREEN *sp,
- const char *str,
+ SCREEN *sp,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef define_key
int define_key(
- const char *str,
+ const char *str,
int keycode)
{ return(*(int *)0); }
#undef key_defined_sp
int key_defined_sp(
- SCREEN *sp,
+ SCREEN *sp,
const char *str)
{ return(*(int *)0); }
#undef keybound_sp
char *keybound_sp(
- SCREEN *sp,
- int code,
+ SCREEN *sp,
+ int code,
int count)
{ return(*(char **)0); }
#undef keybound
char *keybound(
- int code,
+ int code,
int count)
{ return(*(char **)0); }
#undef keyok_sp
int keyok_sp(
- SCREEN *sp,
- int c,
+ SCREEN *sp,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#undef keyok
int keyok(
- int c,
+ int c,
NCURSES_BOOL flag)
{ return(*(int *)0); }
#include <tic.h>
-MODULE_ID("$Id: alloc_ttype.c,v 1.34 2021/03/20 14:10:23 tom Exp $")
+MODULE_ID("$Id: alloc_ttype.c,v 1.35 2021/06/17 21:11:08 tom Exp $")
#if NCURSES_XNAMES
/*
return;
}
/*
- * This is where we pay for having a simple extension representation.
+ * This is where we pay for having a simple extension representation.
* Allocate a new ext_Names array and merge the two ext_Names arrays
* into it, updating to's counts for booleans, etc. Fortunately we do
* this only for the terminfo compiler (tic) and comparer (infocmp).
#include <tic.h>
-MODULE_ID("$Id: read_entry.c,v 1.159 2021/02/14 00:17:09 tom Exp $")
+MODULE_ID("$Id: read_entry.c,v 1.160 2021/06/17 21:11:08 tom Exp $")
#define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts))
* looking for compiled (binary) terminfo data.
*
* cgetent uses a two-level lookup. On the first it uses the given
- * name to return a record containing only the aliases for an entry.
+ * name to return a record containing only the aliases for an entry.
* On the second (using that list of aliases as a key), it returns the
* content of the terminal description. We expect second lookup to
* return data beginning with the same set of aliases.
#endif /* NCURSES_USE_DATABASE */
/*
- * Find and read the compiled entry for a given terminal type, if it exists.
+ * Find and read the compiled entry for a given terminal type, if it exists.
* We take pains here to make sure no combination of environment variables and
* terminal type name can be used to overrun the file buffer.
*/
#include <sys/types.h>
#include <tic.h>
-MODULE_ID("$Id: read_termcap.c,v 1.99 2021/04/18 11:43:38 tom Exp $")
+MODULE_ID("$Id: read_termcap.c,v 1.100 2021/06/17 21:11:08 tom Exp $")
#if !PURE_TERMINFO
/*
* TERMCAP can have one of two things in it. It can be the name of a file
* to use instead of /etc/termcap. In this case it better start with a
- * "/". Or it can be an entry to use so we don't have to read the file.
+ * "/". Or it can be an entry to use so we don't have to read the file.
* In this case it has to already have the newlines crunched out. If
* TERMCAP does not hold a file name then a path of names is searched
* instead. The path is found in the TERMPATH variable, or becomes
_nc_free_entry(_nc_head, &(ep->tterm));
/*
- * OK, now try to write the type to user's terminfo directory.
+ * OK, now try to write the type to user's terminfo directory.
* Next time he loads this, it will come through terminfo.
*
* Advantage: Second and subsequent fetches of this entry will
/****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 2008-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
# endif
#endif
-MODULE_ID("$Id: tinfo_driver.c,v 1.71 2020/12/12 01:06:40 tom Exp $")
+MODULE_ID("$Id: tinfo_driver.c,v 1.72 2021/06/17 21:30:22 tom Exp $")
/*
* SCO defines TIOCGSIZE and the corresponding struct. Other systems (SunOS,
res = DriverTable[i].driver;
#ifdef _NC_WINDOWS
if ((i + 1) == SIZEOF(DriverTable)) {
- /* For Windows >= 10.0.17763 Windows Console interface implements
+ /* For Windows >= 10.0.17763 Windows Console interface implements
virtual Terminal functionality.
If on Windows td_CanHandle returned FALSE although the terminal
name is empty, we default to ms-terminal as tinfo TERM type.
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2005-2012,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <tic.h>
-MODULE_ID("$Id: trim_sgr0.c,v 1.20 2020/05/27 23:54:31 tom Exp $")
+MODULE_ID("$Id: trim_sgr0.c,v 1.21 2021/06/17 21:20:30 tom Exp $")
#undef CUR
#define CUR tp->
}
/*
- * While 'sgr0' is the "same" as termcap 'me', there is a compatibility issue.
+ * While 'sgr0' is the "same" as termcap 'me', there is a compatibility issue.
* The sgr/sgr0 capabilities include setting/clearing alternate character set
* mode. A termcap application cannot use sgr, so sgr0 strings that reset
* alternate character set mode will be misinterpreted. Here, we remove those
/****************************************************************************
- * Copyright 2018-2019,2020 Thomas E. Dickey *
+ * Copyright 2018-2020,2021 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
/*
* lib_trace.c - Tracing/Debugging routines
*
- * The _tracef() function is originally from pcurses (by Pavel Curtis) in 1982.
+ * The _tracef() function is originally from pcurses (by Pavel Curtis) in 1982.
* pcurses allowed one to enable/disable tracing using traceon() and traceoff()
* functions. ncurses provides a trace() function which allows one to
* selectively enable or disable several tracing features.
#include <ctype.h>
-MODULE_ID("$Id: lib_trace.c,v 1.97 2020/08/29 16:22:03 juergen Exp $")
+MODULE_ID("$Id: lib_trace.c,v 1.98 2021/06/17 21:30:22 tom Exp $")
NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */
_nc_tracing = tracelevel;
/* Try to set line-buffered mode, or (failing that) unbuffered,
* so that the trace-output gets flushed automatically at the
- * end of each line. This is useful in case the program dies.
+ * end of each line. This is useful in case the program dies.
*/
if (MyFP != 0) {
#if HAVE_SETVBUF /* ANSI */
#! /bin/sh
##############################################################################
-# Copyright 2019,2020 Thomas E. Dickey #
+# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 1998-2015,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
#
# Author: Thomas E. Dickey, 1997-on
#
-# $Id: MKexpanded.sh,v 1.22 2020/02/02 23:34:34 tom Exp $
+# $Id: MKexpanded.sh,v 1.23 2021/06/17 21:26:02 tom Exp $
#
# Script to generate 'expanded.c', a dummy source that contains functions
# corresponding to complex macros used in this library. By making functions,
}
NCURSES_EXPORT(void)
-_nc_toggle_attr_off (attr_t *S, attr_t at)
+_nc_toggle_attr_off (attr_t *S, attr_t at)
{
toggle_attr_off(*S,at);
}
/* if we arrive here, ucs is not a combining or C0/C1 control character */
- return 1 +
+ return 1 +
(ucs >= 0x1100 &&
(ucs <= 0x115f || /* Hangul Jamo init. consonants */
ucs == 0x2329 || ucs == 0x232a ||
/****************************************************************************
- * Copyright 2019,2020 Thomas E. Dickey *
+ * Copyright 2019-2020,2021 Thomas E. Dickey *
* Copyright 2004-2011,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <wctype.h>
#endif
-MODULE_ID("$Id: lib_add_wch.c,v 1.16 2020/02/02 23:34:34 tom Exp $")
+MODULE_ID("$Id: lib_add_wch.c,v 1.17 2021/06/17 21:26:02 tom Exp $")
/* clone/adapt lib_addch.c */
static const cchar_t blankchar = NewChar(BLANK_TEXT);
* wrapped the cursor. We don't do anything with this flag except set it when
* wrapping, and clear it whenever we move the cursor. If we try to wrap at
* the lower-right corner of a window, we cannot move the cursor (since that
- * wouldn't be legal). So we return an error (which is what SVr4 does).
+ * wouldn't be legal). So we return an error (which is what SVr4 does).
* Unlike SVr4, we can successfully add a character to the lower-right corner
* (Solaris 2.6 does this also, however).
*/
#include <curses.priv.h>
#include <wchar.h>
-MODULE_ID("$Id: lib_cchar.c,v 1.36 2021/04/03 22:06:41 tom Exp $")
+MODULE_ID("$Id: lib_cchar.c,v 1.37 2021/06/17 21:11:08 tom Exp $")
-/*
+/*
* The SuSv2 description leaves some room for interpretation. We'll assume wch
* points to a string which is L'\0' terminated, contains at least one
* character with strictly positive width, which must be the first, and
-ncurses6 (6.2+20210612) unstable; urgency=low
+ncurses6 (6.2+20210619) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Jun 2021 06:37:34 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 17 Jun 2021 20:20:32 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.2+20210612) unstable; urgency=low
+ncurses6 (6.2+20210619) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Jun 2021 06:37:34 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 17 Jun 2021 20:20:32 -0400
ncurses6 (5.9-20131005) unstable; urgency=low
-ncurses6 (6.2+20210612) unstable; urgency=low
+ncurses6 (6.2+20210619) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 12 Jun 2021 06:37:34 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Thu, 17 Jun 2021 20:20:32 -0400
ncurses6 (5.9-20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.462 2021/06/12 10:37:34 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.463 2021/06/19 13:03:39 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define VERSION_MAJOR "6"\r
!define VERSION_MINOR "2"\r
!define VERSION_YYYY "2021"\r
-!define VERSION_MMDD "0612"\r
+!define VERSION_MMDD "0619"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
Version: 6.2
-Release: 20210612
+Release: 20210619
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: shared libraries for terminal handling
Name: ncurses6
Version: 6.2
-Release: 20210612
+Release: 20210619
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
Summary: Curses library with POSIX thread support.
Name: ncursest6
Version: 6.2
-Release: 20210612
+Release: 20210619
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_my_visbuf
const char *_nc_my_visbuf(
- const void *ptr,
+ const void *ptr,
int n)
{ return(*(const char **)0); }
#undef _nc_dPanel
void _nc_dPanel(
- const char *text,
+ const char *text,
const PANEL *pan)
{ /* void */ }
#undef _nc_dStack
void _nc_dStack(
- const char *fmt,
- int num,
+ const char *fmt,
+ int num,
const PANEL *pan)
{ /* void */ }
#undef _nc_Touchline
void _nc_Touchline(
- const PANEL *pan,
- int start,
+ const PANEL *pan,
+ int start,
int count)
{ /* void */ }
#undef move_panel
int move_panel(
- PANEL *pan,
- int starty,
+ PANEL *pan,
+ int starty,
int startx)
{ return(*(int *)0); }
#undef replace_panel
int replace_panel(
- PANEL *pan,
+ PANEL *pan,
WINDOW *win)
{ return(*(int *)0); }
#undef set_panel_userptr
int set_panel_userptr(
- PANEL *pan,
+ PANEL *pan,
const void *uptr)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_my_visbuf
const char *_nc_my_visbuf(
- const void *ptr,
+ const void *ptr,
int n)
{ return(*(const char **)0); }
#undef _nc_dPanel
void _nc_dPanel(
- const char *text,
+ const char *text,
const PANEL *pan)
{ /* void */ }
#undef _nc_dStack
void _nc_dStack(
- const char *fmt,
- int num,
+ const char *fmt,
+ int num,
const PANEL *pan)
{ /* void */ }
#undef _nc_Touchline
void _nc_Touchline(
- const PANEL *pan,
- int start,
+ const PANEL *pan,
+ int start,
int count)
{ /* void */ }
#undef move_panel
int move_panel(
- PANEL *pan,
- int starty,
+ PANEL *pan,
+ int starty,
int startx)
{ return(*(int *)0); }
#undef replace_panel
int replace_panel(
- PANEL *pan,
+ PANEL *pan,
WINDOW *win)
{ return(*(int *)0); }
#undef set_panel_userptr
int set_panel_userptr(
- PANEL *pan,
+ PANEL *pan,
const void *uptr)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_my_visbuf
const char *_nc_my_visbuf(
- const void *ptr,
+ const void *ptr,
int n)
{ return(*(const char **)0); }
#undef _nc_dPanel
void _nc_dPanel(
- const char *text,
+ const char *text,
const PANEL *pan)
{ /* void */ }
#undef _nc_dStack
void _nc_dStack(
- const char *fmt,
- int num,
+ const char *fmt,
+ int num,
const PANEL *pan)
{ /* void */ }
#undef _nc_Touchline
void _nc_Touchline(
- const PANEL *pan,
- int start,
+ const PANEL *pan,
+ int start,
int count)
{ /* void */ }
#undef move_panel
int move_panel(
- PANEL *pan,
- int starty,
+ PANEL *pan,
+ int starty,
int startx)
{ return(*(int *)0); }
#undef replace_panel
int replace_panel(
- PANEL *pan,
+ PANEL *pan,
WINDOW *win)
{ return(*(int *)0); }
#undef set_panel_userptr
int set_panel_userptr(
- PANEL *pan,
+ PANEL *pan,
const void *uptr)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 2002-2010,2015 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#undef _nc_my_visbuf
const char *_nc_my_visbuf(
- const void *ptr,
+ const void *ptr,
int n)
{ return(*(const char **)0); }
#undef _nc_dPanel
void _nc_dPanel(
- const char *text,
+ const char *text,
const PANEL *pan)
{ /* void */ }
#undef _nc_dStack
void _nc_dStack(
- const char *fmt,
- int num,
+ const char *fmt,
+ int num,
const PANEL *pan)
{ /* void */ }
#undef _nc_Touchline
void _nc_Touchline(
- const PANEL *pan,
- int start,
+ const PANEL *pan,
+ int start,
int count)
{ /* void */ }
#undef move_panel
int move_panel(
- PANEL *pan,
- int starty,
+ PANEL *pan,
+ int starty,
int startx)
{ return(*(int *)0); }
#undef replace_panel
int replace_panel(
- PANEL *pan,
+ PANEL *pan,
WINDOW *win)
{ return(*(int *)0); }
#undef set_panel_userptr
int set_panel_userptr(
- PANEL *pan,
+ PANEL *pan,
const void *uptr)
{ return(*(int *)0); }
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2008,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/* p_bottom.c
- * Place a panel on bottom of the stack; may already be in the stack
+ * Place a panel on bottom of the stack; may already be in the stack
*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_bottom.c,v 1.16 2020/09/26 18:02:35 tom Exp $")
+MODULE_ID("$Id: p_bottom.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
PANEL_EXPORT(int)
bottom_panel(PANEL * pan)
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/* p_new.c
- * Creation of a new panel
+ * Creation of a new panel
*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_new.c,v 1.22 2020/12/26 18:25:48 tom Exp $")
+MODULE_ID("$Id: p_new.c,v 1.23 2021/06/17 21:20:30 tom Exp $")
#ifdef TRACE
static char *stdscr_id;
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/* p_show.c
- * Place a panel on top of the stack; may already be in the stack
+ * Place a panel on top of the stack; may already be in the stack
*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_show.c,v 1.16 2020/09/26 18:02:35 tom Exp $")
+MODULE_ID("$Id: p_show.c,v 1.17 2021/06/17 21:20:30 tom Exp $")
PANEL_EXPORT(int)
show_panel(PANEL * pan)
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2021 Thomas E. Dickey *
* Copyright 1998-2005,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
/* p_user.c
- * Set/Get panels user pointer
+ * Set/Get panels user pointer
*/
#include "panel.priv.h"
-MODULE_ID("$Id: p_user.c,v 1.10 2020/05/24 01:40:20 anonymous.maarten Exp $")
+MODULE_ID("$Id: p_user.c,v 1.11 2021/06/17 21:20:30 tom Exp $")
PANEL_EXPORT(int)
set_panel_userptr(PANEL * pan, NCURSES_CONST void *uptr)
#include <dump_entry.h>
-MODULE_ID("$Id: infocmp.c,v 1.150 2021/06/12 21:52:06 tom Exp $")
+MODULE_ID("$Id: infocmp.c,v 1.151 2021/06/17 21:11:08 tom Exp $")
#define MAX_STRING 1024 /* maximum formatted string */
/*
* ncurses stores two types of non-standard capabilities:
- * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
+ * a) capabilities listed past the "STOP-HERE" comment in the Caps file.
* These are used in the terminfo source file to provide data for termcaps,
* e.g., when there is no equivalent capability in terminfo, as well as for
* widely-used non-standard capabilities.
dnl authorization. *
dnl***************************************************************************
dnl
-dnl $Id: aclocal.m4,v 1.194 2021/05/19 23:35:25 tom Exp $
+dnl $Id: aclocal.m4,v 1.195 2021/06/19 23:43:02 tom Exp $
dnl
dnl Author: Thomas E. Dickey
dnl
fi
])
dnl ---------------------------------------------------------------------------
-dnl CF_CONST_X_STRING version: 6 updated: 2021/01/01 13:31:04
+dnl CF_CONST_X_STRING version: 7 updated: 2021/06/07 17:39:17
dnl -----------------
dnl The X11R4-X11R6 Xt specification uses an ambiguous String type for most
dnl character-strings.
#include <stdlib.h>
#include <X11/Intrinsic.h>
],
-[String foo = malloc(1); (void)foo],[
+[String foo = malloc(1); free((void*)foo)],[
AC_CACHE_CHECK(for X11/Xt const-feature,cf_cv_const_x_string,[
AC_TRY_COMPILE(
AC_SUBST(EXTRA_CFLAGS)
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_GETOPT_HEADER version: 7 updated: 2021/01/01 13:31:04
+dnl CF_GETOPT_HEADER version: 8 updated: 2021/06/19 19:16:16
dnl ----------------
dnl Check for getopt's variables which are commonly defined in stdlib.h,
dnl unistd.h or (nonstandard) in getopt.h
do
AC_TRY_COMPILE([
#include <$cf_header>],
-[int x = optind; char *y = optarg],
+[int x = optind; char *y = optarg; (void)x; (void)y],
[cf_cv_getopt_header=$cf_header
break])
done
test "$cf_cv_netbsd_menu_h" = yes && AC_DEFINE(HAVE_NETBSD_MENU_H,1,[Define to 1 if we appear to be using NetBSD menu.h])
])dnl
dnl ---------------------------------------------------------------------------
-dnl CF_NO_LEAKS_OPTION version: 8 updated: 2021/01/05 20:05:09
+dnl CF_NO_LEAKS_OPTION version: 9 updated: 2021/06/13 19:45:41
dnl ------------------
dnl see CF_WITH_NO_LEAKS
+dnl
+dnl $1 = option/name
+dnl $2 = help-text
+dnl $3 = symbol to define if the option is set
+dnl $4 = additional actions to take if the option is set
AC_DEFUN([CF_NO_LEAKS_OPTION],[
AC_MSG_CHECKING(if you want to use $1 for testing)
AC_ARG_WITH($1,
[$2],
- [AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
+ [case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_$1=yes
+ AC_DEFINE_UNQUOTED($3,1,"Define to 1 if you want to use $1 for testing.")ifelse([$4],,[
$4
])
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_$1=yes],
+ ;;
+ esac],
[with_$1=])
AC_MSG_RESULT(${with_$1:-no})
.\"***************************************************************************
-.\" Copyright 2020 Thomas E. Dickey *
+.\" Copyright 2020,2021 Thomas E. Dickey *
.\" Copyright 1998,2006 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: bs.6,v 1.3 2020/02/02 23:34:34 tom Exp $
+.\" $Id: bs.6,v 1.4 2021/06/17 21:20:30 tom Exp $
.TH BATTLESHIPS 6 "Aug 23, 1989"
.SH NAME
bs \- battleships game
selected ship. The `R' command will place all remaining ships randomly. The ^L
command (form feed, ASCII 12) will force a screen redraw).
.PP
-The command-line arguments control game modes.
+The command-line arguments control game modes.
.nf
-b selects a `blitz' variant
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************/
-/*
+/*
* bs.c - original author: Bruce Holloway
* salvo option by: Chuck A DeGaul
* with improved user interface, autoconfiguration and code cleanup
* v2.0 featuring strict ANSI/POSIX conformance, November 1993.
* v2.1 with ncurses mouse support, September 1995
*
- * $Id: bs.c,v 1.76 2021/03/20 16:05:49 tom Exp $
+ * $Id: bs.c,v 1.77 2021/06/17 21:11:08 tom Exp $
*/
#include <test.priv.h>
int
main (void)
{
-int x = optind; char *y = optarg
+int x = optind; char *y = optarg; (void)x; (void)y
;
return 0;
}
int
main (void)
{
-String foo = malloc(1); (void)foo
+String foo = malloc(1); free((void*)foo)
;
return 0;
}
# Check whether --with-dmalloc or --without-dmalloc was given.
if test "${with_dmalloc+set}" = set; then
withval="$with_dmalloc"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_dmalloc=yes
cat >>confdefs.h <<EOF
#define USE_DMALLOC 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_dmalloc=yes
+ ;;
+ esac
else
with_dmalloc=
fi;
-echo "$as_me:22036: result: ${with_dmalloc:-no}" >&5
+echo "$as_me:22041: result: ${with_dmalloc:-no}" >&5
echo "${ECHO_T}${with_dmalloc:-no}" >&6
case ".$with_cflags" in
esac
if test "$with_dmalloc" = yes ; then
- echo "$as_me:22150: checking for dmalloc.h" >&5
+ echo "$as_me:22155: checking for dmalloc.h" >&5
echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6
if test "${ac_cv_header_dmalloc_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22156 "configure"
+#line 22161 "configure"
#include "confdefs.h"
#include <dmalloc.h>
_ACEOF
-if { (eval echo "$as_me:22160: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:22165: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:22166: \$? = $ac_status" >&5
+ echo "$as_me:22171: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:22185: result: $ac_cv_header_dmalloc_h" >&5
+echo "$as_me:22190: result: $ac_cv_header_dmalloc_h" >&5
echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6
if test "$ac_cv_header_dmalloc_h" = yes; then
-echo "$as_me:22189: checking for dmalloc_debug in -ldmalloc" >&5
+echo "$as_me:22194: checking for dmalloc_debug in -ldmalloc" >&5
echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6
if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldmalloc $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22197 "configure"
+#line 22202 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22216: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22221: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22219: \$? = $ac_status" >&5
+ echo "$as_me:22224: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22222: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22227: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22225: \$? = $ac_status" >&5
+ echo "$as_me:22230: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_dmalloc_dmalloc_debug=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:22236: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
+echo "$as_me:22241: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5
echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6
if test "$ac_cv_lib_dmalloc_dmalloc_debug" = yes; then
cat >>confdefs.h <<EOF
fi
-echo "$as_me:22251: checking if you want to use dbmalloc for testing" >&5
+echo "$as_me:22256: checking if you want to use dbmalloc for testing" >&5
echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6
# Check whether --with-dbmalloc or --without-dbmalloc was given.
if test "${with_dbmalloc+set}" = set; then
withval="$with_dbmalloc"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_dbmalloc=yes
cat >>confdefs.h <<EOF
#define USE_DBMALLOC 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_dbmalloc=yes
+ ;;
+ esac
else
with_dbmalloc=
fi;
-echo "$as_me:22268: result: ${with_dbmalloc:-no}" >&5
+echo "$as_me:22278: result: ${with_dbmalloc:-no}" >&5
echo "${ECHO_T}${with_dbmalloc:-no}" >&6
case ".$with_cflags" in
esac
if test "$with_dbmalloc" = yes ; then
- echo "$as_me:22382: checking for dbmalloc.h" >&5
+ echo "$as_me:22392: checking for dbmalloc.h" >&5
echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6
if test "${ac_cv_header_dbmalloc_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22388 "configure"
+#line 22398 "configure"
#include "confdefs.h"
#include <dbmalloc.h>
_ACEOF
-if { (eval echo "$as_me:22392: \"$ac_cpp "conftest.$ac_ext"\"") >&5
+if { (eval echo "$as_me:22402: \"$ac_cpp "conftest.$ac_ext"\"") >&5
(eval $ac_cpp "conftest.$ac_ext") 2>conftest.er1
ac_status=$?
$EGREP -v '^ *\+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
- echo "$as_me:22398: \$? = $ac_status" >&5
+ echo "$as_me:22408: \$? = $ac_status" >&5
(exit "$ac_status"); } >/dev/null; then
if test -s conftest.err; then
ac_cpp_err=$ac_c_preproc_warn_flag
fi
rm -f conftest.err "conftest.$ac_ext"
fi
-echo "$as_me:22417: result: $ac_cv_header_dbmalloc_h" >&5
+echo "$as_me:22427: result: $ac_cv_header_dbmalloc_h" >&5
echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6
if test "$ac_cv_header_dbmalloc_h" = yes; then
-echo "$as_me:22421: checking for debug_malloc in -ldbmalloc" >&5
+echo "$as_me:22431: checking for debug_malloc in -ldbmalloc" >&5
echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6
if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
ac_check_lib_save_LIBS=$LIBS
LIBS="-ldbmalloc $LIBS"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22429 "configure"
+#line 22439 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22448: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22458: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22451: \$? = $ac_status" >&5
+ echo "$as_me:22461: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22454: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22464: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22457: \$? = $ac_status" >&5
+ echo "$as_me:22467: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
ac_cv_lib_dbmalloc_debug_malloc=yes
else
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS=$ac_check_lib_save_LIBS
fi
-echo "$as_me:22468: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
+echo "$as_me:22478: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5
echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6
if test "$ac_cv_lib_dbmalloc_debug_malloc" = yes; then
cat >>confdefs.h <<EOF
fi
-echo "$as_me:22483: checking if you want to use valgrind for testing" >&5
+echo "$as_me:22493: checking if you want to use valgrind for testing" >&5
echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6
# Check whether --with-valgrind or --without-valgrind was given.
if test "${with_valgrind+set}" = set; then
withval="$with_valgrind"
+ case "x$withval" in
+ (x|xno) ;;
+ (*)
+ : "${with_cflags:=-g}"
+ : "${enable_leaks:=no}"
+ with_valgrind=yes
cat >>confdefs.h <<EOF
#define USE_VALGRIND 1
EOF
- : "${with_cflags:=-g}"
- : "${enable_leaks:=no}"
- with_valgrind=yes
+ ;;
+ esac
else
with_valgrind=
fi;
-echo "$as_me:22500: result: ${with_valgrind:-no}" >&5
+echo "$as_me:22515: result: ${with_valgrind:-no}" >&5
echo "${ECHO_T}${with_valgrind:-no}" >&6
case ".$with_cflags" in
;;
esac
-echo "$as_me:22613: checking if you want to perform memory-leak testing" >&5
+echo "$as_me:22628: checking if you want to perform memory-leak testing" >&5
echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6
# Check whether --enable-leaks or --disable-leaks was given.
enable_leaks=yes
fi;
if test "x$enable_leaks" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi
-echo "$as_me:22624: result: $with_no_leaks" >&5
+echo "$as_me:22639: result: $with_no_leaks" >&5
echo "${ECHO_T}$with_no_leaks" >&6
if test "$enable_leaks" = no ; then
LD_RPATH_OPT=
if test "x$cf_cv_enable_rpath" != xno
then
- echo "$as_me:22642: checking for an rpath option" >&5
+ echo "$as_me:22657: checking for an rpath option" >&5
echo $ECHO_N "checking for an rpath option... $ECHO_C" >&6
case "$cf_cv_system_name" in
(irix*)
(*)
;;
esac
- echo "$as_me:22673: result: $LD_RPATH_OPT" >&5
+ echo "$as_me:22688: result: $LD_RPATH_OPT" >&5
echo "${ECHO_T}$LD_RPATH_OPT" >&6
case "x$LD_RPATH_OPT" in
(x-R*)
- echo "$as_me:22678: checking if we need a space after rpath option" >&5
+ echo "$as_me:22693: checking if we need a space after rpath option" >&5
echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6
cf_save_LIBS="$LIBS"
LIBS="$cf_add_libs"
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22699 "configure"
+#line 22714 "configure"
#include "confdefs.h"
int
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22711: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22726: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22714: \$? = $ac_status" >&5
+ echo "$as_me:22729: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22717: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22732: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22720: \$? = $ac_status" >&5
+ echo "$as_me:22735: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_rpath_space=no
else
fi
rm -f "conftest.$ac_objext" "conftest$ac_exeext" "conftest.$ac_ext"
LIBS="$cf_save_LIBS"
- echo "$as_me:22730: result: $cf_rpath_space" >&5
+ echo "$as_me:22745: result: $cf_rpath_space" >&5
echo "${ECHO_T}$cf_rpath_space" >&6
test "$cf_rpath_space" = yes && LD_RPATH_OPT="$LD_RPATH_OPT "
;;
esac
fi
-echo "$as_me:22737: checking if rpath-hack should be disabled" >&5
+echo "$as_me:22752: checking if rpath-hack should be disabled" >&5
echo $ECHO_N "checking if rpath-hack should be disabled... $ECHO_C" >&6
# Check whether --enable-rpath-hack or --disable-rpath-hack was given.
fi;
if test "x$enable_rpath_hack" = xno; then cf_disable_rpath_hack=yes; else cf_disable_rpath_hack=no; fi
-echo "$as_me:22755: result: $cf_disable_rpath_hack" >&5
+echo "$as_me:22770: result: $cf_disable_rpath_hack" >&5
echo "${ECHO_T}$cf_disable_rpath_hack" >&6
if test "$enable_rpath_hack" = yes ; then
-echo "$as_me:22760: checking for updated LDFLAGS" >&5
+echo "$as_me:22775: checking for updated LDFLAGS" >&5
echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6
if test -n "$LD_RPATH_OPT" ; then
- echo "$as_me:22763: result: maybe" >&5
+ echo "$as_me:22778: result: maybe" >&5
echo "${ECHO_T}maybe" >&6
for ac_prog in ldd
do
# Extract the first word of "$ac_prog", so it can be a program name with args.
set dummy $ac_prog; ac_word=$2
-echo "$as_me:22770: checking for $ac_word" >&5
+echo "$as_me:22785: checking for $ac_word" >&5
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
if test "${ac_cv_prog_cf_ldd_prog+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
test -z "$ac_dir" && ac_dir=.
$as_executable_p "$ac_dir/$ac_word" || continue
ac_cv_prog_cf_ldd_prog="$ac_prog"
-echo "$as_me:22785: found $ac_dir/$ac_word" >&5
+echo "$as_me:22800: found $ac_dir/$ac_word" >&5
break
done
fi
cf_ldd_prog=$ac_cv_prog_cf_ldd_prog
if test -n "$cf_ldd_prog"; then
- echo "$as_me:22793: result: $cf_ldd_prog" >&5
+ echo "$as_me:22808: result: $cf_ldd_prog" >&5
echo "${ECHO_T}$cf_ldd_prog" >&6
else
- echo "$as_me:22796: result: no" >&5
+ echo "$as_me:22811: result: no" >&5
echo "${ECHO_T}no" >&6
fi
cf_rpath_oops=
cat >"conftest.$ac_ext" <<_ACEOF
-#line 22810 "configure"
+#line 22825 "configure"
#include "confdefs.h"
#include <stdio.h>
int
}
_ACEOF
rm -f "conftest.$ac_objext" "conftest$ac_exeext"
-if { (eval echo "$as_me:22822: \"$ac_link\"") >&5
+if { (eval echo "$as_me:22837: \"$ac_link\"") >&5
(eval $ac_link) 2>&5
ac_status=$?
- echo "$as_me:22825: \$? = $ac_status" >&5
+ echo "$as_me:22840: \$? = $ac_status" >&5
(exit "$ac_status"); } &&
{ ac_try='test -s "conftest$ac_exeext"'
- { (eval echo "$as_me:22828: \"$ac_try\"") >&5
+ { (eval echo "$as_me:22843: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- echo "$as_me:22831: \$? = $ac_status" >&5
+ echo "$as_me:22846: \$? = $ac_status" >&5
(exit "$ac_status"); }; }; then
cf_rpath_oops=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} ' not found' | sed -e 's% =>.*$%%' |sort | uniq`
cf_rpath_list=`"$cf_ldd_prog" "conftest$ac_exeext" | ${FGREP-fgrep} / | sed -e 's%^.*[ ]/%/%' -e 's%/[^/][^/]*$%%' |sort | uniq`
then
test -n "$verbose" && echo " ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src" 1>&6
-echo "${as_me:-configure}:22859: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
+echo "${as_me:-configure}:22874: testing ...adding -L$cf_rpath_dir/lib to LDFLAGS for $cf_rpath_src ..." 1>&5
LDFLAGS="$LDFLAGS -L$cf_rpath_dir/lib"
break
test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
-echo "${as_me:-configure}:22871: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+echo "${as_me:-configure}:22886: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6
-echo "${as_me:-configure}:22875: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
+echo "${as_me:-configure}:22890: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5
cf_rpath_dst=
for cf_rpath_src in $LDFLAGS
then
test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
-echo "${as_me:-configure}:22912: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+echo "${as_me:-configure}:22927: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
fi
test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6
-echo "${as_me:-configure}:22925: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
+echo "${as_me:-configure}:22940: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5
test -n "$verbose" && echo " ...checking LIBS $LIBS" 1>&6
-echo "${as_me:-configure}:22929: testing ...checking LIBS $LIBS ..." 1>&5
+echo "${as_me:-configure}:22944: testing ...checking LIBS $LIBS ..." 1>&5
cf_rpath_dst=
for cf_rpath_src in $LIBS
then
test -n "$verbose" && echo " ...Filter $cf_rpath_src ->$cf_rpath_tmp" 1>&6
-echo "${as_me:-configure}:22966: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
+echo "${as_me:-configure}:22981: testing ...Filter $cf_rpath_src ->$cf_rpath_tmp ..." 1>&5
EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS"
fi
test -n "$verbose" && echo " ...checked LIBS $LIBS" 1>&6
-echo "${as_me:-configure}:22979: testing ...checked LIBS $LIBS ..." 1>&5
+echo "${as_me:-configure}:22994: testing ...checked LIBS $LIBS ..." 1>&5
test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6
-echo "${as_me:-configure}:22983: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
+echo "${as_me:-configure}:22998: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5
else
- echo "$as_me:22986: result: no" >&5
+ echo "$as_me:23001: result: no" >&5
echo "${ECHO_T}no" >&6
fi
: "${CONFIG_STATUS=./config.status}"
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:23076: creating $CONFIG_STATUS" >&5
+{ echo "$as_me:23091: creating $CONFIG_STATUS" >&5
echo "$as_me: creating $CONFIG_STATUS" >&6;}
cat >"$CONFIG_STATUS" <<_ACEOF
#! $SHELL
echo "$ac_cs_version"; exit 0 ;;
--he | --h)
# Conflict between --help and --header
- { { echo "$as_me:23255: error: ambiguous option: $1
+ { { echo "$as_me:23270: error: ambiguous option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: ambiguous option: $1
Try \`$0 --help' for more information." >&2;}
ac_need_defaults=false;;
# This is an error.
- -*) { { echo "$as_me:23274: error: unrecognized option: $1
+ -*) { { echo "$as_me:23289: error: unrecognized option: $1
Try \`$0 --help' for more information." >&5
echo "$as_me: error: unrecognized option: $1
Try \`$0 --help' for more information." >&2;}
"Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
"ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS ncurses_cfg.h:ncurses_tst.hin" ;;
- *) { { echo "$as_me:23324: error: invalid argument: $ac_config_target" >&5
+ *) { { echo "$as_me:23339: error: invalid argument: $ac_config_target" >&5
echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
{ (exit 1); exit 1; }; };;
esac
esac
if test x"$ac_file" != x-; then
- { echo "$as_me:23628: creating $ac_file" >&5
+ { echo "$as_me:23643: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
rm -f "$ac_file"
fi
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:23646: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:23661: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo "$srcdir/$f"
else
# /dev/null tree
- { { echo "$as_me:23659: error: cannot find input file: $f" >&5
+ { { echo "$as_me:23674: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
if test -n "$ac_seen"; then
ac_used=`grep '@datarootdir@' "$ac_item"`
if test -z "$ac_used"; then
- { echo "$as_me:23675: WARNING: datarootdir was used implicitly but not set:
+ { echo "$as_me:23690: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used implicitly but not set:
$ac_seen" >&2;}
fi
ac_seen=`grep '${datarootdir}' "$ac_item"`
if test -n "$ac_seen"; then
- { echo "$as_me:23684: WARNING: datarootdir was used explicitly but not set:
+ { echo "$as_me:23699: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&5
echo "$as_me: WARNING: datarootdir was used explicitly but not set:
$ac_seen" >&2;}
ac_init=`${EGREP-egrep} '[ ]*'$ac_name'[ ]*=' "$ac_file"`
if test -z "$ac_init"; then
ac_seen=`echo "$ac_seen" |sed -e 's,^,'$ac_file':,'`
- { echo "$as_me:23721: WARNING: Variable $ac_name is used but was not set:
+ { echo "$as_me:23736: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&5
echo "$as_me: WARNING: Variable $ac_name is used but was not set:
$ac_seen" >&2;}
${EGREP-egrep} -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>$tmp/out
if test -s $tmp/out; then
ac_seen=`sed -e 's,^,'$ac_file':,' < $tmp/out`
- { echo "$as_me:23732: WARNING: Some variables may not be substituted:
+ { echo "$as_me:23747: WARNING: Some variables may not be substituted:
$ac_seen" >&5
echo "$as_me: WARNING: Some variables may not be substituted:
$ac_seen" >&2;}
* ) ac_file_in=$ac_file.in ;;
esac
- test x"$ac_file" != x- && { echo "$as_me:23781: creating $ac_file" >&5
+ test x"$ac_file" != x- && { echo "$as_me:23796: creating $ac_file" >&5
echo "$as_me: creating $ac_file" >&6;}
# First look for the input files in the build tree, otherwise in the
-) echo $tmp/stdin ;;
[\\/$]*)
# Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:23792: error: cannot find input file: $f" >&5
+ test -f "$f" || { { echo "$as_me:23807: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
echo $f;;
echo "$srcdir/$f"
else
# /dev/null tree
- { { echo "$as_me:23805: error: cannot find input file: $f" >&5
+ { { echo "$as_me:23820: error: cannot find input file: $f" >&5
echo "$as_me: error: cannot find input file: $f" >&2;}
{ (exit 1); exit 1; }; }
fi;;
rm -f $tmp/in
if test x"$ac_file" != x-; then
if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
- { echo "$as_me:23863: $ac_file is unchanged" >&5
+ { echo "$as_me:23878: $ac_file is unchanged" >&5
echo "$as_me: $ac_file is unchanged" >&6;}
else
ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
#!/bin/sh
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 2003-2006,2010 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: listused.sh,v 1.9 2020/02/02 23:34:34 tom Exp $
+# $Id: listused.sh,v 1.10 2021/06/17 21:20:30 tom Exp $
# A very simple script to list all entrypoints that are used by either a test
# program, or within the libraries. This relies on the output format of 'nm',
# and assumes that the libraries are configured with TRACE defined, and using
if test -z "$HAVE"
then
for tmp in ../lib/*.a
- do
+ do
case $tmp in
*_*|*+*)
continue
#!/bin/sh
-# $Id: make-tar.sh,v 1.16 2020/02/02 23:34:34 tom Exp $
+# $Id: make-tar.sh,v 1.17 2021/06/17 21:26:02 tom Exp $
##############################################################################
-# Copyright 2019,2020 Thomas E. Dickey #
+# Copyright 2019-2020,2021 Thomas E. Dickey #
# Copyright 2010-2015,2017 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# cleanup empty directories (an artifact of ncurses source archives)
-touch $BUILD/$ROOTNAME/MANIFEST
+touch $BUILD/$ROOTNAME/MANIFEST
( cd $BUILD/$ROOTNAME && find . -type f -print |$SOURCE/misc/csort >MANIFEST )
-cd $BUILD || exit
+cd $BUILD || exit
# Remove build-artifacts.
find . -name RCS -exec rm -rf {} \;
%global AppProgram ncurses-examples
%global AppVersion MAJOR.MINOR
%global AppRelease YYYYMMDD
-# $Id: mingw-ncurses-examples.spec,v 1.9 2019/11/23 21:13:52 tom Exp $
+# $Id: mingw-ncurses-examples.spec,v 1.10 2021/06/17 21:11:12 tom Exp $
Name: mingw32-ncurses6-examples
Version: %{AppVersion}
Release: %{AppRelease}
%prep
# override location of bindir, e.g., to avoid conflict with pdcurses
-%global mingw32_bindir %{mingw32_exec_prefix}/bin/%{AppProgram}
-%global mingw64_bindir %{mingw64_exec_prefix}/bin/%{AppProgram}
+%global mingw32_bindir %{mingw32_exec_prefix}/bin/%{AppProgram}
+%global mingw64_bindir %{mingw64_exec_prefix}/bin/%{AppProgram}
-%global mingw32_datadir %{mingw32_datadir}/%{AppProgram}
-%global mingw64_datadir %{mingw64_datadir}/%{AppProgram}
+%global mingw32_datadir %{mingw32_datadir}/%{AppProgram}
+%global mingw64_datadir %{mingw64_datadir}/%{AppProgram}
%define CFG_OPTS \\\
--enable-echo \\\
* authorization. *
****************************************************************************/
/*
- * $Id: redraw.c,v 1.12 2021/03/27 23:41:21 tom Exp $
+ * $Id: redraw.c,v 1.13 2021/06/17 21:26:02 tom Exp $
*
* Demonstrate the redrawwin() and wredrawln() functions.
* Thomas Dickey - 2006/11/4
/*
* For a shell command, we can work around the problem noted above
* using mvcur(). It is ifdef'd for NCURSES, since X/Open does
- * not define the case where the old location is unknown.
+ * not define the case where the old location is unknown.
*/
IGNORE_RC(system("date"));
mvcur(-1, -1, y, x);
##############################################################################
-# Copyright 2020 Thomas E. Dickey #
+# Copyright 2020,2021 Thomas E. Dickey #
# Copyright 2004-2006,2016 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: xterm-16color.dat,v 1.4 2020/02/08 21:38:22 tom Exp $
-# This illustrates the predefined colors for XFree86 xterm's "xterm-16color".
+# $Id: xterm-16color.dat,v 1.5 2021/06/17 21:20:30 tom Exp $
+# This illustrates the predefined colors for XFree86 xterm's "xterm-16color".
# If you set $TERM to "xterm-88color" (and have xterm compiled to support the
# 88-color or 256-color feature), you can use the ncurses 'd' screen to
# manipulate the colors shown in the screen. The 'd' screen is limited to