]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - include/MKterm.h.awk.in
ncurses 6.2 - patch 20210213
[ncurses.git] / include / MKterm.h.awk.in
index 1564656b0a8f0faa914b81185dff3c746442815a..c93cdeac69719c9139db0e33c07a622ec5ae8b6d 100644 (file)
@@ -26,7 +26,8 @@ BEGIN {
        lcurl = "{";
        rcurl = "}";
        print  "/****************************************************************************"
-       print  " * Copyright (c) 1998-2017,2018 Free Software Foundation, Inc.              *"
+       print  " * Copyright 2018-2019,2020 Thomas E. Dickey                                *"
+       print  " * Copyright 1998-2013,2017 Free Software Foundation, Inc.                  *"
        print  " *                                                                          *"
        print  " * Permission is hereby granted, free of charge, to any person obtaining a  *"
        print  " * copy of this software and associated documentation files (the            *"
@@ -59,7 +60,7 @@ BEGIN {
        print  "/*    and: Thomas E. Dickey                        1995-on                  */"
        print  "/****************************************************************************/"
        print  ""
-       print  "/* $Id: MKterm.h.awk.in,v 1.68 2018/04/07 20:51:01 tom Exp $ */"
+       print  "/* $Id: MKterm.h.awk.in,v 1.78 2020/10/31 23:14:24 tom Exp $ */"
        print  ""
        print  "/*"
        print  "**      term.h -- Definition of struct term"
@@ -81,6 +82,24 @@ BEGIN {
        print  " * definition (based on the system for which this was configured)."
        print  " */"
        print  ""
+       print  "#ifndef __NCURSES_H"
+       print  ""
+       print  "typedef struct screen  SCREEN;"
+       print  ""
+       print  "#if @NCURSES_SP_FUNCS@"
+       print  "#undef  NCURSES_SP_FUNCS"
+       print  "#define NCURSES_SP_FUNCS @NCURSES_PATCH@"
+       print  "#undef  NCURSES_SP_NAME"
+       print  "#define NCURSES_SP_NAME(name) name##_sp"
+       print  ""
+       print  "/* Define the sp-funcs helper function */"
+       print  "#undef  NCURSES_SP_OUTC"
+       print  "#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)"
+       print  "typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);"
+       print  "#endif"
+       print  ""
+       print  "#endif /* __NCURSES_H */"
+       print  ""
        print  "#undef  NCURSES_CONST"
        print  "#define NCURSES_CONST @NCURSES_CONST@"
        print  ""
@@ -126,9 +145,14 @@ BEGIN {
        print  ""
        print  "#else /* !HAVE_TERMIO_H */"
        print  ""
-       print  "#if __MINGW32__"
-       print  "#  include <ncurses_mingw.h>"
-       print  "#  define TTY struct termios"
+       print  "#if (defined(_WIN32) || defined(_WIN64))"
+       print  "#if @EXP_WIN32_DRIVER@"
+       print  "#include <win32_curses.h>"
+       print  "#define TTY struct winconmode"
+       print  "#else"
+       print  "#include <ncurses_mingw.h>"
+       print  "#define TTY struct termios"
+       print  "#endif"
        print  "#else"
        print  "#undef TERMIOS"
        print  "#include <sgtty.h>"
@@ -142,11 +166,18 @@ BEGIN {
        print  "#ifdef TERMIOS"
        print  "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
        print  "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
+       print  "#elif @EXP_WIN32_DRIVER@ && (defined(_WIN32) || defined(_WIN64))"
+       print  "#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)"
+       print  "#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)"
        print  "#else"
        print  "#define GET_TTY(fd, buf) gtty(fd, buf)"
        print  "#define SET_TTY(fd, buf) stty(fd, buf)"
        print  "#endif"
        print  ""
+       print  "#ifndef GCC_NORETURN"
+       print  "#define GCC_NORETURN /* nothing */"
+       print  "#endif"
+       print  ""
        print  "#define NAMESIZE 256"
        print  ""
        print  "/* The cast works because TERMTYPE is the first data in TERMINAL */"
@@ -163,14 +194,19 @@ $2 == "%%-STOP-HERE-%%" {
        print  "/* older synonyms for some capabilities */"
        print  "#define beehive_glitch  no_esc_ctlc"
        print  "#define teleray_glitch  dest_tabs_magic_smso"
+       print  ""
+       print  "/* HPUX-11 uses this name rather than the standard one */"
+       print  "#ifndef micro_char_size"
        print  "#define micro_char_size micro_col_size"
+       print  "#endif"
        print  ""
        print  "#ifdef __INTERNAL_CAPS_VISIBLE"
 }
 
-/^#/ {
-       next;
-}
+/^#/ { next; }
+
+/^used_by/ { next ; }
+/^userdef/ { next ; }
 
 $1 == "acs_chars" {
        acsindex = StringCount;
@@ -288,17 +324,20 @@ END {
        print  "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);"
        print  "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
        print  "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
+       print  "extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);"
        print  ""
        print  "#endif /* NCURSES_INTERNALS */"
        print  ""
        print  ""
        print  "/*"
-       print  " * These entrypoints are used by tack."
+       print  " * These entrypoints are used by tack 1.07."
        print  " */"
        print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
        print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
        print  ""
-       print  "/* Normal entry points */"
+       print  "/*"
+       print  " * Normal entry points"
+       print  " */"
        print  "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
        print  "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
        print  ""
@@ -318,7 +357,6 @@ END {
        print  "extern NCURSES_EXPORT(char *) tparm (const char *, ...);        /* special */"
        print  "#else"
        print  "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long);       /* special */"
-       print  "extern NCURSES_EXPORT(char *) tparm_varargs (const char *, ...);        /* special */"
        print  "#endif"
        print  ""
        print  "extern NCURSES_EXPORT(char *) tiparm (const char *, ...);               /* special */"
@@ -349,7 +387,6 @@ END {
        print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...);     /* special */"
        print  "#else"
        print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long);    /* special */"
-       print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm_varargs) (SCREEN*, const char *, ...);     /* special */"
        print  "#endif"
        print  ""
        print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
@@ -366,6 +403,11 @@ END {
        print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
        print  "#endif /* NCURSES_SP_FUNCS */"
        print  ""
+       print  "/*"
+       print  " * Debugging features."
+       print  " */"
+       print  "extern NCURSES_EXPORT(void)    exit_terminfo(int) GCC_NORETURN;"
+       print  ""
        print  "#ifdef __cplusplus"
        printf "%s\n", rcurl;
        print  "#endif"