summaryrefslogtreecommitdiffstats
path: root/gnulib-local
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2006-12-19 19:58:48 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:14:32 +0200
commit867ad37c49584e895e5fe1f84b0008f5bcf08fe1 (patch)
tree1a7acf5578410c6e1b97510852276dc09f1102dd /gnulib-local
parent1c20b44d8e6170ec908b8feed538e9759e025b5b (diff)
downloadexternal_gettext-867ad37c49584e895e5fe1f84b0008f5bcf08fe1.zip
external_gettext-867ad37c49584e895e5fe1f84b0008f5bcf08fe1.tar.gz
external_gettext-867ad37c49584e895e5fe1f84b0008f5bcf08fe1.tar.bz2
New module 'terminfo-h'.
Diffstat (limited to 'gnulib-local')
-rw-r--r--gnulib-local/ChangeLog6
-rw-r--r--gnulib-local/Makefile.am2
-rw-r--r--gnulib-local/lib/terminfo.h111
-rw-r--r--gnulib-local/modules/terminfo-h22
4 files changed, 141 insertions, 0 deletions
diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog
index 8196eec..bb7f30c 100644
--- a/gnulib-local/ChangeLog
+++ b/gnulib-local/ChangeLog
@@ -1,5 +1,11 @@
2006-12-19 Bruno Haible <bruno@clisp.org>
+ * lib/terminfo.h: New file.
+ * modules/terminfo-h: New file.
+ * Makefile.am (EXTRA_DIST): Add them.
+
+2006-12-19 Bruno Haible <bruno@clisp.org>
+
* m4/terminfo.m4: New file.
* modules/terminfo: New file.
* Makefile.am (EXTRA_DIST): Add them.
diff --git a/gnulib-local/Makefile.am b/gnulib-local/Makefile.am
index bcc8c2a..dfab9ef 100644
--- a/gnulib-local/Makefile.am
+++ b/gnulib-local/Makefile.am
@@ -241,6 +241,7 @@ lib/term-ostream.oo.h \
lib/term-styled-ostream.oo.c \
lib/term-styled-ostream.oo.h \
lib/termcap.h \
+lib/terminfo.h \
lib/vasprintf.c \
lib/xalloc.h \
lib/xerror.c \
@@ -310,6 +311,7 @@ modules/styled-ostream \
modules/termcap \
modules/termcap-h \
modules/terminfo \
+modules/terminfo-h \
modules/term-ostream \
modules/term-ostream-tests \
modules/term-styled-ostream \
diff --git a/gnulib-local/lib/terminfo.h b/gnulib-local/lib/terminfo.h
new file mode 100644
index 0000000..1a10443
--- /dev/null
+++ b/gnulib-local/lib/terminfo.h
@@ -0,0 +1,111 @@
+/* Information about terminal capabilities.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ Written by Bruno Haible <bruno@clisp.org>, 2006.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+
+#ifndef _TERMINFO_H
+#define _TERMINFO_H
+
+/* Including <curses.h> or <term.h> is dangerous, because it also declares
+ a lot of junk, such as variables PC, UP, and other. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if HAVE_TERMINFO
+
+/* Gets the capability information for terminal type TYPE and prepares FD.
+ Returns 0 if successful, -1 upon error. If ERRP is non-NULL, also returns
+ an error indicator in *ERRP; otherwise an error is signalled. */
+extern int setupterm (const char *type, int fd, int *errp);
+
+/* Retrieves the value of a numerical capability.
+ Returns -1 if it is not available, -2 if ID is invalid. */
+extern int tigetnum (const char *id);
+
+/* Retrieves the value of a boolean capability.
+ Returns 1 if it available, 0 if not available, -1 if ID is invalid. */
+extern int tigetflag (const char *id);
+
+/* Retrieves the value of a string capability.
+ Returns NULL if it is not available, (char *)(-1) if ID is invalid. */
+extern const char * tigetstr (const char *id);
+
+#else
+
+/* Gets the capability information for terminal type TYPE.
+ Returns 1 if successful, 0 if TYPE is unknown, -1 on other error. */
+extern int tgetent (char *bp, const char *type);
+
+/* Retrieves the value of a numerical capability.
+ Returns -1 if it is not available. */
+extern int tgetnum (const char *id);
+
+/* Retrieves the value of a boolean capability.
+ Returns 1 if it available, 0 otherwise. */
+extern int tgetflag (const char *id);
+
+/* Retrieves the value of a string capability.
+ Returns NULL if it is not available.
+ Also, if AREA != NULL, stores it at *AREA and advances *AREA. */
+extern const char * tgetstr (const char *id, char **area);
+
+#endif
+
+#if HAVE_TPARAM
+
+/* API provided by GNU termcap in <termcap.h>. */
+
+/* Instantiates a string capability with format strings.
+ BUF must be a buffer having room for BUFSIZE bytes.
+ The return value is either equal to BUF or freshly malloc()ed. */
+extern char * tparam (const char *str, void *buf, int bufsize, ...);
+
+#else
+
+/* API provided by
+ - GNU ncurses in <term.h>, <curses.h>, <ncurses.h>,
+ - OSF/1 curses in <term.h>, <curses.h>,
+ - Solaris, AIX, HP-UX, IRIX curses in <term.h>,
+ - gnulib's replacement. */
+
+/* Instantiates a string capability with format strings.
+ The return value is statically allocated and must not be freed. */
+extern char * tparm (const char *str, ...);
+
+#endif
+
+/* Retrieves a string that causes cursor positioning to (column, row).
+ This function is necessary because the string returned by tgetstr ("cm")
+ is in a special format. */
+extern const char * tgoto (const char *cm, int column, int row);
+
+/* Retrieves the value of a string capability.
+ OUTCHARFUN is called in turn for each 'char' of the result.
+ This function is necessary because string capabilities can contain
+ padding commands. */
+extern void tputs (const char *cp, int affcnt, int (*outcharfun) (int));
+
+/* The ncurses functions for color handling (see ncurses/base/lib_color.c)
+ are overkill: Most terminal emulators support only a fixed, small number
+ of colors. */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _TERMINFO_H */
diff --git a/gnulib-local/modules/terminfo-h b/gnulib-local/modules/terminfo-h
new file mode 100644
index 0000000..c610aed
--- /dev/null
+++ b/gnulib-local/modules/terminfo-h
@@ -0,0 +1,22 @@
+Description:
+Information about terminal capabilities.
+
+Files:
+lib/terminfo.h
+
+Depends-on:
+terminfo
+
+configure.ac:
+
+Makefile.am:
+
+Include:
+"terminfo.h"
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
+