Commit | Line | Data |
---|---|---|
d427b66a JB |
1 | /* Interface from Emacs to terminfo. |
2 | Copyright (C) 1985, 1986 Free Software Foundation, Inc. | |
3 | ||
4 | This file is part of GNU Emacs. | |
5 | ||
6 | GNU Emacs is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
fc91b8cb | 8 | the Free Software Foundation; either version 2, or (at your option) |
d427b66a JB |
9 | any later version. |
10 | ||
11 | GNU Emacs is distributed in the hope that it will be useful, | |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 | GNU General Public License for more details. | |
15 | ||
16 | You should have received a copy of the GNU General Public License | |
17 | along with GNU Emacs; see the file COPYING. If not, write to | |
3b7ad313 EN |
18 | the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
19 | Boston, MA 02111-1307, USA. */ | |
d427b66a | 20 | |
d676eef3 RS |
21 | #include <config.h> |
22 | ||
d427b66a JB |
23 | /* Define these variables that serve as global parameters to termcap, |
24 | so that we do not need to conditionalize the places in Emacs | |
25 | that set them. */ | |
26 | ||
27 | char *UP, *BC, PC; | |
d676eef3 | 28 | |
ba5971b3 RS |
29 | #if defined (HAVE_LIBNCURSES) && ! defined (NCURSES_OSPEED_T) |
30 | short ospeed; | |
31 | #else | |
515b04d0 | 32 | #if defined (HAVE_TERMIOS_H) && defined (LINUX) |
d676eef3 | 33 | #include <termios.h> |
825e7e55 RS |
34 | /* HJL's version of libc is said to need this on the Alpha. |
35 | On the other hand, DEC OSF1 on the Alpha needs ospeed to be a short. */ | |
d676eef3 RS |
36 | speed_t ospeed; |
37 | #else | |
9f80a1c8 | 38 | short ospeed; |
d676eef3 | 39 | #endif |
ba5971b3 | 40 | #endif |
d427b66a | 41 | |
d427b66a JB |
42 | /* Interface to curses/terminfo library. |
43 | Turns out that all of the terminfo-level routines look | |
44 | like their termcap counterparts except for tparm, which replaces | |
45 | tgoto. Not only is the calling sequence different, but the string | |
46 | format is different too. | |
47 | */ | |
48 | ||
49 | char * | |
50 | tparam (string, outstring, len, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9) | |
51 | char *string; | |
52 | char *outstring; | |
53 | int arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9; | |
54 | { | |
55 | char *temp; | |
56 | extern char *tparm(); | |
57 | ||
58 | temp = tparm (string, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); | |
59 | if (outstring == 0) | |
60 | outstring = ((char *) (malloc ((strlen (temp)) + 1))); | |
61 | strcpy (outstring, temp); | |
62 | return outstring; | |
63 | } |