15ca44d1cSRong-En Fan# vile:awkmode 2aae38d10SBaptiste Daroussinfunction declare_termtype(number,suffix) { 3aae38d10SBaptiste Daroussin printf "typedef struct termtype%s { /* in-core form of terminfo data */\n", suffix; 4aae38d10SBaptiste Daroussin print " char *term_names; /* str_table offset of term names */" 5aae38d10SBaptiste Daroussin print " char *str_table; /* pointer to string table */" 6aae38d10SBaptiste Daroussin print " NCURSES_SBOOL *Booleans; /* array of boolean values */" 7aae38d10SBaptiste Daroussin printf " %-5s *Numbers; /* array of integer values */\n", number; 8aae38d10SBaptiste Daroussin print " char **Strings; /* array of string offsets */" 9aae38d10SBaptiste Daroussin print "" 10aae38d10SBaptiste Daroussin print "#if NCURSES_XNAMES" 11aae38d10SBaptiste Daroussin print " char *ext_str_table; /* pointer to extended string table */" 12aae38d10SBaptiste Daroussin print " char **ext_Names; /* corresponding names */" 13aae38d10SBaptiste Daroussin print "" 14aae38d10SBaptiste Daroussin print " unsigned short num_Booleans;/* count total Booleans */"; 15aae38d10SBaptiste Daroussin print " unsigned short num_Numbers; /* count total Numbers */"; 16aae38d10SBaptiste Daroussin print " unsigned short num_Strings; /* count total Strings */"; 17aae38d10SBaptiste Daroussin print "" 18aae38d10SBaptiste Daroussin print " unsigned short ext_Booleans;/* count extensions to Booleans */"; 19aae38d10SBaptiste Daroussin print " unsigned short ext_Numbers; /* count extensions to Numbers */"; 20aae38d10SBaptiste Daroussin print " unsigned short ext_Strings; /* count extensions to Strings */"; 21aae38d10SBaptiste Daroussin print "#endif /* NCURSES_XNAMES */" 22aae38d10SBaptiste Daroussin print "" 23aae38d10SBaptiste Daroussin printf "} TERMTYPE%s;\n", suffix; 24aae38d10SBaptiste Daroussin} 250e3d5408SPeter WemmBEGIN { 26aae38d10SBaptiste Daroussin lcurl = "{"; 27aae38d10SBaptiste Daroussin rcurl = "}"; 280e3d5408SPeter Wemm print "/****************************************************************************" 29*21817992SBaptiste Daroussin print " * Copyright 2018-2021,2023 Thomas E. Dickey *" 30e1865124SBaptiste Daroussin print " * Copyright 1998-2013,2017 Free Software Foundation, Inc. *" 310e3d5408SPeter Wemm print " * *" 320e3d5408SPeter Wemm print " * Permission is hereby granted, free of charge, to any person obtaining a *" 330e3d5408SPeter Wemm print " * copy of this software and associated documentation files (the *" 341759abf3SPeter Wemm print " * \"Software\"), to deal in the Software without restriction, including *" 350e3d5408SPeter Wemm print " * without limitation the rights to use, copy, modify, merge, publish, *" 360e3d5408SPeter Wemm print " * distribute, distribute with modifications, sublicense, and/or sell *" 370e3d5408SPeter Wemm print " * copies of the Software, and to permit persons to whom the Software is *" 380e3d5408SPeter Wemm print " * furnished to do so, subject to the following conditions: *" 390e3d5408SPeter Wemm print " * *" 400e3d5408SPeter Wemm print " * The above copyright notice and this permission notice shall be included *" 410e3d5408SPeter Wemm print " * in all copies or substantial portions of the Software. *" 420e3d5408SPeter Wemm print " * *" 431759abf3SPeter Wemm print " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS *" 440e3d5408SPeter Wemm print " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *" 450e3d5408SPeter Wemm print " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *" 460e3d5408SPeter Wemm print " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *" 470e3d5408SPeter Wemm print " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *" 480e3d5408SPeter Wemm print " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *" 490e3d5408SPeter Wemm print " * THE USE OR OTHER DEALINGS IN THE SOFTWARE. *" 500e3d5408SPeter Wemm print " * *" 510e3d5408SPeter Wemm print " * Except as contained in this notice, the name(s) of the above copyright *" 520e3d5408SPeter Wemm print " * holders shall not be used in advertising or otherwise to promote the *" 530e3d5408SPeter Wemm print " * sale, use or other dealings in this Software without prior written *" 540e3d5408SPeter Wemm print " * authorization. *" 550e3d5408SPeter Wemm print " ****************************************************************************/" 560e3d5408SPeter Wemm print "" 570e3d5408SPeter Wemm print "/****************************************************************************/" 580e3d5408SPeter Wemm print "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 */" 590e3d5408SPeter Wemm print "/* and: Eric S. Raymond <esr@snark.thyrsus.com> */" 604a1a9510SRong-En Fan print "/* and: Thomas E. Dickey 1995-on */" 610e3d5408SPeter Wemm print "/****************************************************************************/" 620e3d5408SPeter Wemm print "" 63*21817992SBaptiste Daroussin print "/* $Id: MKterm.h.awk.in,v 1.85 2023/04/23 19:15:36 tom Exp $ */" 640e3d5408SPeter Wemm print "" 650e3d5408SPeter Wemm print "/*" 660e3d5408SPeter Wemm print "** term.h -- Definition of struct term" 670e3d5408SPeter Wemm print "*/" 680e3d5408SPeter Wemm print "" 697a69bbfbSPeter Wemm print "#ifndef NCURSES_TERM_H_incl" 707a69bbfbSPeter Wemm print "#define NCURSES_TERM_H_incl 1" 710e3d5408SPeter Wemm print "" 720e3d5408SPeter Wemm print "#undef NCURSES_VERSION" 730e3d5408SPeter Wemm print "#define NCURSES_VERSION \"@NCURSES_MAJOR@.@NCURSES_MINOR@\"" 740e3d5408SPeter Wemm print "" 757a69bbfbSPeter Wemm print "#include <ncurses_dll.h>" 767a69bbfbSPeter Wemm print "" 770e3d5408SPeter Wemm print "#ifdef __cplusplus" 78aae38d10SBaptiste Daroussin printf "extern \"C\" %s\n", lcurl; 790e3d5408SPeter Wemm print "#endif" 800e3d5408SPeter Wemm print "" 810e3d5408SPeter Wemm print "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H" 8239f2269fSPeter Wemm print " * definition (based on the system for which this was configured)." 830e3d5408SPeter Wemm print " */" 840e3d5408SPeter Wemm print "" 857a656419SBaptiste Daroussin print "#ifndef __NCURSES_H" 867a656419SBaptiste Daroussin print "" 877a656419SBaptiste Daroussin print "typedef struct screen SCREEN;" 887a656419SBaptiste Daroussin print "" 897a656419SBaptiste Daroussin print "#if @NCURSES_SP_FUNCS@" 907a656419SBaptiste Daroussin print "#undef NCURSES_SP_FUNCS" 917a656419SBaptiste Daroussin print "#define NCURSES_SP_FUNCS @NCURSES_PATCH@" 927a656419SBaptiste Daroussin print "#undef NCURSES_SP_NAME" 937a656419SBaptiste Daroussin print "#define NCURSES_SP_NAME(name) name##_sp" 947a656419SBaptiste Daroussin print "" 957a656419SBaptiste Daroussin print "/* Define the sp-funcs helper function */" 967a656419SBaptiste Daroussin print "#undef NCURSES_SP_OUTC" 977a656419SBaptiste Daroussin print "#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)" 987a656419SBaptiste Daroussin print "typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);" 997a656419SBaptiste Daroussin print "#endif" 1007a656419SBaptiste Daroussin print "" 1017a656419SBaptiste Daroussin print "#endif /* __NCURSES_H */" 1027a656419SBaptiste Daroussin print "" 1030e3d5408SPeter Wemm print "#undef NCURSES_CONST" 1040e3d5408SPeter Wemm print "#define NCURSES_CONST @NCURSES_CONST@" 1050e3d5408SPeter Wemm print "" 1064a1a9510SRong-En Fan print "#undef NCURSES_SBOOL" 1074a1a9510SRong-En Fan print "#define NCURSES_SBOOL @NCURSES_SBOOL@" 1084a1a9510SRong-En Fan print "" 10973f0a83dSXin LI print "#undef NCURSES_USE_DATABASE" 11073f0a83dSXin LI print "#define NCURSES_USE_DATABASE @NCURSES_USE_DATABASE@" 11173f0a83dSXin LI print "" 11273f0a83dSXin LI print "#undef NCURSES_USE_TERMCAP" 11373f0a83dSXin LI print "#define NCURSES_USE_TERMCAP @NCURSES_USE_TERMCAP@" 11473f0a83dSXin LI print "" 1150e3d5408SPeter Wemm print "#undef NCURSES_XNAMES" 1160e3d5408SPeter Wemm print "#define NCURSES_XNAMES @NCURSES_XNAMES@" 1170e3d5408SPeter Wemm print "" 1180e3d5408SPeter Wemm print "/* We will use these symbols to hide differences between" 1190e3d5408SPeter Wemm print " * termios/termio/sgttyb interfaces." 1200e3d5408SPeter Wemm print " */" 1210e3d5408SPeter Wemm print "#undef TTY" 1220e3d5408SPeter Wemm print "#undef SET_TTY" 1230e3d5408SPeter Wemm print "#undef GET_TTY" 1240e3d5408SPeter Wemm print "" 12539f2269fSPeter Wemm print "/* Assume POSIX termio if we have the header and function */" 1264a1a9510SRong-En Fan print "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */" 1274a1a9510SRong-En Fan print "#if @HAVE_TERMIOS_H@ && @HAVE_TCGETATTR@" 1280e3d5408SPeter Wemm print "" 1290e3d5408SPeter Wemm print "#undef TERMIOS" 1300e3d5408SPeter Wemm print "#define TERMIOS 1" 1310e3d5408SPeter Wemm print "" 1320e3d5408SPeter Wemm print "#include <termios.h>" 1330e3d5408SPeter Wemm print "#define TTY struct termios" 1340e3d5408SPeter Wemm print "" 1350e3d5408SPeter Wemm print "#else /* !HAVE_TERMIOS_H */" 1360e3d5408SPeter Wemm print "" 1374a1a9510SRong-En Fan print "/* #if HAVE_TERMIO_H */" 1384a1a9510SRong-En Fan print "#if @HAVE_TERMIO_H@" 1390e3d5408SPeter Wemm print "" 1400e3d5408SPeter Wemm print "#undef TERMIOS" 1410e3d5408SPeter Wemm print "#define TERMIOS 1" 1420e3d5408SPeter Wemm print "" 1430e3d5408SPeter Wemm print "#include <termio.h>" 1440e3d5408SPeter Wemm print "#define TTY struct termio" 1450e3d5408SPeter Wemm print "" 1460e3d5408SPeter Wemm print "#else /* !HAVE_TERMIO_H */" 1470e3d5408SPeter Wemm print "" 1487a656419SBaptiste Daroussin print "#if (defined(_WIN32) || defined(_WIN64))" 1497a656419SBaptiste Daroussin print "#if @EXP_WIN32_DRIVER@" 1507a656419SBaptiste Daroussin print "#include <win32_curses.h>" 1517a656419SBaptiste Daroussin print "#define TTY struct winconmode" 1527a656419SBaptiste Daroussin print "#else" 15306bfebdeSXin LI print "#include <ncurses_mingw.h>" 15406bfebdeSXin LI print "#define TTY struct termios" 1557a656419SBaptiste Daroussin print "#endif" 15606bfebdeSXin LI print "#else" 1570e3d5408SPeter Wemm print "#undef TERMIOS" 1580e3d5408SPeter Wemm print "#include <sgtty.h>" 1590e3d5408SPeter Wemm print "#include <sys/ioctl.h>" 1600e3d5408SPeter Wemm print "#define TTY struct sgttyb" 16106bfebdeSXin LI print "#endif /* MINGW32 */" 1620e3d5408SPeter Wemm print "#endif /* HAVE_TERMIO_H */" 1630e3d5408SPeter Wemm print "" 1640e3d5408SPeter Wemm print "#endif /* HAVE_TERMIOS_H */" 1650e3d5408SPeter Wemm print "" 1660e3d5408SPeter Wemm print "#ifdef TERMIOS" 1670e3d5408SPeter Wemm print "#define GET_TTY(fd, buf) tcgetattr(fd, buf)" 1680e3d5408SPeter Wemm print "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)" 1697a656419SBaptiste Daroussin print "#elif @EXP_WIN32_DRIVER@ && (defined(_WIN32) || defined(_WIN64))" 1707a656419SBaptiste Daroussin print "#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)" 1717a656419SBaptiste Daroussin print "#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)" 1720e3d5408SPeter Wemm print "#else" 1730e3d5408SPeter Wemm print "#define GET_TTY(fd, buf) gtty(fd, buf)" 1740e3d5408SPeter Wemm print "#define SET_TTY(fd, buf) stty(fd, buf)" 1750e3d5408SPeter Wemm print "#endif" 1760e3d5408SPeter Wemm print "" 177aae38d10SBaptiste Daroussin print "#ifndef GCC_NORETURN" 178aae38d10SBaptiste Daroussin print "#define GCC_NORETURN /* nothing */" 179aae38d10SBaptiste Daroussin print "#endif" 180aae38d10SBaptiste Daroussin print "" 1810e3d5408SPeter Wemm print "#define NAMESIZE 256" 1820e3d5408SPeter Wemm print "" 183aae38d10SBaptiste Daroussin print "/* The cast works because TERMTYPE is the first data in TERMINAL */" 184aae38d10SBaptiste Daroussin print "#define CUR ((TERMTYPE *)(cur_term))->" 1850e3d5408SPeter Wemm print "" 1860e3d5408SPeter Wemm} 1870e3d5408SPeter Wemm 1880e3d5408SPeter Wemm$2 == "%%-STOP-HERE-%%" { 1890e3d5408SPeter Wemm print "" 1900e3d5408SPeter Wemm printf "#define BOOLWRITE %d\n", BoolCount 1910e3d5408SPeter Wemm printf "#define NUMWRITE %d\n", NumberCount 1920e3d5408SPeter Wemm printf "#define STRWRITE %d\n", StringCount 1930e3d5408SPeter Wemm print "" 1940e3d5408SPeter Wemm print "/* older synonyms for some capabilities */" 1950e3d5408SPeter Wemm print "#define beehive_glitch no_esc_ctlc" 1960e3d5408SPeter Wemm print "#define teleray_glitch dest_tabs_magic_smso" 197aae38d10SBaptiste Daroussin print "" 198aae38d10SBaptiste Daroussin print "/* HPUX-11 uses this name rather than the standard one */" 199aae38d10SBaptiste Daroussin print "#ifndef micro_char_size" 2000e3d5408SPeter Wemm print "#define micro_char_size micro_col_size" 201aae38d10SBaptiste Daroussin print "#endif" 2020e3d5408SPeter Wemm print "" 2030e3d5408SPeter Wemm print "#ifdef __INTERNAL_CAPS_VISIBLE" 2040e3d5408SPeter Wemm} 2050e3d5408SPeter Wemm 2060e3d5408SPeter Wemm/^#/ { next; } 2070e3d5408SPeter Wemm 208aae38d10SBaptiste Daroussin/^used_by/ { next ; } 209aae38d10SBaptiste Daroussin/^userdef/ { next ; } 210aae38d10SBaptiste Daroussin 211aae38d10SBaptiste Daroussin$1 == "acs_chars" { 212aae38d10SBaptiste Daroussin acsindex = StringCount; 213aae38d10SBaptiste Daroussin} 21415589c42SPeter Wemm 2150e3d5408SPeter Wemm$3 == "bool" { 2160e3d5408SPeter Wemm printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++ 2170e3d5408SPeter Wemm} 2180e3d5408SPeter Wemm 2190e3d5408SPeter Wemm$3 == "num" { 2200e3d5408SPeter Wemm printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++ 2210e3d5408SPeter Wemm} 2220e3d5408SPeter Wemm 2230e3d5408SPeter Wemm$3 == "str" { 2240e3d5408SPeter Wemm printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++ 2250e3d5408SPeter Wemm} 2260e3d5408SPeter Wemm 2270e3d5408SPeter WemmEND { 2280e3d5408SPeter Wemm print "#endif /* __INTERNAL_CAPS_VISIBLE */" 2290e3d5408SPeter Wemm print "" 2300e3d5408SPeter Wemm print "" 2310e3d5408SPeter Wemm print "/*" 2320e3d5408SPeter Wemm print " * Predefined terminfo array sizes" 2330e3d5408SPeter Wemm print " */" 2340e3d5408SPeter Wemm printf "#define BOOLCOUNT %d\n", BoolCount 2350e3d5408SPeter Wemm printf "#define NUMCOUNT %d\n", NumberCount 2360e3d5408SPeter Wemm printf "#define STRCOUNT %d\n", StringCount 2370e3d5408SPeter Wemm print "" 23815589c42SPeter Wemm print "/* used by code for comparing entries */" 23915589c42SPeter Wemm print "#define acs_chars_index ", acsindex 24015589c42SPeter Wemm print "" 241aae38d10SBaptiste Daroussin declare_termtype("short",""); 2420e3d5408SPeter Wemm print "" 243aae38d10SBaptiste Daroussin print "/*" 244aae38d10SBaptiste Daroussin print " * The only reason these structures are visible is for read-only use." 245aae38d10SBaptiste Daroussin print " * Programs which modify the data are not, never were, portable across" 246aae38d10SBaptiste Daroussin print " * curses implementations." 247*21817992SBaptiste Daroussin print " *" 248*21817992SBaptiste Daroussin print " * The first field in TERMINAL is used in macros." 249*21817992SBaptiste Daroussin print " * The remaining fields are private." 250aae38d10SBaptiste Daroussin print " */" 251aae38d10SBaptiste Daroussin print "#ifdef NCURSES_INTERNALS" 2520e3d5408SPeter Wemm print "" 253*21817992SBaptiste Daroussin print "#undef TERMINAL" 254*21817992SBaptiste Daroussin print "#define TERMINAL struct term" 255*21817992SBaptiste Daroussin print "TERMINAL;" 256*21817992SBaptiste Daroussin print "" 257aae38d10SBaptiste Daroussin if (@NCURSES_EXT_COLORS@) { 258aae38d10SBaptiste Daroussin declare_termtype("int","2"); 259aae38d10SBaptiste Daroussin } else { 260*21817992SBaptiste Daroussin print "#undef TERMTYPE2" 261*21817992SBaptiste Daroussin print "#define TERMTYPE2 TERMTYPE" 262aae38d10SBaptiste Daroussin } 263*21817992SBaptiste Daroussin print "#else" 2640e3d5408SPeter Wemm print "" 2650e3d5408SPeter Wemm print "typedef struct term { /* describe an actual terminal */" 2660e3d5408SPeter Wemm print " TERMTYPE type; /* terminal type description */" 2670e3d5408SPeter Wemm print "} TERMINAL;" 268*21817992SBaptiste Daroussin print "" 269aae38d10SBaptiste Daroussin print "#endif /* NCURSES_INTERNALS */" 270aae38d10SBaptiste Daroussin print "" 2710e3d5408SPeter Wemm print "" 27206bfebdeSXin LI print "#if @BROKEN_LINKER@ && !@cf_cv_enable_reentrant@" 27306bfebdeSXin LI print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 27406bfebdeSXin LI print "#elif @cf_cv_enable_reentrant@" 2755d08fb1fSRong-En Fan print "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);" 27606bfebdeSXin LI print "#define cur_term NCURSES_PUBLIC_VAR(cur_term())" 27706bfebdeSXin LI print "#else" 27806bfebdeSXin LI print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" 27906bfebdeSXin LI print "#endif" 28006bfebdeSXin LI print "" 28106bfebdeSXin LI print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@" 2825ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);" 2835ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);" 2845ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);" 2855ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);" 2865ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);" 2875ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);" 2885ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);" 2895ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);" 2905ca44d1cSRong-En Fan print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);" 2910e3d5408SPeter Wemm print "" 2925ca44d1cSRong-En Fan print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())" 2935ca44d1cSRong-En Fan print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())" 2945ca44d1cSRong-En Fan print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())" 2955ca44d1cSRong-En Fan print "#define numnames NCURSES_PUBLIC_VAR(numnames())" 2965ca44d1cSRong-En Fan print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())" 2975ca44d1cSRong-En Fan print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())" 2985ca44d1cSRong-En Fan print "#define strnames NCURSES_PUBLIC_VAR(strnames())" 2995ca44d1cSRong-En Fan print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())" 3005ca44d1cSRong-En Fan print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())" 3010e3d5408SPeter Wemm print "" 3020e3d5408SPeter Wemm print "#else" 3030e3d5408SPeter Wemm print "" 3047a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];" 3057a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];" 3067a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];" 3077a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];" 3087a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];" 3097a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];" 3107a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];" 3117a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];" 3127a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];" 3130e3d5408SPeter Wemm print "" 3140e3d5408SPeter Wemm print "#endif" 3150e3d5408SPeter Wemm print "" 316aae38d10SBaptiste Daroussin print "/*" 317aae38d10SBaptiste Daroussin print " * These entrypoints are used only by the ncurses utilities such as tic." 318aae38d10SBaptiste Daroussin print " */" 319aae38d10SBaptiste Daroussin print "#ifdef NCURSES_INTERNALS" 320aae38d10SBaptiste Daroussin print "" 3217a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);" 322aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);" 323aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);" 324aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);" 3257a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);" 3267a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);" 3277a656419SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);" 328aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);" 329aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);" 330aae38d10SBaptiste Daroussin print "" 331*21817992SBaptiste Daroussin print "#endif /* NCURSES_INTERNALS */" 332*21817992SBaptiste Daroussin print "" 333aae38d10SBaptiste Daroussin print "/*" 334aae38d10SBaptiste Daroussin print " * Normal entry points" 335aae38d10SBaptiste Daroussin print " */" 3367a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);" 3377a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);" 3380e3d5408SPeter Wemm print "" 3390e3d5408SPeter Wemm print "/* miscellaneous entry points */" 3407a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);" 341aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);" 3420e3d5408SPeter Wemm print "" 3430e3d5408SPeter Wemm print "/* terminfo entry points, also declared in curses.h */" 3440e3d5408SPeter Wemm print "#if !defined(__NCURSES_H)" 345aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tigetstr (const char *);" 3467a69bbfbSPeter Wemm print "extern NCURSES_EXPORT_VAR(char) ttytype[];" 3477a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) putp (const char *);" 348aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tigetflag (const char *);" 349aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tigetnum (const char *);" 3504a1a9510SRong-En Fan print "" 3514a1a9510SRong-En Fan print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */" 352aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tparm (const char *, ...); /* special */" 3534a1a9510SRong-En Fan print "#else" 354aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long); /* special */" 3554a1a9510SRong-En Fan print "#endif" 3564a1a9510SRong-En Fan print "" 35706bfebdeSXin LI print "extern NCURSES_EXPORT(char *) tiparm (const char *, ...); /* special */" 358*21817992SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tiparm_s (int, int, const char *, ...); /* special */" 359*21817992SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tiscan_s (int *, int *, const char *); /* special */" 36006bfebdeSXin LI print "" 3610e3d5408SPeter Wemm print "#endif /* __NCURSES_H */" 3620e3d5408SPeter Wemm print "" 3630e3d5408SPeter Wemm print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 3647a69bbfbSPeter Wemm print "#if !defined(NCURSES_TERMCAP_H_incl)" 365aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);" 3667a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);" 3677a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) tgetent (char *, const char *);" 368aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tgetflag (const char *);" 369aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) tgetnum (const char *);" 3707a69bbfbSPeter Wemm print "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));" 3717a69bbfbSPeter Wemm print "#endif /* NCURSES_TERMCAP_H_incl */" 3720e3d5408SPeter Wemm print "" 37306bfebdeSXin LI print "/*" 37406bfebdeSXin LI print " * Include curses.h before term.h to enable these extensions." 37506bfebdeSXin LI print " */" 37606bfebdeSXin LI print "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)" 37706bfebdeSXin LI print "" 378aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);" 37906bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(putp) (SCREEN*, const char *);" 380aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);" 381aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);" 38206bfebdeSXin LI print "" 38306bfebdeSXin LI print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */" 384aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...); /* special */" 38506bfebdeSXin LI print "#else" 386aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long); /* special */" 38706bfebdeSXin LI print "#endif" 38806bfebdeSXin LI print "" 38906bfebdeSXin LI print "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */" 390aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);" 39106bfebdeSXin LI print "extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);" 39206bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);" 393aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);" 394aae38d10SBaptiste Daroussin print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);" 39506bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);" 39606bfebdeSXin LI print "" 39706bfebdeSXin LI print "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);" 39806bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);" 39906bfebdeSXin LI print "" 40006bfebdeSXin LI print "extern NCURSES_EXPORT(int) NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);" 40106bfebdeSXin LI print "#endif /* NCURSES_SP_FUNCS */" 40206bfebdeSXin LI print "" 403aae38d10SBaptiste Daroussin print "/*" 404aae38d10SBaptiste Daroussin print " * Debugging features." 405aae38d10SBaptiste Daroussin print " */" 406*21817992SBaptiste Daroussin print "extern GCC_NORETURN NCURSES_EXPORT(void) exit_terminfo(int);" 407aae38d10SBaptiste Daroussin print "" 4080e3d5408SPeter Wemm print "#ifdef __cplusplus" 409aae38d10SBaptiste Daroussin printf "%s\n", rcurl; 4100e3d5408SPeter Wemm print "#endif" 4110e3d5408SPeter Wemm print "" 4127a69bbfbSPeter Wemm print "#endif /* NCURSES_TERM_H_incl */" 4130e3d5408SPeter Wemm} 414