1946ecb11SJan Lentfer# vile:awkmode 2*2ff0cc30SDaniel Fojtfunction declare_termtype(number,suffix) { 3*2ff0cc30SDaniel Fojt printf "typedef struct termtype%s { /* in-core form of terminfo data */\n", suffix; 4*2ff0cc30SDaniel Fojt print " char *term_names; /* str_table offset of term names */" 5*2ff0cc30SDaniel Fojt print " char *str_table; /* pointer to string table */" 6*2ff0cc30SDaniel Fojt print " NCURSES_SBOOL *Booleans; /* array of boolean values */" 7*2ff0cc30SDaniel Fojt printf " %-5s *Numbers; /* array of integer values */\n", number; 8*2ff0cc30SDaniel Fojt print " char **Strings; /* array of string offsets */" 9*2ff0cc30SDaniel Fojt print "" 10*2ff0cc30SDaniel Fojt print "#if NCURSES_XNAMES" 11*2ff0cc30SDaniel Fojt print " char *ext_str_table; /* pointer to extended string table */" 12*2ff0cc30SDaniel Fojt print " char **ext_Names; /* corresponding names */" 13*2ff0cc30SDaniel Fojt print "" 14*2ff0cc30SDaniel Fojt print " unsigned short num_Booleans;/* count total Booleans */"; 15*2ff0cc30SDaniel Fojt print " unsigned short num_Numbers; /* count total Numbers */"; 16*2ff0cc30SDaniel Fojt print " unsigned short num_Strings; /* count total Strings */"; 17*2ff0cc30SDaniel Fojt print "" 18*2ff0cc30SDaniel Fojt print " unsigned short ext_Booleans;/* count extensions to Booleans */"; 19*2ff0cc30SDaniel Fojt print " unsigned short ext_Numbers; /* count extensions to Numbers */"; 20*2ff0cc30SDaniel Fojt print " unsigned short ext_Strings; /* count extensions to Strings */"; 21*2ff0cc30SDaniel Fojt print "#endif /* NCURSES_XNAMES */" 22*2ff0cc30SDaniel Fojt print "" 23*2ff0cc30SDaniel Fojt printf "} TERMTYPE%s;\n", suffix; 24*2ff0cc30SDaniel Fojt} 257d1ab061SEirik NygaardBEGIN { 26*2ff0cc30SDaniel Fojt lcurl = "{"; 27*2ff0cc30SDaniel Fojt rcurl = "}"; 287d1ab061SEirik Nygaard print "/****************************************************************************" 29*2ff0cc30SDaniel Fojt print " * Copyright 2018-2019,2020 Thomas E. Dickey *" 30*2ff0cc30SDaniel Fojt print " * Copyright 1998-2013,2017 Free Software Foundation, Inc. *" 317d1ab061SEirik Nygaard print " * *" 327d1ab061SEirik Nygaard print " * Permission is hereby granted, free of charge, to any person obtaining a *" 337d1ab061SEirik Nygaard print " * copy of this software and associated documentation files (the *" 347d1ab061SEirik Nygaard print " * \"Software\"), to deal in the Software without restriction, including *" 357d1ab061SEirik Nygaard print " * without limitation the rights to use, copy, modify, merge, publish, *" 367d1ab061SEirik Nygaard print " * distribute, distribute with modifications, sublicense, and/or sell *" 377d1ab061SEirik Nygaard print " * copies of the Software, and to permit persons to whom the Software is *" 387d1ab061SEirik Nygaard print " * furnished to do so, subject to the following conditions: *" 397d1ab061SEirik Nygaard print " * *" 407d1ab061SEirik Nygaard print " * The above copyright notice and this permission notice shall be included *" 417d1ab061SEirik Nygaard print " * in all copies or substantial portions of the Software. *" 427d1ab061SEirik Nygaard print " * *" 437d1ab061SEirik Nygaard print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *" 447d1ab061SEirik Nygaard print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *" 457d1ab061SEirik Nygaard print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *" 467d1ab061SEirik Nygaard print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *" 477d1ab061SEirik Nygaard print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *" 487d1ab061SEirik Nygaard print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *" 497d1ab061SEirik Nygaard print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *" 507d1ab061SEirik Nygaard print " * *" 517d1ab061SEirik Nygaard print " * Except as contained in this notice, the name(s) of the above copyright *" 527d1ab061SEirik Nygaard print " * holders shall not be used in advertising or otherwise to promote the *" 537d1ab061SEirik Nygaard print " * sale, use or other dealings in this Software without prior written *" 547d1ab061SEirik Nygaard print " * authorization. *" 557d1ab061SEirik Nygaard print " ****************************************************************************/" 567d1ab061SEirik Nygaard print "" 577d1ab061SEirik Nygaard print "/****************************************************************************/" 587d1ab061SEirik Nygaard print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */" 597d1ab061SEirik Nygaard print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */" 60946ecb11SJan Lentfer print "/* and: Thomas E. Dickey 1995-on */" 617d1ab061SEirik Nygaard print "/****************************************************************************/" 627d1ab061SEirik Nygaard print "" 63*2ff0cc30SDaniel Fojt print "/* $Id: MKterm.h.awk.in,v 1.74 2020/02/02 23:34:34 tom Exp $ */" 647d1ab061SEirik Nygaard print "" 657d1ab061SEirik Nygaard print "/*" 667d1ab061SEirik Nygaard print "** term.h -- Definition of struct term" 677d1ab061SEirik Nygaard print "*/" 687d1ab061SEirik Nygaard print "" 697d1ab061SEirik Nygaard print "#ifndef NCURSES_TERM_H_incl" 707d1ab061SEirik Nygaard print "#define NCURSES_TERM_H_incl 1" 717d1ab061SEirik Nygaard print "" 727d1ab061SEirik Nygaard print "#undef NCURSES_VERSION" 73*2ff0cc30SDaniel Fojt print "#define NCURSES_VERSION \"6.2\"" 747d1ab061SEirik Nygaard print "" 757d1ab061SEirik Nygaard print "#include <ncurses_dll.h>" 767d1ab061SEirik Nygaard print "" 777d1ab061SEirik Nygaard print "#ifdef __cplusplus" 78*2ff0cc30SDaniel Fojt printf "extern \"C\" %s\n", lcurl; 797d1ab061SEirik Nygaard print "#endif" 807d1ab061SEirik Nygaard print "" 817d1ab061SEirik Nygaard print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H" 827d1ab061SEirik Nygaard print " * definition (based on the system for which this was configured)." 837d1ab061SEirik Nygaard print " */" 847d1ab061SEirik Nygaard print "" 857d1ab061SEirik Nygaard print "#undef NCURSES_CONST" 8631a6c863SJoerg Sonnenberger print "#define NCURSES_CONST const" 877d1ab061SEirik Nygaard print "" 88946ecb11SJan Lentfer print "#undef NCURSES_SBOOL" 89946ecb11SJan Lentfer print "#define NCURSES_SBOOL char" 90946ecb11SJan Lentfer print "" 913eec8774SJohn Marino print "#undef NCURSES_USE_DATABASE" 923eec8774SJohn Marino print "#define NCURSES_USE_DATABASE 1" 933eec8774SJohn Marino print "" 943eec8774SJohn Marino print "#undef NCURSES_USE_TERMCAP" 953eec8774SJohn Marino print "#define NCURSES_USE_TERMCAP 1" 963eec8774SJohn Marino print "" 977d1ab061SEirik Nygaard print "#undef NCURSES_XNAMES" 987d1ab061SEirik Nygaard print "#define NCURSES_XNAMES 1" 997d1ab061SEirik Nygaard print "" 1007d1ab061SEirik Nygaard print "/* We will use these symbols to hide differences between" 1017d1ab061SEirik Nygaard print " * termios/termio/sgttyb interfaces." 1027d1ab061SEirik Nygaard print " */" 1037d1ab061SEirik Nygaard print "#undef TTY" 1047d1ab061SEirik Nygaard print "#undef SET_TTY" 1057d1ab061SEirik Nygaard print "#undef GET_TTY" 1067d1ab061SEirik Nygaard print "" 1077d1ab061SEirik Nygaard print "/* Assume POSIX termio if we have the header and function */" 108946ecb11SJan Lentfer print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */" 109946ecb11SJan Lentfer print "#if 1 && 1" 1107d1ab061SEirik Nygaard print "" 1117d1ab061SEirik Nygaard print "#undef TERMIOS" 1127d1ab061SEirik Nygaard print "#define TERMIOS 1" 1137d1ab061SEirik Nygaard print "" 1147d1ab061SEirik Nygaard print "#include <termios.h>" 1157d1ab061SEirik Nygaard print "#define TTY struct termios" 1167d1ab061SEirik Nygaard print "" 1177d1ab061SEirik Nygaard print "#else /* !HAVE_TERMIOS_H */" 1187d1ab061SEirik Nygaard print "" 119946ecb11SJan Lentfer print "/* #if HAVE_TERMIO_H */" 120946ecb11SJan Lentfer print "#if 0" 1217d1ab061SEirik Nygaard print "" 1227d1ab061SEirik Nygaard print "#undef TERMIOS" 1237d1ab061SEirik Nygaard print "#define TERMIOS 1" 1247d1ab061SEirik Nygaard print "" 1257d1ab061SEirik Nygaard print "#include <termio.h>" 1267d1ab061SEirik Nygaard print "#define TTY struct termio" 1277d1ab061SEirik Nygaard print "" 1287d1ab061SEirik Nygaard print "#else /* !HAVE_TERMIO_H */" 1297d1ab061SEirik Nygaard print "" 130*2ff0cc30SDaniel Fojt print "#if _WIN32" 131ee39cac4SJohn Marino print "# include <ncurses_mingw.h>" 132ee39cac4SJohn Marino print "# define TTY struct termios" 133ee39cac4SJohn Marino print "#else" 1347d1ab061SEirik Nygaard print "#undef TERMIOS" 1357d1ab061SEirik Nygaard print "#include <sgtty.h>" 1367d1ab061SEirik Nygaard print "#include <sys/ioctl.h>" 1377d1ab061SEirik Nygaard print "#define TTY struct sgttyb" 138ee39cac4SJohn Marino print "#endif /* MINGW32 */" 1397d1ab061SEirik Nygaard print "#endif /* HAVE_TERMIO_H */" 1407d1ab061SEirik Nygaard print "" 1417d1ab061SEirik Nygaard print "#endif /* HAVE_TERMIOS_H */" 1427d1ab061SEirik Nygaard print "" 1437d1ab061SEirik Nygaard print "#ifdef TERMIOS" 1447d1ab061SEirik Nygaard print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)" 1457d1ab061SEirik Nygaard print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)" 1467d1ab061SEirik Nygaard print "#else" 1477d1ab061SEirik Nygaard print "#define GET_TTY(fd, buf) gtty(fd, buf)" 1487d1ab061SEirik Nygaard print "#define SET_TTY(fd, buf) stty(fd, buf)" 1497d1ab061SEirik Nygaard print "#endif" 1507d1ab061SEirik Nygaard print "" 151*2ff0cc30SDaniel Fojt print "#ifndef GCC_NORETURN" 152*2ff0cc30SDaniel Fojt print "#define GCC_NORETURN /* nothing */" 153*2ff0cc30SDaniel Fojt print "#endif" 154*2ff0cc30SDaniel Fojt print "" 1557d1ab061SEirik Nygaard print "#define NAMESIZE 256" 1567d1ab061SEirik Nygaard print "" 157*2ff0cc30SDaniel Fojt print "/* The cast works because TERMTYPE is the first data in TERMINAL */" 158*2ff0cc30SDaniel Fojt print "#define CUR ((TERMTYPE *)(cur_term))->" 1597d1ab061SEirik Nygaard print "" 1607d1ab061SEirik Nygaard} 1617d1ab061SEirik Nygaard 1627d1ab061SEirik Nygaard$2 == "%%-STOP-HERE-%%" { 1637d1ab061SEirik Nygaard print "" 1647d1ab061SEirik Nygaard printf "#define BOOLWRITE %d\n", BoolCount 1657d1ab061SEirik Nygaard printf "#define NUMWRITE %d\n", NumberCount 1667d1ab061SEirik Nygaard printf "#define STRWRITE %d\n", StringCount 1677d1ab061SEirik Nygaard print "" 1687d1ab061SEirik Nygaard print "/* older synonyms for some capabilities */" 1697d1ab061SEirik Nygaard print "#define beehive_glitch no_esc_ctlc" 1707d1ab061SEirik Nygaard print "#define teleray_glitch dest_tabs_magic_smso" 171*2ff0cc30SDaniel Fojt print "" 172*2ff0cc30SDaniel Fojt print "/* HPUX-11 uses this name rather than the standard one */" 173*2ff0cc30SDaniel Fojt print "#ifndef micro_char_size" 1747d1ab061SEirik Nygaard print "#define micro_char_size micro_col_size" 175*2ff0cc30SDaniel Fojt print "#endif" 1767d1ab061SEirik Nygaard print "" 1777d1ab061SEirik Nygaard print "#ifdef __INTERNAL_CAPS_VISIBLE" 1787d1ab061SEirik Nygaard} 1797d1ab061SEirik Nygaard 1807d1ab061SEirik Nygaard/^#/ { next; } 1817d1ab061SEirik Nygaard 182*2ff0cc30SDaniel Fojt/^used_by/ { next ; } 183*2ff0cc30SDaniel Fojt/^userdef/ { next ; } 184*2ff0cc30SDaniel Fojt 185*2ff0cc30SDaniel Fojt$1 == "acs_chars" { 186*2ff0cc30SDaniel Fojt acsindex = StringCount; 187*2ff0cc30SDaniel Fojt} 1887d1ab061SEirik Nygaard 1897d1ab061SEirik Nygaard$3 == "bool" { 1907d1ab061SEirik Nygaard printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++ 1917d1ab061SEirik Nygaard} 1927d1ab061SEirik Nygaard 1937d1ab061SEirik Nygaard$3 == "num" { 1947d1ab061SEirik Nygaard printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++ 1957d1ab061SEirik Nygaard} 1967d1ab061SEirik Nygaard 1977d1ab061SEirik Nygaard$3 == "str" { 1987d1ab061SEirik Nygaard printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++ 1997d1ab061SEirik Nygaard} 2007d1ab061SEirik Nygaard 2017d1ab061SEirik NygaardEND { 2027d1ab061SEirik Nygaard print "#endif /* __INTERNAL_CAPS_VISIBLE */" 2037d1ab061SEirik Nygaard print "" 2047d1ab061SEirik Nygaard print "" 2057d1ab061SEirik Nygaard print "/*" 2067d1ab061SEirik Nygaard print " * Predefined terminfo array sizes" 2077d1ab061SEirik Nygaard print " */" 2087d1ab061SEirik Nygaard printf "#define BOOLCOUNT %d\n", BoolCount 2097d1ab061SEirik Nygaard printf "#define NUMCOUNT %d\n", NumberCount 2107d1ab061SEirik Nygaard printf "#define STRCOUNT %d\n", StringCount 2117d1ab061SEirik Nygaard print "" 2127d1ab061SEirik Nygaard print "/* used by code for comparing entries */" 2137d1ab061SEirik Nygaard print "#define acs_chars_index ", acsindex 2147d1ab061SEirik Nygaard print "" 215*2ff0cc30SDaniel Fojt declare_termtype("short",""); 2167d1ab061SEirik Nygaard print "" 217*2ff0cc30SDaniel Fojt print "/*" 218*2ff0cc30SDaniel Fojt print " * The only reason these structures are visible is for read-only use." 219*2ff0cc30SDaniel Fojt print " * Programs which modify the data are not, never were, portable across" 220*2ff0cc30SDaniel Fojt print " * curses implementations." 221*2ff0cc30SDaniel Fojt print " */" 222*2ff0cc30SDaniel Fojt print "#ifdef NCURSES_INTERNALS" 2237d1ab061SEirik Nygaard print "" 224*2ff0cc30SDaniel Fojt print "#ifdef ENABLE_WIDEC" 225*2ff0cc30SDaniel Fojt declare_termtype("int","2"); 226*2ff0cc30SDaniel Fojt print "#else" 227*2ff0cc30SDaniel Fojt print "typedef TERMTYPE TERMTYPE2;" 228*2ff0cc30SDaniel Fojt print "#endif /* ENABLE_WIDEC */" 2297d1ab061SEirik Nygaard print "" 2307d1ab061SEirik Nygaard print "typedef struct term { /* describe an actual terminal */" 2317d1ab061SEirik Nygaard print " TERMTYPE type; /* terminal type description */" 2327d1ab061SEirik Nygaard print " short Filedes; /* file description being written to */" 233*2ff0cc30SDaniel Fojt print " TTY Ottyb; /* original state of the terminal */" 234*2ff0cc30SDaniel Fojt print " TTY Nttyb; /* current state of the terminal */" 2357d1ab061SEirik Nygaard print " int _baudrate; /* used to compute padding */" 2367d1ab061SEirik Nygaard print " char * _termname; /* used for termname() */" 237*2ff0cc30SDaniel Fojt print "#ifdef ENABLE_WIDEC" 238*2ff0cc30SDaniel Fojt print " TERMTYPE2 type2; /* extended terminal type description */" 239*2ff0cc30SDaniel Fojt print "#endif /* ENABLE_WIDEC */" 2407d1ab061SEirik Nygaard print "} TERMINAL;" 241*2ff0cc30SDaniel Fojt print "#else" 242*2ff0cc30SDaniel Fojt print "typedef struct term TERMINAL;" 243*2ff0cc30SDaniel Fojt print "#endif /* NCURSES_INTERNALS */" 244*2ff0cc30SDaniel Fojt print "" 2457d1ab061SEirik Nygaard print "" 246ee39cac4SJohn Marino print "#if 0 && !0" 247ee39cac4SJohn Marino print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 248ee39cac4SJohn Marino print "#elif 0" 249946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);" 250ee39cac4SJohn Marino print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())" 251ee39cac4SJohn Marino print "#else" 252ee39cac4SJohn Marino print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 253ee39cac4SJohn Marino print "#endif" 254ee39cac4SJohn Marino print "" 255ee39cac4SJohn Marino print "#if 0 || 0" 256946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);" 257946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);" 258946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);" 259946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);" 260946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);" 261946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);" 262946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);" 263946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);" 264946ecb11SJan Lentfer print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);" 2657d1ab061SEirik Nygaard print "" 266946ecb11SJan Lentfer print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())" 267946ecb11SJan Lentfer print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())" 268946ecb11SJan Lentfer print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())" 269946ecb11SJan Lentfer print "#define numnames NCURSES_PUBLIC_VAR(numnames())" 270946ecb11SJan Lentfer print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())" 271946ecb11SJan Lentfer print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())" 272946ecb11SJan Lentfer print "#define strnames NCURSES_PUBLIC_VAR(strnames())" 273946ecb11SJan Lentfer print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())" 274946ecb11SJan Lentfer print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())" 2757d1ab061SEirik Nygaard print "" 2767d1ab061SEirik Nygaard print "#else" 2777d1ab061SEirik Nygaard print "" 2787d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];" 2797d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];" 2807d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];" 2817d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];" 2827d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];" 2837d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];" 2847d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];" 2857d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];" 2867d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];" 2877d1ab061SEirik Nygaard print "" 2887d1ab061SEirik Nygaard print "#endif" 2897d1ab061SEirik Nygaard print "" 290*2ff0cc30SDaniel Fojt print "/*" 291*2ff0cc30SDaniel Fojt print " * These entrypoints are used only by the ncurses utilities such as tic." 292*2ff0cc30SDaniel Fojt print " */" 293*2ff0cc30SDaniel Fojt print "#ifdef NCURSES_INTERNALS" 294*2ff0cc30SDaniel Fojt print "" 2957d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);" 296*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);" 297*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);" 298*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);" 2997d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);" 3007d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);" 3017d1ab061SEirik Nygaard print "" 302*2ff0cc30SDaniel Fojt print "#endif /* NCURSES_INTERNALS */" 303*2ff0cc30SDaniel Fojt print "" 304*2ff0cc30SDaniel Fojt print "" 305*2ff0cc30SDaniel Fojt print "/*" 306*2ff0cc30SDaniel Fojt print " * These entrypoints are used by tack 1.07." 307*2ff0cc30SDaniel Fojt print " */" 308*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);" 309*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);" 310*2ff0cc30SDaniel Fojt print "" 311*2ff0cc30SDaniel Fojt print "/*" 312*2ff0cc30SDaniel Fojt print " * Normal entry points" 313*2ff0cc30SDaniel Fojt print " */" 3147d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);" 3157d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);" 3167d1ab061SEirik Nygaard print "" 3177d1ab061SEirik Nygaard print "/* miscellaneous entry points */" 3187d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);" 319*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);" 3207d1ab061SEirik Nygaard print "" 3217d1ab061SEirik Nygaard print "/* terminfo entry points, also declared in curses.h */" 3227d1ab061SEirik Nygaard print "#if !defined(__NCURSES_H)" 323*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) tigetstr (const char *);" 3247d1ab061SEirik Nygaard print "extern NCURSES_EXPORT_VAR(char) ttytype[];" 3257d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) putp (const char *);" 326*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) tigetflag (const char *);" 327*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) tigetnum (const char *);" 328946ecb11SJan Lentfer print "" 329946ecb11SJan Lentfer print "#if 1 /* NCURSES_TPARM_VARARGS */" 330*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */" 331946ecb11SJan Lentfer print "#else" 332*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */" 333*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) tparm_varargs (const char *, ...); /* special */" 334946ecb11SJan Lentfer print "#endif" 335946ecb11SJan Lentfer print "" 336ee39cac4SJohn Marino print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */" 337ee39cac4SJohn Marino print "" 3387d1ab061SEirik Nygaard print "#endif /* __NCURSES_H */" 3397d1ab061SEirik Nygaard print "" 3407d1ab061SEirik Nygaard print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 3417d1ab061SEirik Nygaard print "#if !defined(NCURSES_TERMCAP_H_incl)" 342*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);" 3437d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);" 3447d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);" 345*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) tgetflag (const char *);" 346*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) tgetnum (const char *);" 3477d1ab061SEirik Nygaard print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));" 3487d1ab061SEirik Nygaard print "#endif /* NCURSES_TERMCAP_H_incl */" 3497d1ab061SEirik Nygaard print "" 350ee39cac4SJohn Marino print "/*" 351ee39cac4SJohn Marino print " * Include curses.h before term.h to enable these extensions." 352ee39cac4SJohn Marino print " */" 353ee39cac4SJohn Marino print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)" 354ee39cac4SJohn Marino print "" 355*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);" 356ee39cac4SJohn Marino print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);" 357*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);" 358*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);" 359ee39cac4SJohn Marino print "" 360ee39cac4SJohn Marino print "#if 1 /* NCURSES_TPARM_VARARGS */" 361*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */" 362ee39cac4SJohn Marino print "#else" 363*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */" 364*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm_varargs) (SCREEN*, const char *, ...); /* special */" 365ee39cac4SJohn Marino print "#endif" 366ee39cac4SJohn Marino print "" 367ee39cac4SJohn Marino print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 368*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);" 369ee39cac4SJohn Marino print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);" 370ee39cac4SJohn Marino print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);" 371*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);" 372*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);" 373ee39cac4SJohn Marino print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);" 374ee39cac4SJohn Marino print "" 375ee39cac4SJohn Marino print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);" 376ee39cac4SJohn Marino print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);" 377ee39cac4SJohn Marino print "" 378ee39cac4SJohn Marino print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);" 379ee39cac4SJohn Marino print "#endif /* NCURSES_SP_FUNCS */" 380ee39cac4SJohn Marino print "" 381*2ff0cc30SDaniel Fojt print "/*" 382*2ff0cc30SDaniel Fojt print " * Debugging features." 383*2ff0cc30SDaniel Fojt print " */" 384*2ff0cc30SDaniel Fojt print "extern NCURSES_EXPORT(void) exit_terminfo(int) GCC_NORETURN;" 385*2ff0cc30SDaniel Fojt print "" 3867d1ab061SEirik Nygaard print "#ifdef __cplusplus" 387*2ff0cc30SDaniel Fojt printf "%s\n", rcurl; 3887d1ab061SEirik Nygaard print "#endif" 3897d1ab061SEirik Nygaard print "" 3907d1ab061SEirik Nygaard print "#endif /* NCURSES_TERM_H_incl */" 3917d1ab061SEirik Nygaard} 392