]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
New module 'terminfo-h'.
authorBruno Haible <bruno@clisp.org>
Tue, 19 Dec 2006 19:58:48 +0000 (19:58 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:14:32 +0000 (12:14 +0200)
gnulib-local/ChangeLog
gnulib-local/Makefile.am
gnulib-local/lib/terminfo.h [new file with mode: 0644]
gnulib-local/modules/terminfo-h [new file with mode: 0644]

index 8196eecb8e745f31f2d581da8ba11e6d11b31bbe..bb7f30c046d90680774454a4c357c3a640a75721 100644 (file)
@@ -1,3 +1,9 @@
+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.
index bcc8c2ae0dbeaa1549c704a3003d221c969add20..dfab9ef3f5c057131e6d98cf7299131c3f9e368f 100644 (file)
@@ -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 (file)
index 0000000..1a10443
--- /dev/null
@@ -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 (file)
index 0000000..c610aed
--- /dev/null
@@ -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
+