15ca44d1cSRong-En Fan# vile:awkmode 2*aae38d10SBaptiste Daroussinfunction declare_termtype(number,suffix) { 3*aae38d10SBaptiste Daroussin printf "typedef struct termtype%s { /* in-core form of terminfo data */\n", suffix; 4*aae38d10SBaptiste Daroussin print " char *term_names; /* str_table offset of term names */" 5*aae38d10SBaptiste Daroussin print " char *str_table; /* pointer to string table */" 6*aae38d10SBaptiste Daroussin print " NCURSES_SBOOL *Booleans; /* array of boolean values */" 7*aae38d10SBaptiste Daroussin printf " %-5s *Numbers; /* array of integer values */\n", number; 8*aae38d10SBaptiste Daroussin print " char **Strings; /* array of string offsets */" 9*aae38d10SBaptiste Daroussin print "" 10*aae38d10SBaptiste Daroussin print "#if NCURSES_XNAMES" 11*aae38d10SBaptiste Daroussin print " char *ext_str_table; /* pointer to extended string table */" 12*aae38d10SBaptiste Daroussin print " char **ext_Names; /* corresponding names */" 13*aae38d10SBaptiste Daroussin print "" 14*aae38d10SBaptiste Daroussin print " unsigned short num_Booleans;/* count total Booleans */"; 15*aae38d10SBaptiste Daroussin print " unsigned short num_Numbers; /* count total Numbers */"; 16*aae38d10SBaptiste Daroussin print " unsigned short num_Strings; /* count total Strings */"; 17*aae38d10SBaptiste Daroussin print "" 18*aae38d10SBaptiste Daroussin print " unsigned short ext_Booleans;/* count extensions to Booleans */"; 19*aae38d10SBaptiste Daroussin print " unsigned short ext_Numbers; /* count extensions to Numbers */"; 20*aae38d10SBaptiste Daroussin print " unsigned short ext_Strings; /* count extensions to Strings */"; 21*aae38d10SBaptiste Daroussin print "#endif /* NCURSES_XNAMES */" 22*aae38d10SBaptiste Daroussin print "" 23*aae38d10SBaptiste Daroussin printf "} TERMTYPE%s;\n", suffix; 24*aae38d10SBaptiste Daroussin} 250e3d5408SPeter WemmBEGIN { 26*aae38d10SBaptiste Daroussin lcurl = "{"; 27*aae38d10SBaptiste Daroussin rcurl = "}"; 280e3d5408SPeter Wemm print "/****************************************************************************" 29*aae38d10SBaptiste Daroussin print " * Copyright (c) 1998-2018,2019 Free Software Foundation, Inc. *" 300e3d5408SPeter Wemm print " * *" 310e3d5408SPeter Wemm print " * Permission is hereby granted, free of charge, to any person obtaining a *" 320e3d5408SPeter Wemm print " * copy of this software and associated documentation files (the *" 331759abf3SPeter Wemm print " * \"Software\"), to deal in the Software without restriction, including *" 340e3d5408SPeter Wemm print " * without limitation the rights to use, copy, modify, merge, publish, *" 350e3d5408SPeter Wemm print " * distribute, distribute with modifications, sublicense, and/or sell *" 360e3d5408SPeter Wemm print " * copies of the Software, and to permit persons to whom the Software is *" 370e3d5408SPeter Wemm print " * furnished to do so, subject to the following conditions: *" 380e3d5408SPeter Wemm print " * *" 390e3d5408SPeter Wemm print " * The above copyright notice and this permission notice shall be included *" 400e3d5408SPeter Wemm print " * in all copies or substantial portions of the Software. *" 410e3d5408SPeter Wemm print " * *" 421759abf3SPeter Wemm print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *" 430e3d5408SPeter Wemm print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *" 440e3d5408SPeter Wemm print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *" 450e3d5408SPeter Wemm print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *" 460e3d5408SPeter Wemm print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *" 470e3d5408SPeter Wemm print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *" 480e3d5408SPeter Wemm print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *" 490e3d5408SPeter Wemm print " * *" 500e3d5408SPeter Wemm print " * Except as contained in this notice, the name(s) of the above copyright *" 510e3d5408SPeter Wemm print " * holders shall not be used in advertising or otherwise to promote the *" 520e3d5408SPeter Wemm print " * sale, use or other dealings in this Software without prior written *" 530e3d5408SPeter Wemm print " * authorization. *" 540e3d5408SPeter Wemm print " ****************************************************************************/" 550e3d5408SPeter Wemm print "" 560e3d5408SPeter Wemm print "/****************************************************************************/" 570e3d5408SPeter Wemm print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */" 580e3d5408SPeter Wemm print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */" 594a1a9510SRong-En Fan print "/* and: Thomas E. Dickey 1995-on */" 600e3d5408SPeter Wemm print "/****************************************************************************/" 610e3d5408SPeter Wemm print "" 62*aae38d10SBaptiste Daroussin print "/* $Id: MKterm.h.awk.in,v 1.73 2019/12/21 18:29:09 tom Exp $ */" 630e3d5408SPeter Wemm print "" 640e3d5408SPeter Wemm print "/*" 650e3d5408SPeter Wemm print "** term.h -- Definition of struct term" 660e3d5408SPeter Wemm print "*/" 670e3d5408SPeter Wemm print "" 687a69bbfbSPeter Wemm print "#ifndef NCURSES_TERM_H_incl" 697a69bbfbSPeter Wemm print "#define NCURSES_TERM_H_incl 1" 700e3d5408SPeter Wemm print "" 710e3d5408SPeter Wemm print "#undef NCURSES_VERSION" 720e3d5408SPeter Wemm print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\"" 730e3d5408SPeter Wemm print "" 747a69bbfbSPeter Wemm print "#include <ncurses_dll.h>" 757a69bbfbSPeter Wemm print "" 760e3d5408SPeter Wemm print "#ifdef __cplusplus" 77*aae38d10SBaptiste Daroussin printf "extern \"C\" %s\n", lcurl; 780e3d5408SPeter Wemm print "#endif" 790e3d5408SPeter Wemm print "" 800e3d5408SPeter Wemm print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H" 8139f2269fSPeter Wemm print " * definition (based on the system for which this was configured)." 820e3d5408SPeter Wemm print " */" 830e3d5408SPeter Wemm print "" 840e3d5408SPeter Wemm print "#undef NCURSES_CONST" 850e3d5408SPeter Wemm print "#define NCURSES_CONST @NCURSES_CONST@" 860e3d5408SPeter Wemm print "" 874a1a9510SRong-En Fan print "#undef NCURSES_SBOOL" 884a1a9510SRong-En Fan print "#define NCURSES_SBOOL @NCURSES_SBOOL@" 894a1a9510SRong-En Fan print "" 9073f0a83dSXin LI print "#undef NCURSES_USE_DATABASE" 9173f0a83dSXin LI print "#define NCURSES_USE_DATABASE @NCURSES_USE_DATABASE@" 9273f0a83dSXin LI print "" 9373f0a83dSXin LI print "#undef NCURSES_USE_TERMCAP" 9473f0a83dSXin LI print "#define NCURSES_USE_TERMCAP @NCURSES_USE_TERMCAP@" 9573f0a83dSXin LI print "" 960e3d5408SPeter Wemm print "#undef NCURSES_XNAMES" 970e3d5408SPeter Wemm print "#define NCURSES_XNAMES @NCURSES_XNAMES@" 980e3d5408SPeter Wemm print "" 990e3d5408SPeter Wemm print "/* We will use these symbols to hide differences between" 1000e3d5408SPeter Wemm print " * termios/termio/sgttyb interfaces." 1010e3d5408SPeter Wemm print " */" 1020e3d5408SPeter Wemm print "#undef TTY" 1030e3d5408SPeter Wemm print "#undef SET_TTY" 1040e3d5408SPeter Wemm print "#undef GET_TTY" 1050e3d5408SPeter Wemm print "" 10639f2269fSPeter Wemm print "/* Assume POSIX termio if we have the header and function */" 1074a1a9510SRong-En Fan print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */" 1084a1a9510SRong-En Fan print "#if @HAVE_TERMIOS_H@ && @HAVE_TCGETATTR@" 1090e3d5408SPeter Wemm print "" 1100e3d5408SPeter Wemm print "#undef TERMIOS" 1110e3d5408SPeter Wemm print "#define TERMIOS 1" 1120e3d5408SPeter Wemm print "" 1130e3d5408SPeter Wemm print "#include <termios.h>" 1140e3d5408SPeter Wemm print "#define TTY struct termios" 1150e3d5408SPeter Wemm print "" 1160e3d5408SPeter Wemm print "#else /* !HAVE_TERMIOS_H */" 1170e3d5408SPeter Wemm print "" 1184a1a9510SRong-En Fan print "/* #if HAVE_TERMIO_H */" 1194a1a9510SRong-En Fan print "#if @HAVE_TERMIO_H@" 1200e3d5408SPeter Wemm print "" 1210e3d5408SPeter Wemm print "#undef TERMIOS" 1220e3d5408SPeter Wemm print "#define TERMIOS 1" 1230e3d5408SPeter Wemm print "" 1240e3d5408SPeter Wemm print "#include <termio.h>" 1250e3d5408SPeter Wemm print "#define TTY struct termio" 1260e3d5408SPeter Wemm print "" 1270e3d5408SPeter Wemm print "#else /* !HAVE_TERMIO_H */" 1280e3d5408SPeter Wemm print "" 129*aae38d10SBaptiste Daroussin print "#if _WIN32" 13006bfebdeSXin LI print "# include <ncurses_mingw.h>" 13106bfebdeSXin LI print "# define TTY struct termios" 13206bfebdeSXin LI print "#else" 1330e3d5408SPeter Wemm print "#undef TERMIOS" 1340e3d5408SPeter Wemm print "#include <sgtty.h>" 1350e3d5408SPeter Wemm print "#include <sys/ioctl.h>" 1360e3d5408SPeter Wemm print "#define TTY struct sgttyb" 13706bfebdeSXin LI print "#endif /* MINGW32 */" 1380e3d5408SPeter Wemm print "#endif /* HAVE_TERMIO_H */" 1390e3d5408SPeter Wemm print "" 1400e3d5408SPeter Wemm print "#endif /* HAVE_TERMIOS_H */" 1410e3d5408SPeter Wemm print "" 1420e3d5408SPeter Wemm print "#ifdef TERMIOS" 1430e3d5408SPeter Wemm print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)" 1440e3d5408SPeter Wemm print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)" 1450e3d5408SPeter Wemm print "#else" 1460e3d5408SPeter Wemm print "#define GET_TTY(fd, buf) gtty(fd, buf)" 1470e3d5408SPeter Wemm print "#define SET_TTY(fd, buf) stty(fd, buf)" 1480e3d5408SPeter Wemm print "#endif" 1490e3d5408SPeter Wemm print "" 150*aae38d10SBaptiste Daroussin print "#ifndef GCC_NORETURN" 151*aae38d10SBaptiste Daroussin print "#define GCC_NORETURN /* nothing */" 152*aae38d10SBaptiste Daroussin print "#endif" 153*aae38d10SBaptiste Daroussin print "" 1540e3d5408SPeter Wemm print "#define NAMESIZE 256" 1550e3d5408SPeter Wemm print "" 156*aae38d10SBaptiste Daroussin print "/* The cast works because TERMTYPE is the first data in TERMINAL */" 157*aae38d10SBaptiste Daroussin print "#define CUR ((TERMTYPE *)(cur_term))->" 1580e3d5408SPeter Wemm print "" 1590e3d5408SPeter Wemm} 1600e3d5408SPeter Wemm 1610e3d5408SPeter Wemm$2 == "%%-STOP-HERE-%%" { 1620e3d5408SPeter Wemm print "" 1630e3d5408SPeter Wemm printf "#define BOOLWRITE %d\n", BoolCount 1640e3d5408SPeter Wemm printf "#define NUMWRITE %d\n", NumberCount 1650e3d5408SPeter Wemm printf "#define STRWRITE %d\n", StringCount 1660e3d5408SPeter Wemm print "" 1670e3d5408SPeter Wemm print "/* older synonyms for some capabilities */" 1680e3d5408SPeter Wemm print "#define beehive_glitch no_esc_ctlc" 1690e3d5408SPeter Wemm print "#define teleray_glitch dest_tabs_magic_smso" 170*aae38d10SBaptiste Daroussin print "" 171*aae38d10SBaptiste Daroussin print "/* HPUX-11 uses this name rather than the standard one */" 172*aae38d10SBaptiste Daroussin print "#ifndef micro_char_size" 1730e3d5408SPeter Wemm print "#define micro_char_size micro_col_size" 174*aae38d10SBaptiste Daroussin print "#endif" 1750e3d5408SPeter Wemm print "" 1760e3d5408SPeter Wemm print "#ifdef __INTERNAL_CAPS_VISIBLE" 1770e3d5408SPeter Wemm} 1780e3d5408SPeter Wemm 1790e3d5408SPeter Wemm/^#/ { next; } 1800e3d5408SPeter Wemm 181*aae38d10SBaptiste Daroussin/^used_by/ { next ; } 182*aae38d10SBaptiste Daroussin/^userdef/ { next ; } 183*aae38d10SBaptiste Daroussin 184*aae38d10SBaptiste Daroussin$1 == "acs_chars" { 185*aae38d10SBaptiste Daroussin acsindex = StringCount; 186*aae38d10SBaptiste Daroussin} 18715589c42SPeter Wemm 1880e3d5408SPeter Wemm$3 == "bool" { 1890e3d5408SPeter Wemm printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++ 1900e3d5408SPeter Wemm} 1910e3d5408SPeter Wemm 1920e3d5408SPeter Wemm$3 == "num" { 1930e3d5408SPeter Wemm printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++ 1940e3d5408SPeter Wemm} 1950e3d5408SPeter Wemm 1960e3d5408SPeter Wemm$3 == "str" { 1970e3d5408SPeter Wemm printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++ 1980e3d5408SPeter Wemm} 1990e3d5408SPeter Wemm 2000e3d5408SPeter WemmEND { 2010e3d5408SPeter Wemm print "#endif /* __INTERNAL_CAPS_VISIBLE */" 2020e3d5408SPeter Wemm print "" 2030e3d5408SPeter Wemm print "" 2040e3d5408SPeter Wemm print "/*" 2050e3d5408SPeter Wemm print " * Predefined terminfo array sizes" 2060e3d5408SPeter Wemm print " */" 2070e3d5408SPeter Wemm printf "#define BOOLCOUNT %d\n", BoolCount 2080e3d5408SPeter Wemm printf "#define NUMCOUNT %d\n", NumberCount 2090e3d5408SPeter Wemm printf "#define STRCOUNT %d\n", StringCount 2100e3d5408SPeter Wemm print "" 21115589c42SPeter Wemm print "/* used by code for comparing entries */" 21215589c42SPeter Wemm print "#define acs_chars_index ", acsindex 21315589c42SPeter Wemm print "" 214*aae38d10SBaptiste Daroussin declare_termtype("short",""); 2150e3d5408SPeter Wemm print "" 216*aae38d10SBaptiste Daroussin print "/*" 217*aae38d10SBaptiste Daroussin print " * The only reason these structures are visible is for read-only use." 218*aae38d10SBaptiste Daroussin print " * Programs which modify the data are not, never were, portable across" 219*aae38d10SBaptiste Daroussin print " * curses implementations." 220*aae38d10SBaptiste Daroussin print " */" 221*aae38d10SBaptiste Daroussin print "#ifdef NCURSES_INTERNALS" 2220e3d5408SPeter Wemm print "" 223*aae38d10SBaptiste Daroussin if (@NCURSES_EXT_COLORS@) { 224*aae38d10SBaptiste Daroussin declare_termtype("int","2"); 225*aae38d10SBaptiste Daroussin } else { 226*aae38d10SBaptiste Daroussin print "typedef TERMTYPE TERMTYPE2;" 227*aae38d10SBaptiste Daroussin } 2280e3d5408SPeter Wemm print "" 2290e3d5408SPeter Wemm print "typedef struct term { /* describe an actual terminal */" 2300e3d5408SPeter Wemm print " TERMTYPE type; /* terminal type description */" 2310e3d5408SPeter Wemm print " short Filedes; /* file description being written to */" 232*aae38d10SBaptiste Daroussin print " TTY Ottyb; /* original state of the terminal */" 233*aae38d10SBaptiste Daroussin print " TTY Nttyb; /* current state of the terminal */" 2340e3d5408SPeter Wemm print " int _baudrate; /* used to compute padding */" 2354a1a9510SRong-En Fan print " char * _termname; /* used for termname() */" 236*aae38d10SBaptiste Daroussin if (@NCURSES_EXT_COLORS@) { 237*aae38d10SBaptiste Daroussin print " TERMTYPE2 type2; /* extended terminal type description */" 238*aae38d10SBaptiste Daroussin } 2390e3d5408SPeter Wemm print "} TERMINAL;" 240*aae38d10SBaptiste Daroussin print "#else" 241*aae38d10SBaptiste Daroussin print "typedef struct term TERMINAL;" 242*aae38d10SBaptiste Daroussin print "#endif /* NCURSES_INTERNALS */" 243*aae38d10SBaptiste Daroussin print "" 2440e3d5408SPeter Wemm print "" 24506bfebdeSXin LI print "#if @BROKEN_LINKER@ && !@cf_cv_enable_reentrant@" 24606bfebdeSXin LI print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 24706bfebdeSXin LI print "#elif @cf_cv_enable_reentrant@" 2485d08fb1fSRong-En Fan print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);" 24906bfebdeSXin LI print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())" 25006bfebdeSXin LI print "#else" 25106bfebdeSXin LI print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 25206bfebdeSXin LI print "#endif" 25306bfebdeSXin LI print "" 25406bfebdeSXin LI print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@" 2555ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);" 2565ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);" 2575ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);" 2585ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);" 2595ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);" 2605ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);" 2615ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);" 2625ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);" 2635ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);" 2640e3d5408SPeter Wemm print "" 2655ca44d1cSRong-En Fan print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())" 2665ca44d1cSRong-En Fan print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())" 2675ca44d1cSRong-En Fan print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())" 2685ca44d1cSRong-En Fan print "#define numnames NCURSES_PUBLIC_VAR(numnames())" 2695ca44d1cSRong-En Fan print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())" 2705ca44d1cSRong-En Fan print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())" 2715ca44d1cSRong-En Fan print "#define strnames NCURSES_PUBLIC_VAR(strnames())" 2725ca44d1cSRong-En Fan print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())" 2735ca44d1cSRong-En Fan print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())" 2740e3d5408SPeter Wemm print "" 2750e3d5408SPeter Wemm print "#else" 2760e3d5408SPeter Wemm print "" 2777a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];" 2787a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];" 2797a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];" 2807a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];" 2817a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];" 2827a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];" 2837a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];" 2847a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];" 2857a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];" 2860e3d5408SPeter Wemm print "" 2870e3d5408SPeter Wemm print "#endif" 2880e3d5408SPeter Wemm print "" 289*aae38d10SBaptiste Daroussin print "/*" 290*aae38d10SBaptiste Daroussin print " * These entrypoints are used only by the ncurses utilities such as tic." 291*aae38d10SBaptiste Daroussin print " */" 292*aae38d10SBaptiste Daroussin print "#ifdef NCURSES_INTERNALS" 293*aae38d10SBaptiste Daroussin print "" 2947a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);" 295*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);" 296*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);" 297*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);" 2987a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);" 2997a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);" 3000e3d5408SPeter Wemm print "" 301*aae38d10SBaptiste Daroussin print "#endif /* NCURSES_INTERNALS */" 302*aae38d10SBaptiste Daroussin print "" 303*aae38d10SBaptiste Daroussin print "" 304*aae38d10SBaptiste Daroussin print "/*" 305*aae38d10SBaptiste Daroussin print " * These entrypoints are used by tack 1.07." 306*aae38d10SBaptiste Daroussin print " */" 307*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);" 308*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);" 309*aae38d10SBaptiste Daroussin print "" 310*aae38d10SBaptiste Daroussin print "/*" 311*aae38d10SBaptiste Daroussin print " * Normal entry points" 312*aae38d10SBaptiste Daroussin print " */" 3137a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);" 3147a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);" 3150e3d5408SPeter Wemm print "" 3160e3d5408SPeter Wemm print "/* miscellaneous entry points */" 3177a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);" 318*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);" 3190e3d5408SPeter Wemm print "" 3200e3d5408SPeter Wemm print "/* terminfo entry points, also declared in curses.h */" 3210e3d5408SPeter Wemm print "#if !defined(__NCURSES_H)" 322*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tigetstr (const char *);" 3237a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(char) ttytype[];" 3247a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) putp (const char *);" 325*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tigetflag (const char *);" 326*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tigetnum (const char *);" 3274a1a9510SRong-En Fan print "" 3284a1a9510SRong-En Fan print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */" 329*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */" 3304a1a9510SRong-En Fan print "#else" 331*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */" 332*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tparm_varargs (const char *, ...); /* special */" 3334a1a9510SRong-En Fan print "#endif" 3344a1a9510SRong-En Fan print "" 33506bfebdeSXin LI print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */" 33606bfebdeSXin LI print "" 3370e3d5408SPeter Wemm print "#endif /* __NCURSES_H */" 3380e3d5408SPeter Wemm print "" 3390e3d5408SPeter Wemm print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 3407a69bbfbSPeter Wemm print "#if !defined(NCURSES_TERMCAP_H_incl)" 341*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);" 3427a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);" 3437a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);" 344*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tgetflag (const char *);" 345*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tgetnum (const char *);" 3467a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));" 3477a69bbfbSPeter Wemm print "#endif /* NCURSES_TERMCAP_H_incl */" 3480e3d5408SPeter Wemm print "" 34906bfebdeSXin LI print "/*" 35006bfebdeSXin LI print " * Include curses.h before term.h to enable these extensions." 35106bfebdeSXin LI print " */" 35206bfebdeSXin LI print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)" 35306bfebdeSXin LI print "" 354*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);" 35506bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);" 356*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);" 357*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);" 35806bfebdeSXin LI print "" 35906bfebdeSXin LI print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */" 360*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */" 36106bfebdeSXin LI print "#else" 362*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */" 363*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, const char *, ...); /* special */" 36406bfebdeSXin LI print "#endif" 36506bfebdeSXin LI print "" 36606bfebdeSXin LI print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 367*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);" 36806bfebdeSXin LI print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);" 36906bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);" 370*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);" 371*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);" 37206bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);" 37306bfebdeSXin LI print "" 37406bfebdeSXin LI print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);" 37506bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);" 37606bfebdeSXin LI print "" 37706bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);" 37806bfebdeSXin LI print "#endif /* NCURSES_SP_FUNCS */" 37906bfebdeSXin LI print "" 380*aae38d10SBaptiste Daroussin print "/*" 381*aae38d10SBaptiste Daroussin print " * Debugging features." 382*aae38d10SBaptiste Daroussin print " */" 383*aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(void) exit_terminfo(int) GCC_NORETURN;" 384*aae38d10SBaptiste Daroussin print "" 3850e3d5408SPeter Wemm print "#ifdef __cplusplus" 386*aae38d10SBaptiste Daroussin printf "%s\n", rcurl; 3870e3d5408SPeter Wemm print "#endif" 3880e3d5408SPeter Wemm print "" 3897a69bbfbSPeter Wemm print "#endif /* NCURSES_TERM_H_incl */" 3900e3d5408SPeter Wemm} 391