xref: /dflybsd-src/lib/libncurses/include/MKterm.h.awk (revision 7d1ab061891a94bc40e4954c2851bb1691ea3d54)
1*7d1ab061SEirik Nygaard# $DragonFly: src/lib/libncurses/include/MKterm.h.awk,v 1.1 2005/03/12 19:13:54 eirikn Exp $
2*7d1ab061SEirik NygaardBEGIN		{
3*7d1ab061SEirik Nygaard		    print  "/****************************************************************************"
4*7d1ab061SEirik Nygaard		    print  " * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc.              *"
5*7d1ab061SEirik Nygaard		    print  " *                                                                          *"
6*7d1ab061SEirik Nygaard		    print  " * Permission is hereby granted, free of charge, to any person obtaining a  *"
7*7d1ab061SEirik Nygaard		    print  " * copy of this software and associated documentation files (the            *"
8*7d1ab061SEirik Nygaard		    print  " * \"Software\"), to deal in the Software without restriction, including      *"
9*7d1ab061SEirik Nygaard		    print  " * without limitation the rights to use, copy, modify, merge, publish,      *"
10*7d1ab061SEirik Nygaard		    print  " * distribute, distribute with modifications, sublicense, and/or sell       *"
11*7d1ab061SEirik Nygaard		    print  " * copies of the Software, and to permit persons to whom the Software is    *"
12*7d1ab061SEirik Nygaard		    print  " * furnished to do so, subject to the following conditions:                 *"
13*7d1ab061SEirik Nygaard		    print  " *                                                                          *"
14*7d1ab061SEirik Nygaard		    print  " * The above copyright notice and this permission notice shall be included  *"
15*7d1ab061SEirik Nygaard		    print  " * in all copies or substantial portions of the Software.                   *"
16*7d1ab061SEirik Nygaard		    print  " *                                                                          *"
17*7d1ab061SEirik Nygaard		    print  " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *"
18*7d1ab061SEirik Nygaard		    print  " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *"
19*7d1ab061SEirik Nygaard		    print  " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *"
20*7d1ab061SEirik Nygaard		    print  " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *"
21*7d1ab061SEirik Nygaard		    print  " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *"
22*7d1ab061SEirik Nygaard		    print  " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *"
23*7d1ab061SEirik Nygaard		    print  " * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *"
24*7d1ab061SEirik Nygaard		    print  " *                                                                          *"
25*7d1ab061SEirik Nygaard		    print  " * Except as contained in this notice, the name(s) of the above copyright   *"
26*7d1ab061SEirik Nygaard		    print  " * holders shall not be used in advertising or otherwise to promote the     *"
27*7d1ab061SEirik Nygaard		    print  " * sale, use or other dealings in this Software without prior written       *"
28*7d1ab061SEirik Nygaard		    print  " * authorization.                                                           *"
29*7d1ab061SEirik Nygaard		    print  " ****************************************************************************/"
30*7d1ab061SEirik Nygaard		    print  ""
31*7d1ab061SEirik Nygaard		    print  "/****************************************************************************/"
32*7d1ab061SEirik Nygaard		    print  "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */"
33*7d1ab061SEirik Nygaard		    print  "/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */"
34*7d1ab061SEirik Nygaard		    print  "/*    and: Thomas E. Dickey                        1995-2003                */"
35*7d1ab061SEirik Nygaard		    print  "/****************************************************************************/"
36*7d1ab061SEirik Nygaard		    print  ""
37*7d1ab061SEirik Nygaard		    print  "/* $Id: MKterm.h.awk.in,v 1.42 2003/12/27 19:09:16 tom Exp $ */"
38*7d1ab061SEirik Nygaard		    print  ""
39*7d1ab061SEirik Nygaard		    print  "/*"
40*7d1ab061SEirik Nygaard		    print  "**	term.h -- Definition of struct term"
41*7d1ab061SEirik Nygaard		    print  "*/"
42*7d1ab061SEirik Nygaard		    print  ""
43*7d1ab061SEirik Nygaard		    print  "#ifndef NCURSES_TERM_H_incl"
44*7d1ab061SEirik Nygaard		    print  "#define NCURSES_TERM_H_incl 1"
45*7d1ab061SEirik Nygaard		    print  ""
46*7d1ab061SEirik Nygaard		    print  "#undef  NCURSES_VERSION"
47*7d1ab061SEirik Nygaard		    print  "#define NCURSES_VERSION \"5.4\""
48*7d1ab061SEirik Nygaard		    print  ""
49*7d1ab061SEirik Nygaard		    print  "#if 0"
50*7d1ab061SEirik Nygaard		    print  "#include <ncurses_dll.h>"
51*7d1ab061SEirik Nygaard		    print  "#else"
52*7d1ab061SEirik Nygaard		    print  "/* From ncurses_dll.h */"
53*7d1ab061SEirik Nygaard		    print  "/* This is copied so we don't need to install"
54*7d1ab061SEirik Nygaard		    print  "/* ncurses_dll.h as well */"
55*7d1ab061SEirik Nygaard		    print  "/* Take care of non-cygwin platforms */"
56*7d1ab061SEirik Nygaard		    print  "#if !defined(NCURSES_IMPEXP)"
57*7d1ab061SEirik Nygaard		    print  "#  define NCURSES_IMPEXP /* nothing */"
58*7d1ab061SEirik Nygaard		    print  "#endif"
59*7d1ab061SEirik Nygaard		    print  "#if !defined(NCURSES_API)"
60*7d1ab061SEirik Nygaard		    print  "#  define NCURSES_API /* nothing */"
61*7d1ab061SEirik Nygaard		    print  "#endif"
62*7d1ab061SEirik Nygaard		    print  "#if !defined(NCURSES_EXPORT)"
63*7d1ab061SEirik Nygaard		    print  "#  define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API"
64*7d1ab061SEirik Nygaard		    print  "#endif"
65*7d1ab061SEirik Nygaard		    print  "#if !defined(NCURSES_EXPORT_VAR)"
66*7d1ab061SEirik Nygaard		    print  "#  define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type"
67*7d1ab061SEirik Nygaard		    print  "#endif"
68*7d1ab061SEirik Nygaard		    print  "#endif"
69*7d1ab061SEirik Nygaard		    print  "#"
70*7d1ab061SEirik Nygaard		    print  ""
71*7d1ab061SEirik Nygaard		    print  "#ifdef __cplusplus"
72*7d1ab061SEirik Nygaard		    print  "extern \"C\" {"
73*7d1ab061SEirik Nygaard		    print  "#endif"
74*7d1ab061SEirik Nygaard		    print  ""
75*7d1ab061SEirik Nygaard		    print  "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
76*7d1ab061SEirik Nygaard		    print  " * definition (based on the system for which this was configured)."
77*7d1ab061SEirik Nygaard		    print  " */"
78*7d1ab061SEirik Nygaard		    print  ""
79*7d1ab061SEirik Nygaard		    print  "#undef  HAVE_TERMIOS_H"
80*7d1ab061SEirik Nygaard		    print  "#define HAVE_TERMIOS_H 1/*default*/"
81*7d1ab061SEirik Nygaard		    print  ""
82*7d1ab061SEirik Nygaard		    print  "#undef  HAVE_TCGETATTR"
83*7d1ab061SEirik Nygaard		    print  "#define HAVE_TCGETATTR 1/*default*/"
84*7d1ab061SEirik Nygaard		    print  ""
85*7d1ab061SEirik Nygaard		    print  "#undef  NCURSES_CONST"
86*7d1ab061SEirik Nygaard		    print  "#define NCURSES_CONST /*nothing*/"
87*7d1ab061SEirik Nygaard		    print  ""
88*7d1ab061SEirik Nygaard		    print  "#undef  NCURSES_XNAMES"
89*7d1ab061SEirik Nygaard		    print  "#define NCURSES_XNAMES 1"
90*7d1ab061SEirik Nygaard		    print  ""
91*7d1ab061SEirik Nygaard		    print  "/* We will use these symbols to hide differences between"
92*7d1ab061SEirik Nygaard		    print  " * termios/termio/sgttyb interfaces."
93*7d1ab061SEirik Nygaard		    print  " */"
94*7d1ab061SEirik Nygaard		    print  "#undef  TTY"
95*7d1ab061SEirik Nygaard		    print  "#undef  SET_TTY"
96*7d1ab061SEirik Nygaard		    print  "#undef  GET_TTY"
97*7d1ab061SEirik Nygaard		    print  ""
98*7d1ab061SEirik Nygaard		    print  "/* Assume POSIX termio if we have the header and function */"
99*7d1ab061SEirik Nygaard		    print  "#if HAVE_TERMIOS_H && HAVE_TCGETATTR"
100*7d1ab061SEirik Nygaard		    print  ""
101*7d1ab061SEirik Nygaard		    print  "#undef  TERMIOS"
102*7d1ab061SEirik Nygaard		    print  "#define TERMIOS 1"
103*7d1ab061SEirik Nygaard		    print  ""
104*7d1ab061SEirik Nygaard		    print  "#include <termios.h>"
105*7d1ab061SEirik Nygaard		    print  "#define TTY struct termios"
106*7d1ab061SEirik Nygaard		    print  ""
107*7d1ab061SEirik Nygaard		    print  "#else /* !HAVE_TERMIOS_H */"
108*7d1ab061SEirik Nygaard		    print  ""
109*7d1ab061SEirik Nygaard		    print  "#if HAVE_TERMIO_H"
110*7d1ab061SEirik Nygaard		    print  ""
111*7d1ab061SEirik Nygaard		    print  "#undef  TERMIOS"
112*7d1ab061SEirik Nygaard		    print  "#define TERMIOS 1"
113*7d1ab061SEirik Nygaard		    print  ""
114*7d1ab061SEirik Nygaard		    print  "#include <termio.h>"
115*7d1ab061SEirik Nygaard		    print  "#define TTY struct termio"
116*7d1ab061SEirik Nygaard		    print  ""
117*7d1ab061SEirik Nygaard		    print  "/* Add definitions to make termio look like termios."
118*7d1ab061SEirik Nygaard		    print  " * But ifdef it, since there are some implementations"
119*7d1ab061SEirik Nygaard		    print  " * that try to do this for us in a fake <termio.h>."
120*7d1ab061SEirik Nygaard		    print  " */"
121*7d1ab061SEirik Nygaard		    print  "#ifndef TCSANOW"
122*7d1ab061SEirik Nygaard		    print  "#define TCSANOW TCSETA"
123*7d1ab061SEirik Nygaard		    print  "#endif"
124*7d1ab061SEirik Nygaard		    print  "#ifndef TCSADRAIN"
125*7d1ab061SEirik Nygaard		    print  "#define TCSADRAIN TCSETAW"
126*7d1ab061SEirik Nygaard		    print  "#endif"
127*7d1ab061SEirik Nygaard		    print  "#ifndef TCSAFLUSH"
128*7d1ab061SEirik Nygaard		    print  "#define TCSAFLUSH TCSETAF"
129*7d1ab061SEirik Nygaard		    print  "#endif"
130*7d1ab061SEirik Nygaard		    print  "#ifndef tcsetattr"
131*7d1ab061SEirik Nygaard		    print  "#define tcsetattr(fd, cmd, arg) ioctl(fd, cmd, arg)"
132*7d1ab061SEirik Nygaard		    print  "#endif"
133*7d1ab061SEirik Nygaard		    print  "#ifndef tcgetattr"
134*7d1ab061SEirik Nygaard		    print  "#define tcgetattr(fd, arg) ioctl(fd, TCGETA, arg)"
135*7d1ab061SEirik Nygaard		    print  "#endif"
136*7d1ab061SEirik Nygaard		    print  "#ifndef cfgetospeed"
137*7d1ab061SEirik Nygaard		    print  "#define cfgetospeed(t) ((t)->c_cflag & CBAUD)"
138*7d1ab061SEirik Nygaard		    print  "#endif"
139*7d1ab061SEirik Nygaard		    print  "#ifndef TCIFLUSH "
140*7d1ab061SEirik Nygaard		    print  "#define TCIFLUSH 0"
141*7d1ab061SEirik Nygaard		    print  "#endif"
142*7d1ab061SEirik Nygaard		    print  "#ifndef TCOFLUSH "
143*7d1ab061SEirik Nygaard		    print  "#define TCOFLUSH 1"
144*7d1ab061SEirik Nygaard		    print  "#endif"
145*7d1ab061SEirik Nygaard		    print  "#ifndef TCIOFLUSH "
146*7d1ab061SEirik Nygaard		    print  "#define TCIOFLUSH 2"
147*7d1ab061SEirik Nygaard		    print  "#endif"
148*7d1ab061SEirik Nygaard		    print  "#ifndef tcflush"
149*7d1ab061SEirik Nygaard		    print  "#define tcflush(fd, arg) ioctl(fd, TCFLSH, arg)"
150*7d1ab061SEirik Nygaard		    print  "#endif"
151*7d1ab061SEirik Nygaard		    print  ""
152*7d1ab061SEirik Nygaard		    print  "#else /* !HAVE_TERMIO_H */"
153*7d1ab061SEirik Nygaard		    print  ""
154*7d1ab061SEirik Nygaard		    print  "#undef TERMIOS"
155*7d1ab061SEirik Nygaard		    print  "#include <sgtty.h>"
156*7d1ab061SEirik Nygaard		    print  "#include <sys/ioctl.h>"
157*7d1ab061SEirik Nygaard		    print  "#define TTY struct sgttyb"
158*7d1ab061SEirik Nygaard		    print  ""
159*7d1ab061SEirik Nygaard		    print  "#endif /* HAVE_TERMIO_H */"
160*7d1ab061SEirik Nygaard		    print  ""
161*7d1ab061SEirik Nygaard		    print  "#endif /* HAVE_TERMIOS_H */"
162*7d1ab061SEirik Nygaard		    print  ""
163*7d1ab061SEirik Nygaard		    print  "#ifdef TERMIOS"
164*7d1ab061SEirik Nygaard		    print  "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
165*7d1ab061SEirik Nygaard		    print  "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
166*7d1ab061SEirik Nygaard		    print  "#else"
167*7d1ab061SEirik Nygaard		    print  "#define GET_TTY(fd, buf) gtty(fd, buf)"
168*7d1ab061SEirik Nygaard		    print  "#define SET_TTY(fd, buf) stty(fd, buf)"
169*7d1ab061SEirik Nygaard		    print  "#endif"
170*7d1ab061SEirik Nygaard		    print  ""
171*7d1ab061SEirik Nygaard		    print  "#define NAMESIZE 256"
172*7d1ab061SEirik Nygaard		    print  ""
173*7d1ab061SEirik Nygaard		    print  "#define CUR cur_term->type."
174*7d1ab061SEirik Nygaard		    print  ""
175*7d1ab061SEirik Nygaard		}
176*7d1ab061SEirik Nygaard
177*7d1ab061SEirik Nygaard$2 == "%%-STOP-HERE-%%"	{
178*7d1ab061SEirik Nygaard			print  ""
179*7d1ab061SEirik Nygaard			printf "#define BOOLWRITE %d\n", BoolCount
180*7d1ab061SEirik Nygaard			printf "#define NUMWRITE  %d\n", NumberCount
181*7d1ab061SEirik Nygaard			printf "#define STRWRITE  %d\n", StringCount
182*7d1ab061SEirik Nygaard			print  ""
183*7d1ab061SEirik Nygaard			print  "/* older synonyms for some capabilities */"
184*7d1ab061SEirik Nygaard			print  "#define beehive_glitch	no_esc_ctlc"
185*7d1ab061SEirik Nygaard			print  "#define teleray_glitch	dest_tabs_magic_smso"
186*7d1ab061SEirik Nygaard			print  "#define micro_char_size micro_col_size"
187*7d1ab061SEirik Nygaard			print  ""
188*7d1ab061SEirik Nygaard			print  "#ifdef __INTERNAL_CAPS_VISIBLE"
189*7d1ab061SEirik Nygaard		}
190*7d1ab061SEirik Nygaard
191*7d1ab061SEirik Nygaard/^#/		{next;}
192*7d1ab061SEirik Nygaard
193*7d1ab061SEirik Nygaard$1 == "acs_chars"	{acsindex = StringCount}
194*7d1ab061SEirik Nygaard
195*7d1ab061SEirik Nygaard$3 == "bool"	{
196*7d1ab061SEirik Nygaard		    printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
197*7d1ab061SEirik Nygaard		}
198*7d1ab061SEirik Nygaard
199*7d1ab061SEirik Nygaard$3 == "num"	{
200*7d1ab061SEirik Nygaard		    printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
201*7d1ab061SEirik Nygaard		}
202*7d1ab061SEirik Nygaard
203*7d1ab061SEirik Nygaard$3 == "str"	{
204*7d1ab061SEirik Nygaard		    printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
205*7d1ab061SEirik Nygaard		}
206*7d1ab061SEirik Nygaard
207*7d1ab061SEirik NygaardEND		{
208*7d1ab061SEirik Nygaard			print  "#endif /* __INTERNAL_CAPS_VISIBLE */"
209*7d1ab061SEirik Nygaard			print  ""
210*7d1ab061SEirik Nygaard			print  ""
211*7d1ab061SEirik Nygaard			print  "/*"
212*7d1ab061SEirik Nygaard			print  " * Predefined terminfo array sizes"
213*7d1ab061SEirik Nygaard			print  " */"
214*7d1ab061SEirik Nygaard			printf "#define BOOLCOUNT %d\n", BoolCount
215*7d1ab061SEirik Nygaard			printf "#define NUMCOUNT  %d\n", NumberCount
216*7d1ab061SEirik Nygaard			printf "#define STRCOUNT  %d\n", StringCount
217*7d1ab061SEirik Nygaard			print  ""
218*7d1ab061SEirik Nygaard			print  "/* used by code for comparing entries */"
219*7d1ab061SEirik Nygaard			print  "#define acs_chars_index	", acsindex
220*7d1ab061SEirik Nygaard			print  ""
221*7d1ab061SEirik Nygaard			print  "typedef struct termtype {	/* in-core form of terminfo data */"
222*7d1ab061SEirik Nygaard			print  "    char  *term_names;		/* str_table offset of term names */"
223*7d1ab061SEirik Nygaard			print  "    char  *str_table;		/* pointer to string table */"
224*7d1ab061SEirik Nygaard			print  "    char  *Booleans;		/* array of boolean values */"
225*7d1ab061SEirik Nygaard			print  "    short *Numbers;		/* array of integer values */"
226*7d1ab061SEirik Nygaard			print  "    char  **Strings;		/* array of string offsets */"
227*7d1ab061SEirik Nygaard			print  ""
228*7d1ab061SEirik Nygaard			print  "#if NCURSES_XNAMES"
229*7d1ab061SEirik Nygaard			print  "    char  *ext_str_table;	/* pointer to extended string table */"
230*7d1ab061SEirik Nygaard			print  "    char  **ext_Names;		/* corresponding names */"
231*7d1ab061SEirik Nygaard			print  ""
232*7d1ab061SEirik Nygaard			print  "    unsigned short num_Booleans;/* count total Booleans */"
233*7d1ab061SEirik Nygaard			print  "    unsigned short num_Numbers;	/* count total Numbers */"
234*7d1ab061SEirik Nygaard			print  "    unsigned short num_Strings;	/* count total Strings */"
235*7d1ab061SEirik Nygaard			print  ""
236*7d1ab061SEirik Nygaard			print  "    unsigned short ext_Booleans;/* count extensions to Booleans */"
237*7d1ab061SEirik Nygaard			print  "    unsigned short ext_Numbers;	/* count extensions to Numbers */"
238*7d1ab061SEirik Nygaard			print  "    unsigned short ext_Strings;	/* count extensions to Strings */"
239*7d1ab061SEirik Nygaard			print  "#endif /* NCURSES_XNAMES */"
240*7d1ab061SEirik Nygaard			print  ""
241*7d1ab061SEirik Nygaard			print  "} TERMTYPE;"
242*7d1ab061SEirik Nygaard			print  ""
243*7d1ab061SEirik Nygaard			print  "typedef struct term {		/* describe an actual terminal */"
244*7d1ab061SEirik Nygaard			print  "    TERMTYPE	type;		/* terminal type description */"
245*7d1ab061SEirik Nygaard			print  "    short	Filedes;	/* file description being written to */"
246*7d1ab061SEirik Nygaard			print  "    TTY		Ottyb,		/* original state of the terminal */"
247*7d1ab061SEirik Nygaard			print  "		Nttyb;		/* current state of the terminal */"
248*7d1ab061SEirik Nygaard			print  "    int		_baudrate;	/* used to compute padding */"
249*7d1ab061SEirik Nygaard			print  "    char *      _termname;      /* used for termname() */"
250*7d1ab061SEirik Nygaard			print  "} TERMINAL;"
251*7d1ab061SEirik Nygaard			print  ""
252*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
253*7d1ab061SEirik Nygaard			print  ""
254*7d1ab061SEirik Nygaard			print  "#if BROKEN_LINKER"
255*7d1ab061SEirik Nygaard			print  "#define boolnames  _nc_boolnames()"
256*7d1ab061SEirik Nygaard			print  "#define boolcodes  _nc_boolcodes()"
257*7d1ab061SEirik Nygaard			print  "#define boolfnames _nc_boolfnames()"
258*7d1ab061SEirik Nygaard			print  "#define numnames   _nc_numnames()"
259*7d1ab061SEirik Nygaard			print  "#define numcodes   _nc_numcodes()"
260*7d1ab061SEirik Nygaard			print  "#define numfnames  _nc_numfnames()"
261*7d1ab061SEirik Nygaard			print  "#define strnames   _nc_strnames()"
262*7d1ab061SEirik Nygaard			print  "#define strcodes   _nc_strcodes()"
263*7d1ab061SEirik Nygaard			print  "#define strfnames  _nc_strfnames()"
264*7d1ab061SEirik Nygaard			print  ""
265*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);"
266*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);"
267*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);"
268*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);"
269*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);"
270*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);"
271*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);"
272*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);"
273*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);"
274*7d1ab061SEirik Nygaard			print  ""
275*7d1ab061SEirik Nygaard			print  "#else"
276*7d1ab061SEirik Nygaard			print  ""
277*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
278*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
279*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
280*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
281*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
282*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
283*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
284*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
285*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
286*7d1ab061SEirik Nygaard			print  ""
287*7d1ab061SEirik Nygaard			print  "#endif"
288*7d1ab061SEirik Nygaard			print  ""
289*7d1ab061SEirik Nygaard			print  "/* internals */"
290*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
291*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_get_tty_mode (TTY *buf);"
292*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
293*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE *);"
294*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
295*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
296*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) _nc_read_termcap_entry (const char *const, TERMTYPE *const);"
297*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
298*7d1ab061SEirik Nygaard			print  ""
299*7d1ab061SEirik Nygaard			print  "/* entry points */"
300*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
301*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
302*7d1ab061SEirik Nygaard			print  ""
303*7d1ab061SEirik Nygaard			print  "/* miscellaneous entry points */"
304*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
305*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) setupterm (NCURSES_CONST char *,int,int *);"
306*7d1ab061SEirik Nygaard			print  ""
307*7d1ab061SEirik Nygaard			print  "/* terminfo entry points, also declared in curses.h */"
308*7d1ab061SEirik Nygaard			print  "#if !defined(__NCURSES_H)"
309*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *);"
310*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...);"
311*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT_VAR(char) ttytype[];"
312*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) putp (const char *);"
313*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tigetflag (NCURSES_CONST char *);"
314*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);"
315*7d1ab061SEirik Nygaard			print  "#endif /* __NCURSES_H */"
316*7d1ab061SEirik Nygaard			print  ""
317*7d1ab061SEirik Nygaard			print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
318*7d1ab061SEirik Nygaard			print  "#if !defined(NCURSES_TERMCAP_H_incl)"
319*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);"
320*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
321*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
322*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);"
323*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);"
324*7d1ab061SEirik Nygaard			print  "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
325*7d1ab061SEirik Nygaard			print  "#endif /* NCURSES_TERMCAP_H_incl */"
326*7d1ab061SEirik Nygaard			print  ""
327*7d1ab061SEirik Nygaard			print  "#ifdef __cplusplus"
328*7d1ab061SEirik Nygaard			print  "}"
329*7d1ab061SEirik Nygaard			print  "#endif"
330*7d1ab061SEirik Nygaard			print  ""
331*7d1ab061SEirik Nygaard			print  "#endif /* NCURSES_TERM_H_incl */"
332*7d1ab061SEirik Nygaard		}
333