diff options
author | Bruno Haible <bruno@clisp.org> | 2006-12-19 19:58:48 +0000 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2009-06-23 12:14:32 +0200 |
commit | 867ad37c49584e895e5fe1f84b0008f5bcf08fe1 (patch) | |
tree | 1a7acf5578410c6e1b97510852276dc09f1102dd /gnulib-local | |
parent | 1c20b44d8e6170ec908b8feed538e9759e025b5b (diff) | |
download | external_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/ChangeLog | 6 | ||||
-rw-r--r-- | gnulib-local/Makefile.am | 2 | ||||
-rw-r--r-- | gnulib-local/lib/terminfo.h | 111 | ||||
-rw-r--r-- | gnulib-local/modules/terminfo-h | 22 |
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 + |