]> ncurses.scripts.mit.edu Git - ncurses.git/commitdiff
ncurses 5.7 - patch 20090627
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 28 Jun 2009 01:00:34 +0000 (01:00 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 28 Jun 2009 01:00:34 +0000 (01:00 +0000)
+ update llib-lncurses[wt] to use sp-funcs.
+ various code-fixes to build/work with --disable-macros configure
  option.
+ add several new files from Juergen Pfeifer which will be used when
  integration of "sp-funcs" is complete.  This includes a port to
  MinGW.

23 files changed:
MANIFEST
Makefile.in
NEWS
README.MinGW [new file with mode: 0644]
dist.mk
form/fty_generic.c [new file with mode: 0644]
include/nc_mingw.h [new file with mode: 0644]
include/ncurses_mingw.h [new file with mode: 0644]
mk-dlls.sh [new file with mode: 0644]
ncurses/Makefile.in
ncurses/README
ncurses/base/lib_driver.c [new file with mode: 0644]
ncurses/base/lib_set_term.c
ncurses/curses.priv.h
ncurses/llib-lncurses
ncurses/llib-lncursest
ncurses/llib-lncursestw [new file with mode: 0644]
ncurses/llib-lncursesw
ncurses/tinfo/tinfo_driver.c [new file with mode: 0644]
ncurses/tty/MKexpanded.sh
ncurses/tty/tty_update.c
ncurses/win32con/gettimeofday.c [new file with mode: 0644]
ncurses/win32con/win_driver.c [new file with mode: 0644]

index 2eaa043754a82e3e82af4e04814f6e11b252432e..948dc80347d744e60dd49e0158c5ac83c31a285f 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
 ./Makefile.os2
 ./NEWS
 ./README
+./README.MinGW
 ./README.emx
 ./TO-DO
 ./aclocal.m4
 ./form/fty_alnum.c
 ./form/fty_alpha.c
 ./form/fty_enum.c
+./form/fty_generic.c
 ./form/fty_int.c
 ./form/fty_ipv4.c
 ./form/fty_num.c
 ./include/hashed_db.h
 ./include/headers
 ./include/nc_alloc.h
+./include/nc_mingw.h
 ./include/nc_panel.h
 ./include/nc_tparm.h
 ./include/ncurses_cfg.hin
 ./include/ncurses_defs
-./include/ncurses_dll.h
+./include/ncurses_dll.h.in
+./include/ncurses_mingw.h
 ./include/term_entry.h
 ./include/termcap.h.in
 ./include/tic.h
 ./mk-0th.awk
 ./mk-1st.awk
 ./mk-2nd.awk
+./mk-dlls.sh
 ./mk-hdr.awk
 ./mkdirs.sh
 ./ncurses/Makefile.in
 ./ncurses/base/lib_delch.c
 ./ncurses/base/lib_delwin.c
 ./ncurses/base/lib_dft_fgbg.c
+./ncurses/base/lib_driver.c
 ./ncurses/base/lib_echo.c
 ./ncurses/base/lib_endwin.c
 ./ncurses/base/lib_erase.c
 ./ncurses/fifo_defs.h
 ./ncurses/llib-lncurses
 ./ncurses/llib-lncursest
+./ncurses/llib-lncursestw
 ./ncurses/llib-lncursesw
 ./ncurses/modules
 ./ncurses/tinfo/MKcaptab.awk
 ./ncurses/tinfo/read_termcap.c
 ./ncurses/tinfo/setbuf.c
 ./ncurses/tinfo/strings.c
+./ncurses/tinfo/tinfo_driver.c
 ./ncurses/tinfo/trim_sgr0.c
 ./ncurses/tinfo/use_screen.c
 ./ncurses/tinfo/write_entry.c
 ./ncurses/widechar/lib_vline_set.c
 ./ncurses/widechar/lib_wacs.c
 ./ncurses/widechar/lib_wunctrl.c
+./ncurses/win32con/gettimeofday.c
+./ncurses/win32con/win_driver.c
 ./panel/Makefile.in
 ./panel/headers
 ./panel/llib-lpanel
index cb8cd422cc49b50a3a6ca7af404e49da6c02d161..ee6596b8c2a6b3bc19e23eb02edd2d86b9be6bd4 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.24 2005/01/29 19:30:06 tom Exp $
+# $Id: Makefile.in,v 1.25 2008/11/16 00:19:59 juergen Exp $
 ##############################################################################
 # Copyright (c) 1998-2004,2005 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -83,6 +83,9 @@ preinstall :
                fgrep NCURSES_VERSION $(includedir)/curses.h >/dev/null || \
                echo '** Will overwrite non-ncurses curses.h'
 
+dlls:  libs
+       sh mk-dlls.sh
+
 # Put the common rules here so that we can easily construct the list of
 # directories to visit.
 all \
@@ -95,3 +98,4 @@ sources \
 tags \
 uninstall \
 install ::
+
diff --git a/NEWS b/NEWS
index 70fd5511c5a53449c37b269cd9d4757bcf6c5f8f..848a07d777dedeab2c8b415eb8d2f68a7ff43049 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1396 2009/06/13 22:13:33 tom Exp $
+-- $Id: NEWS,v 1.1398 2009/06/27 20:59:09 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,14 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20090627
+       + update llib-lncurses[wt] to use sp-funcs.
+       + various code-fixes to build/work with --disable-macros configure
+         option.
+       + add several new files from Juergen Pfeifer which will be used when
+         integration of "sp-funcs" is complete.  This includes a port to
+         MinGW.
+
 20090613
        + move definition for NCURSES_WRAPPED_VAR back to ncurses_dll.h, to
          make includes of term.h without curses.h work (report by "Nix").
diff --git a/README.MinGW b/README.MinGW
new file mode 100644 (file)
index 0000000..6c0b9d6
--- /dev/null
@@ -0,0 +1,79 @@
+-------------------------------------------------------------------------------
+-- Copyright (c) 2008           Free Software Foundation, Inc.               --
+--                                                                           --
+-- Permission is hereby granted, free of charge, to any person obtaining a   --
+-- copy of this software and associated documentation files (the             --
+-- "Software"), to deal in the Software without restriction, including       --
+-- without limitation the rights to use, copy, modify, merge, publish,       --
+-- distribute, distribute with modifications, sublicense, and/or sell copies --
+-- of the Software, and to permit persons to whom the Software is furnished  --
+-- to do so, subject to the following conditions:                            --
+--                                                                           --
+-- The above copyright notice and this permission notice shall be included   --
+-- in all copies or substantial portions of the Software.                    --
+--                                                                           --
+-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   --
+-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                --
+-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN --
+-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,       --
+-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR     --
+-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE --
+-- USE OR OTHER DEALINGS IN THE SOFTWARE.                                    --
+--                                                                           --
+-- Except as contained in this notice, the name(s) of the above copyright    --
+-- holders shall not be used in advertising or otherwise to promote the      --
+-- sale, use or other dealings in this Software without prior written        --
+-- authorization.                                                            --
+-------------------------------------------------------------------------------
+-- $Id: README.MinGW,v 1.1 2008/12/14 19:22:16 juergen Exp $
+-- Author: Juergen Pfeifer
+-------------------------------------------------------------------------------
+
+This is work in progress, but it's in an state where one can see it
+works at least on the Windows Console.
+
+To build ncurses for native Windows, you need the MinGW toolchain from
+http://www.mingw.org
+
+You should install also the MSYS package, so that you've a shell environment
+that allows you to run the scripts, especially configure etc.
+
+Using MinGW is a pragmatic decision, it's the easiest way to port this
+heavily UNIX based sourcebase to native Windows. The goal is of course
+to provide the includes, libraries and DLLs to be used with the more
+common traditional development environments on Windows, mainly with
+Microsoft Visual Studio.
+
+If you start a bash from the MSYS environment, please make sure that the
+Microsoft Development tools are in your PATH right after the MinGW
+tools. The LIB.EXE tool is the only one needed. You need this only if 
+you want to build DLLs that work with native Windows programs. If you 
+don't have any Microsoft  Development tools on your machine, consider 
+at least to get the free "Visual C++ 2008 Express Edition". 
+It contains the LIB.EXE tool. You may also use this compiler to test 
+writing native Windows programs using the ncurses DLLs without using 
+MinGW then for writing apps.
+
+Please unset the TERM environment variable, so that the Console driver
+gets activated.
+
+This code requires WindowsNT 5.1 or better, which means on the client
+Windows XP or better, on the server Windows Server 2003 or better.
+
+In order to build the DLLs, you must call
+
+   make dlls
+
+A lot is still TODO, e.g.:
+
+  - Mouse support for the Console
+  - Wide Character support
+    The Win32Con driver should actually only use Unicode in the
+    future.
+  - Thread support (locking)
+  - A GUI console driver
+  - Support for Terminals attached via a serial port (via terminfo)
+  - Support for networked Terminal connections (via terminfo)
+
+To support terminfo, we need to have an ioctl() simulation for the
+serial and networked Terminals.
diff --git a/dist.mk b/dist.mk
index 18b1d1662add70b9b4dd99ee7f831acdccd18dee..4f3110dd717f5216b12da75ced972c7a4db97a65 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.705 2009/06/13 18:19:06 tom Exp $
+# $Id: dist.mk,v 1.706 2009/06/27 22:21:38 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 7
-NCURSES_PATCH = 20090613
+NCURSES_PATCH = 20090627
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
diff --git a/form/fty_generic.c b/form/fty_generic.c
new file mode 100644 (file)
index 0000000..83b5822
--- /dev/null
@@ -0,0 +1,287 @@
+/****************************************************************************
+ * Copyright (c) 2008 Free Software Foundation, Inc.                        *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/***************************************************************************
+*                                                                          *
+*  Author : Juergen Pfeifer                                                *
+*                                                                          *
+***************************************************************************/
+
+#include "form.priv.h"
+
+MODULE_ID("$Id: fty_generic.c,v 1.1 2008/11/18 08:50:04 juergen Exp $")
+
+/*
+ * This is not a full implementation of a field type, but adds some
+ * support for higher level languages with some restrictions to interop
+ * with C language. Especially the collection of arguments for the
+ * various fieldtypes is not based on the vararg C mechanism, but on a
+ * iterator based callback mechanism that allowes the high level language
+ * to provide the arguments as a structure. Most languages have mechanisms
+ * to layout structures so that they can be passed to C.
+ * The languages can register a new generic fieldtype dynamically and store
+ * a handle (key) to the calling object as an argument. Together with that
+ * it can register a freearg callback, so that the high level language
+ * remains in control of the memory management of the arguments they pass.
+ * The design idea is, that the high-level language - typically a OO
+ * language like C# or Java, uses it's own dispatching mechanisms
+ * (polymorphism) to call the proper check routines responsible for the
+ * argument type. So these language implement typically only one generic
+ * fieldtype they register with the forms library using this call.
+ *
+ * For that purpose we have extended the fieldtype struc by a new element
+ * that gets the arguments from a single struct passed by the caller. 
+ * 
+ */
+
+
+/*---------------------------------------------------------------------------
+|   Facility      :  libnform  
+|   Function      :  static void *Generic_This_Type( void * arg )
+|   
+|   Description   :  We interpret the passed arg just as a handle the
+|                    calling language uses to keep track of its allocated
+|                    argument structures. We can simply copy it back.
+|
+|   Return Values :  Pointer to argument structure
++--------------------------------------------------------------------------*/
+static void *
+Generic_This_Type(void *arg)
+{
+  return (arg);
+}
+
+/*---------------------------------------------------------------------------
+|   Facility      :  libnform
+|   Function      :  FIELDTYPE *_nc_generic_fieldtype(
+|                       bool (* const field_check)(FIELD *,const void *),
+|                       bool (* const char_check) (int, const void *),
+|                      bool (*const next)(FORM*,FIELD*,const void*),
+|                      bool (*const prev)(FORM*,FIELD*,const void*),
+|                       void (*freecallback)(void*))
+|
+|   Description   :  Create a new fieldtype. The application programmer must
+|                    write a field_check and a char_check function and give
+|                    them as input to this call. A callback to allow the
+|                    release of the allocated memory must also be provided.
+|                    For generic field types, we provide some more 
+|                    information about the field as parameters.
+|
+|                    If an error occurs, errno is set to
+|                       E_BAD_ARGUMENT  - invalid arguments
+|                       E_SYSTEM_ERROR  - system error (no memory)
+|
+|   Return Values :  Fieldtype pointer or NULL if error occurred
++--------------------------------------------------------------------------*/
+NCURSES_EXPORT(FIELDTYPE *)
+_nc_generic_fieldtype(bool (*const field_check) (FORM*, FIELD *, const void *),
+                     bool (*const char_check)  (int, FORM*, FIELD*, const void *),
+                     bool (*const next)(FORM*, FIELD*,const void*),
+                     bool (*const prev)(FORM*, FIELD*,const void*),
+                     void (*freecallback)(void*))
+{
+    int code = E_SYSTEM_ERROR;
+    FIELDTYPE* res = (FIELDTYPE*)0;
+
+    T((T_CALLED("_nc_generic_fieldtype(%p,%p,%p,%p,%p)"), 
+       field_check, char_check, next, prev, freecallback));
+
+    if (field_check || char_check)
+    {
+      res = typeMalloc(FIELDTYPE,1);
+      if (res)
+      {
+       *res = *_nc_Default_FieldType; 
+       res->status |= (_HAS_ARGS | _GENERIC);
+       res->fieldcheck.gfcheck = field_check;
+       res->charcheck.gccheck  = char_check;
+       res->genericarg = Generic_This_Type;
+       res->freearg = freecallback;
+       res->enum_next.gnext = next;
+       res->enum_prev.gprev = prev;
+       code = E_OK;
+      }
+    }
+    else
+      code = E_BAD_ARGUMENT;
+
+    if (E_OK != code)
+      SET_ERROR(code);
+
+    returnFieldType(res);
+}
+
+
+/*---------------------------------------------------------------------------
+|   Facility      :  libnform  
+|   Function      :  static TypeArgument *GenericArgument(
+|                      const FIELDTYPE* typ,
+|                      int (*argiterator)(void**),
+|                      int* err)
+|   
+|   Description   :  The iterator callback must browse through all fieldtype
+|                    parameters that have an argument associated with the
+|                    type. The iterator returns 1 if the operation to get
+|                    the next element was successfull, 0 otherwise. If the
+|                    iterator could move to the next argument, it fills
+|                    the void* pointer representing the argument into the
+|                    location provided as argument to the iterator.
+|                    The err reference is used to keep track of errors.
+|
+|   Return Values :  Pointer to argument structure
++--------------------------------------------------------------------------*/
+static TypeArgument*
+GenericArgument(const FIELDTYPE *typ, 
+               int (*argiterator)(void**), int *err)
+{
+  TypeArgument *res = (TypeArgument *)0;
+
+  if (typ!=0 && (typ->status & _HAS_ARGS) != 0 && err!=0 && argiterator != 0)
+  {
+    if (typ->status & _LINKED_TYPE)
+    {
+      /* Composite fieldtypes keep track internally of their own memory */
+      TypeArgument* p = typeMalloc(TypeArgument,1);
+      if (p)
+      {
+       p->left  = GenericArgument(typ->left,  argiterator, err);
+       p->right = GenericArgument(typ->right, argiterator, err);
+       return p;
+      }
+      else
+       *err += 1;
+    }
+    else
+    {
+      assert(typ->genericarg != (void*)0);
+      if (typ->genericarg == 0)
+       *err += 1;
+      else
+       {
+         void* argp;
+         int valid = argiterator(&argp);
+         if (valid==0 || argp==0 || 
+             !(res = (TypeArgument*)typ->genericarg(argp)))
+           {
+             *err += 1;
+           }
+       }
+    }
+  }
+  return res;
+}
+
+/*---------------------------------------------------------------------------
+|   Facility      :  libnform  
+|   Function      :  int _nc_set_generic_fieldtype(
+|                      FIELD* field,
+|                      FIELDTYPE* ftyp,
+|                      int (*argiterator)(void**))
+|   
+|   Description   :  Assign the fieldtype to the field and use the iterator
+|                    mechanism to get the arguments when a check is 
+|                    performed.
+|
+|   Return Values :  E_OK if all went well
+|                    E_SYSTEM_ERROR if an error occurred
++--------------------------------------------------------------------------*/
+NCURSES_EXPORT(int)
+_nc_set_generic_fieldtype(FIELD *field,
+                         FIELDTYPE* ftyp,
+                         int (*argiterator)(void**))
+{
+  int code = E_SYSTEM_ERROR;
+  int err = 0;
+
+  if (field)
+  {
+      if (field && field->type)
+       _nc_Free_Type(field);
+
+      field->type = ftyp;
+      if (ftyp)
+      {
+       if (argiterator)
+       {
+         /* The precondition is that the iterator is reset */
+         field->arg  = (void*)GenericArgument(field->type,argiterator,&err);
+         
+         if (err)
+           {
+             _nc_Free_Argument(field->type, (TypeArgument*)(field->arg));
+             field->type = (FIELDTYPE*)0;
+             field->arg  = (void*)0;
+           }
+         else
+           {
+             code = E_OK;
+             if (field->type)
+               field->type->ref++;
+           }
+       }
+      }
+      else
+      {
+       field->arg = (void*)0;
+       code = E_OK;
+      }
+    }
+    return code;
+}
+
+/*---------------------------------------------------------------------------
+|   Facility      :  libnform  
+|   Function      :  WINDOW* _nc_form_cursor(
+|                      FORM* form,
+|                      int *pRow, int *pCol)
+|   
+|   Description   :  Get the current position of the form cursor position
+|                    We also return the field window
+|
+|   Return Values :  The fields Window or NULL on error
++--------------------------------------------------------------------------*/
+NCURSES_EXPORT(WINDOW*) 
+_nc_form_cursor(const FORM* form, int* pRow, int* pCol)
+{
+  int code = E_SYSTEM_ERROR;
+  WINDOW* res = (WINDOW*)0;
+
+  if (!(form==0 || pRow==0 || pCol==0))
+  {
+      *pRow = form->currow;
+      *pCol = form->curcol;
+      res   = form->w;
+      code  = E_OK;
+  }
+  if (code != E_OK)
+    SET_ERROR(code);
+  return res;
+}
+
+
+/* fty_generic.c ends here */
diff --git a/include/nc_mingw.h b/include/nc_mingw.h
new file mode 100644 (file)
index 0000000..a524da8
--- /dev/null
@@ -0,0 +1,59 @@
+/****************************************************************************
+ * Copyright (c) 2008,2009 Free Software Foundation, Inc.                   *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Author: Thomas Dickey, 2008-on                                           * 
+ *                                                                          *
+ ****************************************************************************/
+
+/* $Id: nc_mingw.h,v 1.1 2009/02/07 23:33:19 tom Exp $ */
+
+#ifndef NC_MINGW_H
+#define NC_MINGW_H 1
+
+#define WINVER 0x0501
+#include <windows.h>
+
+#undef sleep
+#define sleep(n) Sleep((n) * 1000)
+
+#undef gettimeofday
+#define gettimeofday(tv,tz) _nc_gettimeofday(tv,tz)
+
+#include <sys/time.h>  /* for struct timeval */
+
+extern int _nc_gettimeofday(struct timeval *, void *);
+
+#undef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY 1
+
+#define SIGHUP  1
+#define SIGKILL 9
+#define getlogin() "username"
+
+#endif /* NC_MINGW_H */
diff --git a/include/ncurses_mingw.h b/include/ncurses_mingw.h
new file mode 100644 (file)
index 0000000..4ea1dad
--- /dev/null
@@ -0,0 +1,164 @@
+/****************************************************************************
+ * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ * Author: Juergen Pfeifer, 2008-on                                         * 
+ *                                                                          *
+ ****************************************************************************/
+
+/* $Id: ncurses_mingw.h,v 1.1 2008/12/14 19:22:16 juergen Exp $ */
+
+/*
+ * This is a placholder up to now and describes what needs to be implemented
+ * to support I/O to external terminals with ncurses on the Windows OS.
+ */
+
+#if __MINGW32__
+#ifndef _NC_MINGWH
+#define _NC_MINGWH
+
+#define USE_CONSOLE_DRIVER 1
+
+#undef  TERMIOS
+#define TERMIOS 1
+
+#define InvalidHandle ((TERM_HANDLE)-1)
+#define InvalidConsoleHandle(s) ((s)==InvalidHandle)
+
+typedef unsigned char cc_t;
+typedef unsigned int  speed_t;
+typedef unsigned int  tcflag_t;
+
+#define NCCS 32
+struct termios
+{
+  tcflag_t   c_iflag;     /* input mode         */
+  tcflag_t   c_oflag;     /* output mode        */
+  tcflag_t   c_cflag;     /* control mode       */
+  tcflag_t   c_lflag;     /* local mode         */
+  cc_t       c_line;      /* line discipline    */
+  cc_t       c_cc[NCCS];  /* control characters */
+  speed_t    c_ispeed;    /* input speed        */
+  speed_t    c_ospeed;    /* c_ospeed           */
+};
+
+/* c_cc chars */
+#define VINTR     0
+#define VQUIT     1
+#define VERASE    2
+#define VKILL     3
+#define VEOF      4
+#define VTIME     5
+#define VMIN      6
+
+/* c_iflag bits */
+#define ISTRIP 0000040
+#define INLCR  0000100
+#define IGNCR  0000200
+#define ICRNL  0000400
+#define BRKINT 0000002
+#define PARMRK 0000010
+#define IXON   0002000
+#define IGNBRK 0000001
+#define IGNPAR 0000004
+#define INPCK  0000020
+#define IXOFF  0010000
+
+/* c_oflag bits */
+#define OPOST  0000001
+
+/* c_cflag bit meaning */
+#define CBAUD     0010017
+#define CSIZE     0000060
+#define CS8       0000060
+#define B0        0000000
+#define B50       0000001
+#define B75       0000002
+#define B110      0000003
+#define B134      0000004
+#define B150      0000005
+#define B200      0000006
+#define B300      0000007
+#define B600      0000010
+#define B1200     0000011
+#define B1800     0000012
+#define B2400     0000013
+#define B4800     0000014
+#define B9600     0000015
+#define CLOCAL    0004000
+#define CREAD     0000200
+#define CSTOPB    0000100
+#define HUPCL     0002000
+#define PARENB    0000400
+#define PARODD    0001000
+
+/* c_lflag bits */
+#define ECHO   0000010
+#define ECHONL 0000100
+#define ISIG   0000001
+#define IEXTEN 0100000
+#define ICANON 0000002
+#define NOFLSH 0000200
+#define ECHOE  0000020
+#define ECHOK  0000040
+
+/* tcflush() */
+#define        TCIFLUSH        0
+
+/* tcsetattr uses these */
+#define        TCSADRAIN       1
+
+/* ioctls */
+#define TCGETA         0x5405
+#define TCFLSH         0x540B
+#define TIOCGWINSZ     0x5413
+
+extern int _nc_mingw_ioctl(int fd, long int request, struct termios* arg);
+extern void _nc_set_term_driver(void* term);
+
+#ifndef cfgetospeed
+#define cfgetospeed(t) ((t)->c_cflag & CBAUD)
+#endif
+
+#ifndef tcsetattr
+#define tcsetattr(fd, cmd, arg) _nc_mingw_ioctl(fd, cmd, arg)
+#endif
+
+#ifndef tcgetattr
+#define tcgetattr(fd, arg) _nc_mingw_ioctl(fd, TCGETA, arg)
+#endif
+
+#ifndef tcflush
+#define tcflush(fd, arg) _nc_mingw_ioctl(fd, TCFLSH, arg)
+#endif
+
+#undef  ttyname
+#define ttyname(fd) NULL
+
+#endif
+#endif
diff --git a/mk-dlls.sh b/mk-dlls.sh
new file mode 100644 (file)
index 0000000..5b60fad
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh\r
+# $Id: mk-dlls.sh,v 1.1 2008/11/18 08:50:04 juergen Exp $\r
+##############################################################################\r
+# Copyright (c) 2008 Free Software Foundation, Inc.                          #\r
+#                                                                            #\r
+# Permission is hereby granted, free of charge, to any person obtaining a    #\r
+# copy of this software and associated documentation files (the "Software"), #\r
+# to deal in the Software without restriction, including without limitation  #\r
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #\r
+# with modifications, sublicense, and/or sell copies of the Software, and to #\r
+# permit persons to whom the Software is furnished to do so, subject to the  #\r
+# following conditions:                                                      #\r
+#                                                                            #\r
+# The above copyright notice and this permission notice shall be included in #\r
+# all copies or substantial portions of the Software.                        #\r
+#                                                                            #\r
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #\r
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #\r
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #\r
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #\r
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #\r
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #\r
+# DEALINGS IN THE SOFTWARE.                                                  #\r
+#                                                                            #\r
+# Except as contained in this notice, the name(s) of the above copyright     #\r
+# holders shall not be used in advertising or otherwise to promote the sale, #\r
+# use or other dealings in this Software without prior written               #\r
+# authorization.                                                             #\r
+##############################################################################\r
+#\r
+# Author: Juergen Pfeifer\r
+#\r
+# Build DLLs on MinGW\r
+#\r
+gcc -v 2>&1 | grep specs | grep mingw\r
+if [ $? -eq 1 ]; then\r
+  echo "$0 requires a mingw environment" >&2\r
+else\r
+  if [ -d lib ]; then\r
+    cf="-shared"\r
+    lf="--enable-auto-import"\r
+    pushd lib 2>&1 >/dev/null\r
+      for t in "" "t"\r
+      do\r
+        for m in "" "_g"\r
+        do  \r
+          if [ -f libncurses${t}${m}.a ]; then\r
+            f=libncurses${t}${m}.a\r
+            g=`basename $f .a | cut -c 4-`\r
+           gi=libw${g}.a\r
+           td=tmp-${g}\r
+           rm -rf "${td}"\r
+           mkdir "${td}"\r
+           cd "${td}"\r
+             ar x ../${f} `ar t ../${f}`\r
+              gcc $cf -o w${g}.dll -Wl,--out-implib,${gi} -Wl,--output-def,w${g}.def -Wl,$lf `ar t ../$f`\r
+              lib //NOLOGO /MACHINE:i386 /DEF:w${g}.def\r
+              rm -f `ar t ../$f`\r
+             mv w${g}.dll ..\r
+             mv w${g}.lib ..\r
+             mv libw${g}.a ..\r
+            cd ..\r
+           rm -rf "${td}"\r
+\r
+            for l in panel menu form\r
+            do\r
+              for f in lib${l}${t}${m}.a\r
+              do\r
+                g=`basename $f .a | cut -c 4-`\r
+               td=tmp-${g}\r
+               rm -rf "${td}"\r
+               mkdir "${td}"\r
+                echo $g\r
+               cd "${td}"\r
+                 ar x ../$f `ar t ../$f`\r
+                  gcc $cf -o w${g}.dll -Wl,--out-implib,libw${g}.a -Wl,--output-def,w${g}.def -Wl,$lf `ar t ../$f` ../${gi}\r
+                  lib //NOLOGO /MACHINE:i386 /DEF:w${g}.def\r
+                  rm -f `ar t ../$f`\r
+                 mv w${g}.dll ..\r
+                 mv w${g}.lib ..\r
+                 mv libw${g}.a ..\r
+               cd ..  \r
+               rm -rf "${td}"\r
+              done\r
+            done\r
+          fi\r
+        done\r
+      done\r
+    popd\r
+  else\r
+    echo lib has not been build >&2\r
+  fi\r
+fi\r
index dfda636a25580295442054a680dab4c1e1d95bce..043c80298588f066dd3b5461cc812455c880f81d 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: Makefile.in,v 1.115 2009/03/28 18:22:39 Charles.Wilson Exp $
+# $Id: Makefile.in,v 1.116 2009/06/27 14:31:36 tom Exp $
 ##############################################################################
 # Copyright (c) 1998-2007,2009 Free Software Foundation, Inc.                #
 #                                                                            #
@@ -205,7 +205,7 @@ make_hash$(BUILD_EXEEXT) : \
                ../include/hashsize.h
        $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) -DMAIN_PROGRAM $(tinfo)/comp_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
 
-./expanded.c : $(serial)/MKexpanded.sh
+./expanded.c : curses.priv.h $(serial)/MKexpanded.sh
        sh -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
 
 ./comp_captab.c: \
index 120aa5b82c1d5f77717fdb6c78a8b1d2b4b31bf9..cbde3354a6a38bac11251e95237d73b75015c270 100644 (file)
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright (c) 1998-2000,2006 Free Software Foundation, Inc.               --
+-- Copyright (c) 1998-2006,2009 Free Software Foundation, Inc.               --
 --                                                                           --
 -- Permission is hereby granted, free of charge, to any person obtaining a   --
 -- copy of this software and associated documentation files (the             --
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: README,v 1.9 2006/04/22 22:19:37 tom Exp $
+-- $Id: README,v 1.10 2009/06/27 14:44:30 tom Exp $
 -------------------------------------------------------------------------------
 For discussion of the package internals, see hackguide.html in the doc/html
 directory.
+
+-------------------------------------------------------------------------------
+The llib-lXXXX files could be used as lint-library sources (and were, at one
+time).  However, they are actually used as a documentation aid to keep track
+of changes to the public/private interfaces in ncurses.  Most of the text in
+these files is generated using cproto; some manual cleanup and adjustment of
+types (to reflect #define's in curses.h) is needed.  The functions listed in
+the llib-lXXXX files do not correspond to the default configure options; some
+additional ones are added to include "all" of the entrypoints for each of the
+major configurations (normal, wide-character, threaded):
+
+       --disable-macros
+       --disable-root-environ
+       --enable-expanded
+       --enable-getcap
+       --enable-getcap-cache
+       --enable-sp-funcs
+       --enable-termcap
+       --with-develop
diff --git a/ncurses/base/lib_driver.c b/ncurses/base/lib_driver.c
new file mode 100644 (file)
index 0000000..1be9903
--- /dev/null
@@ -0,0 +1,142 @@
+/****************************************************************************
+ * Copyright (c) 2008,2009 Free Software Foundation, Inc.                   *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Juergen Pfeifer                                                 *
+ *                                                                          *
+ ****************************************************************************/
+
+#include <curses.priv.h>
+
+MODULE_ID("$Id: lib_driver.c,v 1.1 2009/02/21 15:11:29 juergen Exp $")
+
+typedef struct DriverEntry {
+    const char *name;
+    TERM_DRIVER *driver;
+} DRIVER_ENTRY;
+
+static DRIVER_ENTRY DriverTable[] =
+{
+#ifdef __MINGW32__
+    {"win", &_nc_WIN_DRIVER},
+#endif
+    {"tinfo", &_nc_TINFO_DRIVER}
+};
+
+#define NUM_DRIVERS (int)(sizeof(DriverTable)/sizeof(DRIVER_ENTRY))
+
+NCURSES_EXPORT(int)
+_nc_get_driver(TERMINAL_CONTROL_BLOCK * TCB, const char *name, int *errret)
+{
+    int code = ERR;
+    int i;
+    TERM_DRIVER *res = (TERM_DRIVER *) 0;
+    TERM_DRIVER *use = 0;
+
+    assert(TCB != 0);
+
+    for (i = 0; i < NUM_DRIVERS; i++) {
+       res = DriverTable[i].driver;
+       if (res->CanHandle(TCB, name, errret)) {
+           use = res;
+           break;
+       }
+    }
+    if (use != 0) {
+       TCB->drv = use;
+       code = OK;
+    }
+    return (code);
+}
+
+NCURSES_EXPORT(int)
+NCURSES_SP_NAME(has_key) (SCREEN *sp, int keycode)
+{
+    T((T_CALLED("has_key(%p, %d)"), sp, keycode));
+    returnCode(IsValidTIScreen(sp) ? CallDriver_1(sp, kyExist, keycode) : FALSE);
+}
+
+NCURSES_EXPORT(int)
+has_key(int keycode)
+{
+    return NCURSES_SP_NAME(has_key) (CURRENT_SCREEN, keycode);
+}
+
+NCURSES_EXPORT(int)
+NCURSES_SP_NAME(_nc_mcprint) (SCREEN *sp, char *data, int len)
+{
+    int code = ERR;
+
+    if (0 != TerminalOf(sp))
+       code = CallDriver_2(sp, print, data, len);
+    return (code);
+}
+
+NCURSES_EXPORT(int)
+mcprint(char *data, int len)
+{
+    return NCURSES_SP_NAME(_nc_mcprint) (CURRENT_SCREEN, data, len);
+}
+
+NCURSES_EXPORT(int)
+NCURSES_SP_NAME(doupdate) (SCREEN *sp)
+{
+    int code = ERR;
+
+    T((T_CALLED("doupdate(%p)"), sp));
+
+    if (IsValidScreen(sp))
+       code = CallDriver(sp, update);
+
+    returnCode(code);
+}
+
+NCURSES_EXPORT(int)
+doupdate(void)
+{
+    return NCURSES_SP_NAME(doupdate) (CURRENT_SCREEN);
+}
+
+NCURSES_EXPORT(int)
+NCURSES_SP_NAME(mvcur) (SCREEN *sp, int yold, int xold, int ynew, int xnew)
+{
+    int code = ERR;
+    TR(TRACE_CALLS | TRACE_MOVE, (T_CALLED("mvcur(%p,%d,%d,%d,%d)"),
+                                 sp, yold, xold, ynew, xnew));
+    if (HasTerminal(sp)) {
+       code = CallDriver_4(sp, hwcur, yold, xold, ynew, xnew);
+    }
+    returnCode(code);
+}
+
+NCURSES_EXPORT(int)
+mvcur(int yold, int xold, int ynew, int xnew)
+/* optimized cursor move from (yold, xold) to (ynew, xnew) */
+{
+    return NCURSES_SP_NAME(mvcur) (CURRENT_SCREEN, yold, xold, ynew, xnew);
+}
index 522d092866ae28c6f86ae5e1f1c5802563a31953..7bf6ea4db581cc348090f65c043da686340301b2 100644 (file)
@@ -49,7 +49,7 @@
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_set_term.c,v 1.123 2009/06/06 20:26:17 tom Exp $")
+MODULE_ID("$Id: lib_set_term.c,v 1.124 2009/06/27 21:36:14 tom Exp $")
 
 NCURSES_EXPORT(SCREEN *)
 set_term(SCREEN *screenp)
@@ -280,6 +280,9 @@ _nc_setupscreen(int slines GCC_UNUSED,
     }
 
     T(("created SP %p", SP));
+#if NCURSES_SP_FUNCS
+    sp = SP;                   /* fixup so SET_LINES and SET_COLS works */
+#endif
     SP->_next_screen = _nc_screen_chain;
     _nc_screen_chain = SP;
 
index a978f2986eeeaccc7c18a76f9942387cb72b507e..5f6b6b74345090967237bba7a52a164d78029982 100644 (file)
@@ -35,7 +35,7 @@
 
 
 /*
- * $Id: curses.priv.h,v 1.421 2009/06/06 18:12:52 tom Exp $
+ * $Id: curses.priv.h,v 1.427 2009/06/27 20:31:54 tom Exp $
  *
  *     curses.priv.h
  *
@@ -1562,16 +1562,28 @@ extern NCURSES_EXPORT(void) _nc_toggle_attr_on (attr_t *, attr_t);
 extern NCURSES_EXPORT(void) _nc_toggle_attr_off (attr_t *, attr_t);
 
 #undef  DelCharCost
-#define DelCharCost(count) _nc_DelCharCost(count)
-extern NCURSES_EXPORT(int) _nc_DelCharCost (int);
+#define DelCharCost(sp, count) NCURSES_SP_NAME(_nc_DelCharCost)(NCURSES_SP_ARGx count)
 
 #undef  InsCharCost
-#define InsCharCost(count) _nc_InsCharCost(count)
-extern NCURSES_EXPORT(int) _nc_InsCharCost (int);
+#define InsCharCost(sp, count) NCURSES_SP_NAME(_nc_InsCharCost)(NCURSES_SP_ARGx count)
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_DelCharCost) (NCURSES_SP_DCLx int _c);
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(_nc_InsCharCost) (NCURSES_SP_DCLx int _c);
 
 #undef  UpdateAttrs
-#define UpdateAttrs(c) _nc_UpdateAttrs(c)
-extern NCURSES_EXPORT(void) _nc_UpdateAttrs (NCURSES_CH_T);
+#define UpdateAttrs(sp,c) NCURSES_SP_NAME(_nc_UpdateAttrs)(NCURSES_SP_ARGx CHREF(c))
+
+#if defined(NEED_NCURSES_CH_T)
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx CARG_CH_T _c);
+#else
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(_nc_UpdateAttrs) (NCURSES_SP_DCLx chtype c);
+#endif
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(int) _nc_DelCharCost (int);
+extern NCURSES_EXPORT(int) _nc_InsCharCost (int);
+extern NCURSES_EXPORT(void) _nc_UpdateAttrs (CARG_CH_T);
+#endif /* NCURSES_SP_FUNCS */
 
 #else
 
index cc0e3667e68185045ebee82aae4bd1460dba3b5d..88d131243f1f27b1823e52e7032588170fabd8f3 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2007,2008 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2008,2009 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey 1996-2008                                      *
+ *  Author: Thomas E. Dickey 1996-2009                                      *
  ****************************************************************************/
 /* LINTLIBRARY */
 
 #undef _nc_oldnums
 int    *_nc_oldnums;
 
+#undef _nc_scroll_optimize_sp
+void   _nc_scroll_optimize_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_scroll_optimize
 void   _nc_scroll_optimize(void)
                { /* void */ }
 
+#undef _nc_linedump_sp
+void   _nc_linedump_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_linedump
 void   _nc_linedump(void)
                { /* void */ }
 
 /* ./tty/hashmap.c */
 
-#include <term.h>
+#undef _nc_hash_map_sp
+void   _nc_hash_map_sp(
+               SCREEN  *sp)
+               { /* void */ }
 
 #undef _nc_hash_map
 void   _nc_hash_map(void)
                { /* void */ }
 
+#undef _nc_make_oldhash_sp
+void   _nc_make_oldhash_sp(
+               SCREEN  *sp, 
+               int     i)
+               { /* void */ }
+
 #undef _nc_make_oldhash
 void   _nc_make_oldhash(
                int     i)
                { /* void */ }
 
+#undef _nc_scroll_oldhash_sp
+void   _nc_scroll_oldhash_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot)
+               { /* void */ }
+
 #undef _nc_scroll_oldhash
 void   _nc_scroll_oldhash(
                int     n, 
@@ -112,6 +139,11 @@ int        waddchnstr(
 
 /* ./base/lib_beep.c */
 
+#undef beep_sp
+int    beep_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef beep
 int    beep(void)
                { return(*(int *)0); }
@@ -187,6 +219,7 @@ int wclrtoeol(
 
 /* ./base/lib_color.c */
 
+#include <term.h>
 #include <tic.h>
 
 #undef COLOR_PAIRS
@@ -194,14 +227,32 @@ int       COLOR_PAIRS;
 #undef COLORS
 int    COLORS;
 
+#undef _nc_reset_colors_sp
+NCURSES_BOOL _nc_reset_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef _nc_reset_colors
 NCURSES_BOOL _nc_reset_colors(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef start_color_sp
+int    start_color_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef start_color
 int    start_color(void)
                { return(*(int *)0); }
 
+#undef init_pair_sp
+int    init_pair_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   f, 
+               short   b)
+               { return(*(int *)0); }
+
 #undef init_pair
 int    init_pair(
                short   pair, 
@@ -209,6 +260,15 @@ int        init_pair(
                short   b)
                { return(*(int *)0); }
 
+#undef init_color_sp
+int    init_color_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   r, 
+               short   g, 
+               short   b)
+               { return(*(int *)0); }
+
 #undef init_color
 int    init_color(
                short   color, 
@@ -217,14 +277,33 @@ int       init_color(
                short   b)
                { return(*(int *)0); }
 
+#undef can_change_color_sp
+NCURSES_BOOL can_change_color_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef can_change_color
 NCURSES_BOOL can_change_color(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef has_colors_sp
+NCURSES_BOOL has_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_colors
 NCURSES_BOOL has_colors(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef color_content_sp
+int    color_content_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   *r, 
+               short   *g, 
+               short   *b)
+               { return(*(int *)0); }
+
 #undef color_content
 int    color_content(
                short   color, 
@@ -233,6 +312,14 @@ int        color_content(
                short   *b)
                { return(*(int *)0); }
 
+#undef pair_content_sp
+int    pair_content_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   *f, 
+               short   *b)
+               { return(*(int *)0); }
+
 #undef pair_content
 int    pair_content(
                short   pair, 
@@ -240,13 +327,21 @@ int       pair_content(
                short   *b)
                { return(*(int *)0); }
 
+#undef _nc_do_color_sp
+void   _nc_do_color_sp(
+               SCREEN  *sp, 
+               short   old_pair, 
+               short   pair, 
+               NCURSES_BOOL reverse, 
+               NCURSES_OUTC_sp outc)
+               { /* void */ }
+
 #undef _nc_do_color
 void   _nc_do_color(
                short   old_pair, 
                short   pair, 
                NCURSES_BOOL reverse, 
-               int     (*outc)(
-               int     p1))
+               NCURSES_OUTC outc)
                { /* void */ }
 
 /* ./base/lib_colorset.c */
@@ -274,16 +369,31 @@ int       delwin(
 
 /* ./base/lib_echo.c */
 
+#undef echo_sp
+int    echo_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef echo
 int    echo(void)
                { return(*(int *)0); }
 
+#undef noecho_sp
+int    noecho_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef noecho
 int    noecho(void)
                { return(*(int *)0); }
 
 /* ./base/lib_endwin.c */
 
+#undef endwin_sp
+int    endwin_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef endwin
 int    endwin(void)
                { return(*(int *)0); }
@@ -297,6 +407,11 @@ int        werase(
 
 /* ./base/lib_flash.c */
 
+#undef flash_sp
+int    flash_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef flash
 int    flash(void)
                { return(*(int *)0); }
@@ -1138,6 +1253,12 @@ NCURSES_BOOL mouse_trafo(
 #undef ESCDELAY
 int    ESCDELAY;
 
+#undef set_escdelay_sp
+int    set_escdelay_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
 #undef set_escdelay
 int    set_escdelay(
                int     value)
@@ -1200,6 +1321,7 @@ WINDOW    *initscr(void)
 
 #undef _nc_insert_ch
 int    _nc_insert_ch(
+               SCREEN  *sp, 
                WINDOW  *win, 
                chtype  ch)
                { return(*(int *)0); }
@@ -1238,6 +1360,11 @@ int      winnstr(
 
 /* ./base/lib_isendwin.c */
 
+#undef isendwin_sp
+NCURSES_BOOL isendwin_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef isendwin
 NCURSES_BOOL isendwin(void)
                { return(*(NCURSES_BOOL *)0); }
@@ -1252,16 +1379,35 @@ int     leaveok(
 
 /* ./base/lib_mouse.c */
 
+#undef getmouse_sp
+int    getmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
 #undef getmouse
 int    getmouse(
                MEVENT  *aevent)
                { return(*(int *)0); }
 
+#undef ungetmouse_sp
+int    ungetmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
 #undef ungetmouse
 int    ungetmouse(
                MEVENT  *aevent)
                { return(*(int *)0); }
 
+#undef mousemask_sp
+mmask_t        mousemask_sp(
+               SCREEN  *sp, 
+               mmask_t newmask, 
+               mmask_t *oldmask)
+               { return(*(mmask_t *)0); }
+
 #undef mousemask
 mmask_t        mousemask(
                mmask_t newmask, 
@@ -1275,14 +1421,30 @@ NCURSES_BOOL wenclose(
                int     x)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef mouseinterval_sp
+int    mouseinterval_sp(
+               SCREEN  *sp, 
+               int     maxclick)
+               { return(*(int *)0); }
+
 #undef mouseinterval
 int    mouseinterval(
                int     maxclick)
                { return(*(int *)0); }
 
 #undef _nc_has_mouse
-int    _nc_has_mouse(void)
-               { return(*(int *)0); }
+NCURSES_BOOL _nc_has_mouse(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse_sp
+NCURSES_BOOL has_mouse_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse
+NCURSES_BOOL has_mouse(void)
+               { return(*(NCURSES_BOOL *)0); }
 
 #undef wmouse_trafo
 NCURSES_BOOL wmouse_trafo(
@@ -1303,24 +1465,55 @@ int     wmove(
 
 /* ./tty/lib_mvcur.c */
 
+#undef _nc_msec_cost_sp
+int    _nc_msec_cost_sp(
+               SCREEN  *sp, 
+               const char *const cap, 
+               int     affcnt)
+               { return(*(int *)0); }
+
 #undef _nc_msec_cost
 int    _nc_msec_cost(
                const char *const cap, 
                int     affcnt)
                { return(*(int *)0); }
 
+#undef _nc_mvcur_resume_sp
+void   _nc_mvcur_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_resume
 void   _nc_mvcur_resume(void)
                { /* void */ }
 
+#undef _nc_mvcur_init_sp
+void   _nc_mvcur_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_init
 void   _nc_mvcur_init(void)
                { /* void */ }
 
+#undef _nc_mvcur_wrap_sp
+void   _nc_mvcur_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_wrap
 void   _nc_mvcur_wrap(void)
                { /* void */ }
 
+#undef mvcur_sp
+int    mvcur_sp(
+               SCREEN  *sp, 
+               int     yold, 
+               int     xold, 
+               int     ynew, 
+               int     xnew)
+               { return(*(int *)0); }
+
 #undef mvcur
 int    mvcur(
                int     yold, 
@@ -1343,14 +1536,32 @@ int     mvwin(
 
 /* ./base/lib_newterm.c */
 
+#undef filter_sp
+void   filter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef filter
 void   filter(void)
                { /* void */ }
 
+#undef nofilter_sp
+void   nofilter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef nofilter
 void   nofilter(void)
                { /* void */ }
 
+#undef newterm_sp
+SCREEN *newterm_sp(
+               SCREEN  *sp, 
+               char    *name, 
+               FILE    *ofp, 
+               FILE    *ifp)
+               { return(*(SCREEN **)0); }
+
 #undef newterm
 SCREEN *newterm(
                char    *name, 
@@ -1365,6 +1576,15 @@ int      _nc_freewin(
                WINDOW  *win)
                { return(*(int *)0); }
 
+#undef newwin_sp
+WINDOW *newwin_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
 #undef newwin
 WINDOW *newwin(
                int     num_lines, 
@@ -1391,6 +1611,16 @@ WINDOW   *subwin(
                int     x)
                { return(*(WINDOW **)0); }
 
+#undef _nc_makenew_sp
+WINDOW *_nc_makenew_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx, 
+               int     flags)
+               { return(*(WINDOW **)0); }
+
 #undef _nc_makenew
 WINDOW *_nc_makenew(
                int     num_lines, 
@@ -1400,17 +1630,37 @@ WINDOW  *_nc_makenew(
                int     flags)
                { return(*(WINDOW **)0); }
 
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
-               WINDOW  *win)
-               { return(*(SCREEN **)0); }
+#undef _nc_curscr_of
+WINDOW *_nc_curscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_newscr_of
+WINDOW *_nc_newscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_stdscr_of
+WINDOW *_nc_stdscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
 
 /* ./base/lib_nl.c */
 
+#undef nl_sp
+int    nl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nl
 int    nl(void)
                { return(*(int *)0); }
 
+#undef nonl_sp
+int    nonl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nonl
 int    nonl(void)
                { return(*(int *)0); }
@@ -1444,6 +1694,13 @@ int      copywin(
 
 /* ./base/lib_pad.c */
 
+#undef newpad_sp
+WINDOW *newpad_sp(
+               SCREEN  *sp, 
+               int     l, 
+               int     c)
+               { return(*(WINDOW **)0); }
+
 #undef newpad
 WINDOW *newpad(
                int     l, 
@@ -1549,6 +1806,14 @@ int      wnoutrefresh(
 
 /* ./base/lib_restart.c */
 
+#undef restartterm_sp
+int    restartterm_sp(
+               SCREEN  *sp, 
+               char    *termp, 
+               int     filenum, 
+               int     *errret)
+               { return(*(int *)0); }
+
 #undef restartterm
 int    restartterm(
                char    *termp, 
@@ -1597,6 +1862,12 @@ int      mvwscanw(
 
 /* ./base/lib_screen.c */
 
+#undef getwin_sp
+WINDOW *getwin_sp(
+               SCREEN  *sp, 
+               FILE    *filep)
+               { return(*(WINDOW **)0); }
+
 #undef getwin
 WINDOW *getwin(
                FILE    *filep)
@@ -1608,6 +1879,12 @@ int      putwin(
                FILE    *filep)
                { return(*(int *)0); }
 
+#undef scr_restore_sp
+int    scr_restore_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_restore
 int    scr_restore(
                const char *file)
@@ -1618,11 +1895,23 @@ int     scr_dump(
                const char *file)
                { return(*(int *)0); }
 
+#undef scr_init_sp
+int    scr_init_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_init
 int    scr_init(
                const char *file)
                { return(*(int *)0); }
 
+#undef scr_set_sp
+int    scr_set_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_set
 int    scr_set(
                const char *file)
@@ -1683,6 +1972,15 @@ int      _nc_setupscreen(
                int     slk_format)
                { return(*(int *)0); }
 
+#undef _nc_ripoffline_sp
+int    _nc_ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
 #undef _nc_ripoffline
 int    _nc_ripoffline(
                int     line, 
@@ -1691,6 +1989,15 @@ int      _nc_ripoffline(
                int     p2))
                { return(*(int *)0); }
 
+#undef ripoffline_sp
+int    ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
 #undef ripoffline
 int    ripoffline(
                int     line, 
@@ -1707,12 +2014,25 @@ int     _nc_slk_initialize(
                int     cols)
                { return(*(int *)0); }
 
+#undef slk_restore_sp
+int    slk_restore_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_restore
 int    slk_restore(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkatr_set.c */
 
+#undef slk_attr_set_sp
+int    slk_attr_set_sp(
+               SCREEN  *sp, 
+               const attr_t attr, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
 #undef slk_attr_set
 int    slk_attr_set(
                const attr_t attr, 
@@ -1722,6 +2042,12 @@ int      slk_attr_set(
 
 /* ./base/lib_slkatrof.c */
 
+#undef slk_attroff_sp
+int    slk_attroff_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attroff
 int    slk_attroff(
                const chtype attr)
@@ -1729,6 +2055,12 @@ int      slk_attroff(
 
 /* ./base/lib_slkatron.c */
 
+#undef slk_attron_sp
+int    slk_attron_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attron
 int    slk_attron(
                const chtype attr)
@@ -1736,6 +2068,12 @@ int      slk_attron(
 
 /* ./base/lib_slkatrset.c */
 
+#undef slk_attrset_sp
+int    slk_attrset_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attrset
 int    slk_attrset(
                const chtype attr)
@@ -1743,18 +2081,34 @@ int     slk_attrset(
 
 /* ./base/lib_slkattr.c */
 
+#undef slk_attr_sp
+attr_t slk_attr_sp(
+               SCREEN  *sp)
+               { return(*(attr_t *)0); }
+
 #undef slk_attr
 attr_t slk_attr(void)
                { return(*(attr_t *)0); }
 
 /* ./base/lib_slkclear.c */
 
+#undef slk_clear_sp
+int    slk_clear_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_clear
 int    slk_clear(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkcolor.c */
 
+#undef slk_color_sp
+int    slk_color_sp(
+               SCREEN  *sp, 
+               short   color_pair_number)
+               { return(*(int *)0); }
+
 #undef slk_color
 int    slk_color(
                short   color_pair_number)
@@ -1762,6 +2116,12 @@ int      slk_color(
 
 /* ./base/lib_slkinit.c */
 
+#undef slk_init_sp
+int    slk_init_sp(
+               SCREEN  *sp, 
+               int     format)
+               { return(*(int *)0); }
+
 #undef slk_init
 int    slk_init(
                int     format)
@@ -1769,6 +2129,12 @@ int      slk_init(
 
 /* ./base/lib_slklab.c */
 
+#undef slk_label_sp
+char   *slk_label_sp(
+               SCREEN  *sp, 
+               int     n)
+               { return(*(char **)0); }
+
 #undef slk_label
 char   *slk_label(
                int     n)
@@ -1776,16 +2142,34 @@ char    *slk_label(
 
 /* ./base/lib_slkrefr.c */
 
+#undef slk_noutrefresh_sp
+int    slk_noutrefresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_noutrefresh
 int    slk_noutrefresh(void)
                { return(*(int *)0); }
 
+#undef slk_refresh_sp
+int    slk_refresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_refresh
 int    slk_refresh(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkset.c */
 
+#undef slk_set_sp
+int    slk_set_sp(
+               SCREEN  *sp, 
+               int     i, 
+               const char *astr, 
+               int     format)
+               { return(*(int *)0); }
+
 #undef slk_set
 int    slk_set(
                int     i, 
@@ -1795,6 +2179,11 @@ int      slk_set(
 
 /* ./base/lib_slktouch.c */
 
+#undef slk_touch_sp
+int    slk_touch_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_touch
 int    slk_touch(void)
                { return(*(int *)0); }
@@ -1857,8 +2246,8 @@ void      _nc_fifo_dump(
                SCREEN  *sp)
                { /* void */ }
 
-#undef _nc_ungetch
-int    _nc_ungetch(
+#undef ungetch_sp
+int    ungetch_sp(
                SCREEN  *sp, 
                int     ch)
                { return(*(int *)0); }
@@ -1870,11 +2259,23 @@ int     ungetch(
 
 /* ./tty/lib_vidattr.c */
 
+#undef vidputs_sp
+int    vidputs_sp(
+               SCREEN  *sp, 
+               chtype  newmode, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
 #undef vidputs
 int    vidputs(
                chtype  newmode, 
-               int     (*outc)(
-               int     p1))
+               NCURSES_OUTC outc)
+               { return(*(int *)0); }
+
+#undef vidattr_sp
+int    vidattr_sp(
+               SCREEN  *sp, 
+               chtype  newmode)
                { return(*(int *)0); }
 
 #undef vidattr
@@ -1882,6 +2283,11 @@ int      vidattr(
                chtype  newmode)
                { return(*(int *)0); }
 
+#undef termattrs_sp
+chtype termattrs_sp(
+               SCREEN  *sp)
+               { return(*(chtype *)0); }
+
 #undef termattrs
 chtype termattrs(void)
                { return(*(chtype *)0); }
@@ -1962,12 +2368,24 @@ WINDOW  *dupwin(
 
 /* ./base/nc_panel.c */
 
+#undef _nc_panelhook_sp
+struct panelhook *_nc_panelhook_sp(
+               SCREEN  *sp)
+               { return(*(struct panelhook **)0); }
+
 #undef _nc_panelhook
 struct panelhook *_nc_panelhook(void)
                { return(*(struct panelhook **)0); }
 
 /* ./base/safe_sprintf.c */
 
+#undef _nc_printf_string_sp
+char   *_nc_printf_string_sp(
+               SCREEN  *sp, 
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
 #undef _nc_printf_string
 char   *_nc_printf_string(
                const char *fmt, 
@@ -1979,10 +2397,24 @@ char    *_nc_printf_string(
 #include <sys/time.h>
 #include <sys/times.h>
 
+#undef doupdate_sp
+int    doupdate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef doupdate
 int    doupdate(void)
                { return(*(int *)0); }
 
+#undef _nc_scrolln_sp
+int    _nc_scrolln_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot, 
+               int     maxy)
+               { return(*(int *)0); }
+
 #undef _nc_scrolln
 int    _nc_scrolln(
                int     n, 
@@ -1991,18 +2423,39 @@ int     _nc_scrolln(
                int     maxy)
                { return(*(int *)0); }
 
+#undef _nc_screen_resume_sp
+void   _nc_screen_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_resume
 void   _nc_screen_resume(void)
                { /* void */ }
 
+#undef _nc_screen_init_sp
+void   _nc_screen_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_init
 void   _nc_screen_init(void)
                { /* void */ }
 
+#undef _nc_screen_wrap_sp
+void   _nc_screen_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_wrap
 void   _nc_screen_wrap(void)
                { /* void */ }
 
+#undef _nc_do_xmc_glitch_sp
+void   _nc_do_xmc_glitch_sp(
+               SCREEN  *sp, 
+               attr_t  previous)
+               { /* void */ }
+
 #undef _nc_do_xmc_glitch
 void   _nc_do_xmc_glitch(
                attr_t  previous)
@@ -2040,6 +2493,12 @@ void     _nc_vsscanf(void)
 void   _nc_freeall(void)
                { /* void */ }
 
+#undef _nc_free_and_exit_sp
+void   _nc_free_and_exit_sp(
+               SCREEN  *sp, 
+               int     code)
+               { /* void */ }
+
 #undef _nc_free_and_exit
 void   _nc_free_and_exit(
                int     code)
@@ -2059,6 +2518,24 @@ void     _nc_toggle_attr_off(
                attr_t  at)
                { /* void */ }
 
+#undef _nc_DelCharCost_sp
+int    _nc_DelCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_InsCharCost_sp
+int    _nc_InsCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_UpdateAttrs_sp
+void   _nc_UpdateAttrs_sp(
+               SCREEN  *sp, 
+               chtype  c)
+               { /* void */ }
+
 #undef _nc_DelCharCost
 int    _nc_DelCharCost(
                int     count)
@@ -2076,6 +2553,12 @@ void     _nc_UpdateAttrs(
 
 /* ./base/legacy_coding.c */
 
+#undef use_legacy_coding_sp
+int    use_legacy_coding_sp(
+               SCREEN  *sp, 
+               int     level)
+               { return(*(int *)0); }
+
 #undef use_legacy_coding
 int    use_legacy_coding(
                int     level)
@@ -2083,10 +2566,22 @@ int     use_legacy_coding(
 
 /* ./base/lib_dft_fgbg.c */
 
+#undef use_default_colors_sp
+int    use_default_colors_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef use_default_colors
 int    use_default_colors(void)
                { return(*(int *)0); }
 
+#undef assume_default_colors_sp
+int    assume_default_colors_sp(
+               SCREEN  *sp, 
+               int     fg, 
+               int     bg)
+               { return(*(int *)0); }
+
 #undef assume_default_colors
 int    assume_default_colors(
                int     fg, 
@@ -2095,6 +2590,13 @@ int      assume_default_colors(
 
 /* ./tinfo/lib_print.c */
 
+#undef mcprint_sp
+int    mcprint_sp(
+               SCREEN  *sp, 
+               char    *data, 
+               int     len)
+               { return(*(int *)0); }
+
 #undef mcprint
 int    mcprint(
                char    *data, 
@@ -2103,18 +2605,39 @@ int     mcprint(
 
 /* ./base/resizeterm.c */
 
+#undef is_term_resized_sp
+NCURSES_BOOL is_term_resized_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef is_term_resized
 NCURSES_BOOL is_term_resized(
                int     ToLines, 
                int     ToCols)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef resize_term_sp
+int    resize_term_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
 #undef resize_term
 int    resize_term(
                int     ToLines, 
                int     ToCols)
                { return(*(int *)0); }
 
+#undef resizeterm_sp
+int    resizeterm_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
 #undef resizeterm
 int    resizeterm(
                int     ToLines, 
@@ -2397,6 +2920,11 @@ void     _nc_init_keytry(
 #undef acs_map
 chtype acs_map[128];
 
+#undef _nc_init_acs_sp
+void   _nc_init_acs_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_init_acs
 void   _nc_init_acs(void)
                { /* void */ }
@@ -2420,6 +2948,11 @@ int      _nc_ospeed(
                int     BaudRate)
                { return(*(int *)0); }
 
+#undef baudrate_sp
+int    baudrate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef baudrate
 int    baudrate(void)
                { return(*(int *)0); }
@@ -2434,6 +2967,12 @@ TERMINAL *set_curterm(
                TERMINAL *termp)
                { return(*(TERMINAL **)0); }
 
+#undef del_curterm_sp
+int    del_curterm_sp(
+               SCREEN  *sp, 
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
 #undef del_curterm
 int    del_curterm(
                TERMINAL *termp)
@@ -2456,26 +2995,56 @@ NCURSES_GLOBALS _nc_globals;
 #undef _nc_prescreen
 NCURSES_PRESCREEN _nc_prescreen;
 
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+               WINDOW  *win)
+               { return(*(SCREEN **)0); }
+
 /* ./tinfo/lib_has_cap.c */
 
+#undef has_ic_sp
+NCURSES_BOOL has_ic_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_ic
 NCURSES_BOOL has_ic(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef has_il_sp
+NCURSES_BOOL has_il_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_il
 NCURSES_BOOL has_il(void)
                { return(*(NCURSES_BOOL *)0); }
 
 /* ./tinfo/lib_kernel.c */
 
+#undef erasechar_sp
+char   erasechar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
 #undef erasechar
 char   erasechar(void)
                { return(*(char *)0); }
 
+#undef killchar_sp
+char   killchar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
 #undef killchar
 char   killchar(void)
                { return(*(char *)0); }
 
+#undef flushinp_sp
+int    flushinp_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef flushinp
 int    flushinp(void)
                { return(*(int *)0); }
@@ -2484,8 +3053,8 @@ int       flushinp(void)
 
 struct kn { short offset; int code; };
 
-#undef _nc_keyname
-char   *_nc_keyname(
+#undef keyname_sp
+char   *keyname_sp(
                SCREEN  *sp, 
                int     c)
                { return(*(char **)0); }
@@ -2505,6 +3074,12 @@ char     *longname(void)
 
 #include <time.h>
 
+#undef napms_sp
+int    napms_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
 #undef napms
 int    napms(
                int     ms)
@@ -2524,6 +3099,12 @@ void     idcok(
                NCURSES_BOOL flag)
                { /* void */ }
 
+#undef halfdelay_sp
+int    halfdelay_sp(
+               SCREEN  *sp, 
+               int     t)
+               { return(*(int *)0); }
+
 #undef halfdelay
 int    halfdelay(
                int     t)
@@ -2559,21 +3140,52 @@ int     meta(
                NCURSES_BOOL flag)
                { return(*(int *)0); }
 
+#undef curs_set_sp
+int    curs_set_sp(
+               SCREEN  *sp, 
+               int     vis)
+               { return(*(int *)0); }
+
 #undef curs_set
 int    curs_set(
                int     vis)
                { return(*(int *)0); }
 
+#undef typeahead_sp
+int    typeahead_sp(
+               SCREEN  *sp, 
+               int     fd)
+               { return(*(int *)0); }
+
 #undef typeahead
 int    typeahead(
                int     fd)
                { return(*(int *)0); }
 
+#undef has_key_sp
+int    has_key_sp(
+               SCREEN  *sp, 
+               int     keycode)
+               { return(*(int *)0); }
+
 #undef has_key
 int    has_key(
                int     keycode)
                { return(*(int *)0); }
 
+#undef _nc_putp_flush_sp
+int    _nc_putp_flush_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
+#undef _nc_putp_flush
+int    _nc_putp_flush(
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
 #undef _nc_keypad
 int    _nc_keypad(
                SCREEN  *sp, 
@@ -2582,30 +3194,67 @@ int     _nc_keypad(
 
 /* ./tinfo/lib_raw.c */
 
+#undef raw_sp
+int    raw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef raw
 int    raw(void)
                { return(*(int *)0); }
 
+#undef cbreak_sp
+int    cbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef cbreak
 int    cbreak(void)
                { return(*(int *)0); }
 
+#undef qiflush_sp
+void   qiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef qiflush
 void   qiflush(void)
                { /* void */ }
 
+#undef noraw_sp
+int    noraw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef noraw
 int    noraw(void)
                { return(*(int *)0); }
 
+#undef nocbreak_sp
+int    nocbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nocbreak
 int    nocbreak(void)
                { return(*(int *)0); }
 
+#undef noqiflush_sp
+void   noqiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef noqiflush
 void   noqiflush(void)
                { /* void */ }
 
+#undef intrflush_sp
+int    intrflush_sp(
+               SCREEN  *sp, 
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
 #undef intrflush
 int    intrflush(
                WINDOW  *win, 
@@ -2627,6 +3276,12 @@ int      COLS;
 #undef TABSIZE
 int    TABSIZE;
 
+#undef set_tabsize_sp
+int    set_tabsize_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
 #undef set_tabsize
 int    set_tabsize(
                int     value)
@@ -2637,6 +3292,12 @@ int      _nc_handle_sigwinch(
                SCREEN  *sp)
                { return(*(int *)0); }
 
+#undef use_env_sp
+void   use_env_sp(
+               SCREEN  *sp, 
+               NCURSES_BOOL f)
+               { /* void */ }
+
 #undef use_env
 void   use_env(
                NCURSES_BOOL f)
@@ -2689,8 +3350,9 @@ char      *UP;
 #undef BC
 char   *BC;
 
-#undef tgetent
-int    tgetent(
+#undef tgetent_sp
+int    tgetent_sp(
+               SCREEN  *sp, 
                char    *bufp, 
                const char *name)
                { return(*(int *)0); }
@@ -2701,16 +3363,41 @@ int     tgetent(
 
 #endif
 
+#undef tgetent
+int    tgetent(
+               char    *bufp, 
+               const char *name)
+               { return(*(int *)0); }
+
+#undef tgetflag_sp
+int    tgetflag_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
 #undef tgetflag
 int    tgetflag(
                char    *id)
                { return(*(int *)0); }
 
+#undef tgetnum_sp
+int    tgetnum_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
 #undef tgetnum
 int    tgetnum(
                char    *id)
                { return(*(int *)0); }
 
+#undef tgetstr_sp
+char   *tgetstr_sp(
+               SCREEN  *sp, 
+               char    *id, 
+               char    **area)
+               { return(*(char **)0); }
+
 #undef tgetstr
 char   *tgetstr(
                char    *id, 
@@ -2719,6 +3406,11 @@ char     *tgetstr(
 
 /* ./tinfo/lib_termname.c */
 
+#undef termname_sp
+char   *termname_sp(
+               SCREEN  *sp)
+               { return(*(char **)0); }
+
 #undef termname
 char   *termname(void)
                { return(*(char **)0); }
@@ -2734,16 +3426,34 @@ char    *tgoto(
 
 /* ./tinfo/lib_ti.c */
 
+#undef tigetflag_sp
+int    tigetflag_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
 #undef tigetflag
 int    tigetflag(
                char    *str)
                { return(*(int *)0); }
 
+#undef tigetnum_sp
+int    tigetnum_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
 #undef tigetnum
 int    tigetnum(
                char    *str)
                { return(*(int *)0); }
 
+#undef tigetstr_sp
+char   *tigetstr_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(char **)0); }
+
 #undef tigetstr
 char   *tigetstr(
                char    *str)
@@ -2781,25 +3491,75 @@ void    _nc_set_no_padding(
                SCREEN  *sp)
                { /* void */ }
 
+#undef delay_output_sp
+int    delay_output_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
 #undef delay_output
 int    delay_output(
                int     ms)
                { return(*(int *)0); }
 
+#undef _nc_flush_sp
+void   _nc_flush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_flush
 void   _nc_flush(void)
                { /* void */ }
 
+#undef _nc_outch_sp
+int    _nc_outch_sp(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
 #undef _nc_outch
 int    _nc_outch(
                int     ch)
                { return(*(int *)0); }
 
+#undef putp_sp
+int    putp_sp(
+               SCREEN  *sp, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef _nc_putp_sp
+int    _nc_putp_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
 #undef putp
 int    putp(
                const char *string)
                { return(*(int *)0); }
 
+#undef _nc_putp
+int    _nc_putp(
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef tputs_sp
+int    tputs_sp(
+               SCREEN  *sp, 
+               const char *string, 
+               int     affcnt, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
+#undef _nc_outc_wrapper
+int    _nc_outc_wrapper(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(int *)0); }
+
 #undef tputs
 int    tputs(
                const char *string, 
@@ -2944,36 +3704,78 @@ char    *_tracechar(
 
 /* ./tinfo/lib_ttyflags.c */
 
+#undef _nc_get_tty_mode_sp
+int    _nc_get_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
 #undef _nc_get_tty_mode
 int    _nc_get_tty_mode(
                struct termios *buf)
                { return(*(int *)0); }
 
+#undef _nc_set_tty_mode_sp
+int    _nc_set_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
 #undef _nc_set_tty_mode
 int    _nc_set_tty_mode(
                struct termios *buf)
                { return(*(int *)0); }
 
+#undef def_shell_mode_sp
+int    def_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef def_shell_mode
 int    def_shell_mode(void)
                { return(*(int *)0); }
 
+#undef def_prog_mode_sp
+int    def_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef def_prog_mode
 int    def_prog_mode(void)
                { return(*(int *)0); }
 
+#undef reset_prog_mode_sp
+int    reset_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef reset_prog_mode
 int    reset_prog_mode(void)
                { return(*(int *)0); }
 
+#undef reset_shell_mode_sp
+int    reset_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef reset_shell_mode
 int    reset_shell_mode(void)
                { return(*(int *)0); }
 
+#undef savetty_sp
+int    savetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef savetty
 int    savetty(void)
                { return(*(int *)0); }
 
+#undef resetty_sp
+int    resetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef resetty
 int    resetty(void)
                { return(*(int *)0); }
@@ -3053,6 +3855,13 @@ int      _nc_read_termcap_entry(
 
 /* ./tinfo/setbuf.c */
 
+#undef _nc_set_buffer_sp
+void   _nc_set_buffer_sp(
+               SCREEN  *sp, 
+               FILE    *ofp, 
+               NCURSES_BOOL buffered)
+               { /* void */ }
+
 #undef _nc_set_buffer
 void   _nc_set_buffer(
                FILE    *ofp, 
@@ -3144,8 +3953,8 @@ char      *_nc_trim_sgr0(
 
 /* ./unctrl.c */
 
-#undef _nc_unctrl
-char   *_nc_unctrl(
+#undef unctrl_sp
+char   *unctrl_sp(
                SCREEN  *sp, 
                chtype  ch)
                { return(*(char **)0); }
@@ -3394,6 +4203,13 @@ int      _nc_tic_written(void)
 
 /* ./base/define_key.c */
 
+#undef define_key_sp
+int    define_key_sp(
+               SCREEN  *sp, 
+               const char *str, 
+               int     keycode)
+               { return(*(int *)0); }
+
 #undef define_key
 int    define_key(
                const char *str, 
@@ -3408,6 +4224,12 @@ void     _nc_hashed_db(void)
 
 /* ./base/key_defined.c */
 
+#undef key_defined_sp
+int    key_defined_sp(
+               SCREEN  *sp, 
+               const char *str)
+               { return(*(int *)0); }
+
 #undef key_defined
 int    key_defined(
                const char *str)
@@ -3415,6 +4237,13 @@ int      key_defined(
 
 /* ./base/keybound.c */
 
+#undef keybound_sp
+char   *keybound_sp(
+               SCREEN  *sp, 
+               int     code, 
+               int     count)
+               { return(*(char **)0); }
+
 #undef keybound
 char   *keybound(
                int     code, 
@@ -3423,6 +4252,13 @@ char     *keybound(
 
 /* ./base/keyok.c */
 
+#undef keyok_sp
+int    keyok_sp(
+               SCREEN  *sp, 
+               int     c, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
 #undef keyok
 int    keyok(
                int     c, 
index d29ef60d561bcca1cba914b3122968067d3bbeb8..1c98ccddc5f28a77916cc41169701e31f06deb90 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2008 Free Software Foundation, Inc.                        *
+ * Copyright (c) 2008,2009 Free Software Foundation, Inc.                   *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -27,7 +27,7 @@
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey 2008                                           *
+ *  Author: Thomas E. Dickey 2008-on                                        *
  ****************************************************************************/
 /* LINTLIBRARY */
 
 #undef _nc_oldnums
 int    *_nc_oldnums;
 
+#undef _nc_scroll_optimize_sp
+void   _nc_scroll_optimize_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_scroll_optimize
 void   _nc_scroll_optimize(void)
                { /* void */ }
 
+#undef _nc_linedump_sp
+void   _nc_linedump_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_linedump
 void   _nc_linedump(void)
                { /* void */ }
 
 /* ./tty/hashmap.c */
 
-#include <term.h>
+#undef _nc_hash_map_sp
+void   _nc_hash_map_sp(
+               SCREEN  *sp)
+               { /* void */ }
 
 #undef _nc_hash_map
 void   _nc_hash_map(void)
                { /* void */ }
 
+#undef _nc_make_oldhash_sp
+void   _nc_make_oldhash_sp(
+               SCREEN  *sp, 
+               int     i)
+               { /* void */ }
+
 #undef _nc_make_oldhash
 void   _nc_make_oldhash(
                int     i)
                { /* void */ }
 
+#undef _nc_scroll_oldhash_sp
+void   _nc_scroll_oldhash_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot)
+               { /* void */ }
+
 #undef _nc_scroll_oldhash
 void   _nc_scroll_oldhash(
                int     n, 
@@ -112,6 +139,11 @@ int        waddchnstr(
 
 /* ./base/lib_beep.c */
 
+#undef beep_sp
+int    beep_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef beep
 int    beep(void)
                { return(*(int *)0); }
@@ -187,6 +219,7 @@ int wclrtoeol(
 
 /* ./base/lib_color.c */
 
+#include <term.h>
 #include <tic.h>
 
 #undef _nc_COLOR_PAIRS
@@ -197,14 +230,32 @@ int       _nc_COLOR_PAIRS(void)
 int    _nc_COLORS(void)
                { return(*(int *)0); }
 
+#undef _nc_reset_colors_sp
+NCURSES_BOOL _nc_reset_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef _nc_reset_colors
 NCURSES_BOOL _nc_reset_colors(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef start_color_sp
+int    start_color_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef start_color
 int    start_color(void)
                { return(*(int *)0); }
 
+#undef init_pair_sp
+int    init_pair_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   f, 
+               short   b)
+               { return(*(int *)0); }
+
 #undef init_pair
 int    init_pair(
                short   pair, 
@@ -212,6 +263,15 @@ int        init_pair(
                short   b)
                { return(*(int *)0); }
 
+#undef init_color_sp
+int    init_color_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   r, 
+               short   g, 
+               short   b)
+               { return(*(int *)0); }
+
 #undef init_color
 int    init_color(
                short   color, 
@@ -220,14 +280,33 @@ int       init_color(
                short   b)
                { return(*(int *)0); }
 
+#undef can_change_color_sp
+NCURSES_BOOL can_change_color_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef can_change_color
 NCURSES_BOOL can_change_color(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef has_colors_sp
+NCURSES_BOOL has_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_colors
 NCURSES_BOOL has_colors(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef color_content_sp
+int    color_content_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   *r, 
+               short   *g, 
+               short   *b)
+               { return(*(int *)0); }
+
 #undef color_content
 int    color_content(
                short   color, 
@@ -236,6 +315,14 @@ int        color_content(
                short   *b)
                { return(*(int *)0); }
 
+#undef pair_content_sp
+int    pair_content_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   *f, 
+               short   *b)
+               { return(*(int *)0); }
+
 #undef pair_content
 int    pair_content(
                short   pair, 
@@ -243,13 +330,21 @@ int       pair_content(
                short   *b)
                { return(*(int *)0); }
 
+#undef _nc_do_color_sp
+void   _nc_do_color_sp(
+               SCREEN  *sp, 
+               short   old_pair, 
+               short   pair, 
+               NCURSES_BOOL reverse, 
+               NCURSES_OUTC_sp outc)
+               { /* void */ }
+
 #undef _nc_do_color
 void   _nc_do_color(
                short   old_pair, 
                short   pair, 
                NCURSES_BOOL reverse, 
-               int     (*outc)(
-               int     p1))
+               NCURSES_OUTC outc)
                { /* void */ }
 
 /* ./base/lib_colorset.c */
@@ -277,16 +372,31 @@ int       delwin(
 
 /* ./base/lib_echo.c */
 
+#undef echo_sp
+int    echo_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef echo
 int    echo(void)
                { return(*(int *)0); }
 
+#undef noecho_sp
+int    noecho_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef noecho
 int    noecho(void)
                { return(*(int *)0); }
 
 /* ./base/lib_endwin.c */
 
+#undef endwin_sp
+int    endwin_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef endwin
 int    endwin(void)
                { return(*(int *)0); }
@@ -300,6 +410,11 @@ int        werase(
 
 /* ./base/lib_flash.c */
 
+#undef flash_sp
+int    flash_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef flash
 int    flash(void)
                { return(*(int *)0); }
@@ -1138,10 +1253,21 @@ NCURSES_BOOL mouse_trafo(
 
 #include <fifo_defs.h>
 
+#undef _nc_ptr_Escdelay
+int    *_nc_ptr_Escdelay(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
 #undef _nc_ESCDELAY
 int    _nc_ESCDELAY(void)
                { return(*(int *)0); }
 
+#undef set_escdelay_sp
+int    set_escdelay_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
 #undef set_escdelay
 int    set_escdelay(
                int     value)
@@ -1204,6 +1330,7 @@ WINDOW    *initscr(void)
 
 #undef _nc_insert_ch
 int    _nc_insert_ch(
+               SCREEN  *sp, 
                WINDOW  *win, 
                chtype  ch)
                { return(*(int *)0); }
@@ -1242,6 +1369,11 @@ int      winnstr(
 
 /* ./base/lib_isendwin.c */
 
+#undef isendwin_sp
+NCURSES_BOOL isendwin_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef isendwin
 NCURSES_BOOL isendwin(void)
                { return(*(NCURSES_BOOL *)0); }
@@ -1256,16 +1388,35 @@ int     leaveok(
 
 /* ./base/lib_mouse.c */
 
+#undef getmouse_sp
+int    getmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
 #undef getmouse
 int    getmouse(
                MEVENT  *aevent)
                { return(*(int *)0); }
 
+#undef ungetmouse_sp
+int    ungetmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
 #undef ungetmouse
 int    ungetmouse(
                MEVENT  *aevent)
                { return(*(int *)0); }
 
+#undef mousemask_sp
+mmask_t        mousemask_sp(
+               SCREEN  *sp, 
+               mmask_t newmask, 
+               mmask_t *oldmask)
+               { return(*(mmask_t *)0); }
+
 #undef mousemask
 mmask_t        mousemask(
                mmask_t newmask, 
@@ -1279,14 +1430,30 @@ NCURSES_BOOL wenclose(
                int     x)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef mouseinterval_sp
+int    mouseinterval_sp(
+               SCREEN  *sp, 
+               int     maxclick)
+               { return(*(int *)0); }
+
 #undef mouseinterval
 int    mouseinterval(
                int     maxclick)
                { return(*(int *)0); }
 
 #undef _nc_has_mouse
-int    _nc_has_mouse(void)
-               { return(*(int *)0); }
+NCURSES_BOOL _nc_has_mouse(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse_sp
+NCURSES_BOOL has_mouse_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse
+NCURSES_BOOL has_mouse(void)
+               { return(*(NCURSES_BOOL *)0); }
 
 #undef wmouse_trafo
 NCURSES_BOOL wmouse_trafo(
@@ -1307,24 +1474,55 @@ int     wmove(
 
 /* ./tty/lib_mvcur.c */
 
+#undef _nc_msec_cost_sp
+int    _nc_msec_cost_sp(
+               SCREEN  *sp, 
+               const char *const cap, 
+               int     affcnt)
+               { return(*(int *)0); }
+
 #undef _nc_msec_cost
 int    _nc_msec_cost(
                const char *const cap, 
                int     affcnt)
                { return(*(int *)0); }
 
+#undef _nc_mvcur_resume_sp
+void   _nc_mvcur_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_resume
 void   _nc_mvcur_resume(void)
                { /* void */ }
 
+#undef _nc_mvcur_init_sp
+void   _nc_mvcur_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_init
 void   _nc_mvcur_init(void)
                { /* void */ }
 
+#undef _nc_mvcur_wrap_sp
+void   _nc_mvcur_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_mvcur_wrap
 void   _nc_mvcur_wrap(void)
                { /* void */ }
 
+#undef mvcur_sp
+int    mvcur_sp(
+               SCREEN  *sp, 
+               int     yold, 
+               int     xold, 
+               int     ynew, 
+               int     xnew)
+               { return(*(int *)0); }
+
 #undef mvcur
 int    mvcur(
                int     yold, 
@@ -1347,14 +1545,32 @@ int     mvwin(
 
 /* ./base/lib_newterm.c */
 
+#undef filter_sp
+void   filter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef filter
 void   filter(void)
                { /* void */ }
 
+#undef nofilter_sp
+void   nofilter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef nofilter
 void   nofilter(void)
                { /* void */ }
 
+#undef newterm_sp
+SCREEN *newterm_sp(
+               SCREEN  *sp, 
+               char    *name, 
+               FILE    *ofp, 
+               FILE    *ifp)
+               { return(*(SCREEN **)0); }
+
 #undef newterm
 SCREEN *newterm(
                char    *name, 
@@ -1369,6 +1585,15 @@ int      _nc_freewin(
                WINDOW  *win)
                { return(*(int *)0); }
 
+#undef newwin_sp
+WINDOW *newwin_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
 #undef newwin
 WINDOW *newwin(
                int     num_lines, 
@@ -1395,6 +1620,16 @@ WINDOW   *subwin(
                int     x)
                { return(*(WINDOW **)0); }
 
+#undef _nc_makenew_sp
+WINDOW *_nc_makenew_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx, 
+               int     flags)
+               { return(*(WINDOW **)0); }
+
 #undef _nc_makenew
 WINDOW *_nc_makenew(
                int     num_lines, 
@@ -1404,17 +1639,37 @@ WINDOW  *_nc_makenew(
                int     flags)
                { return(*(WINDOW **)0); }
 
-#undef _nc_screen_of
-SCREEN *_nc_screen_of(
-               WINDOW  *win)
-               { return(*(SCREEN **)0); }
+#undef _nc_curscr_of
+WINDOW *_nc_curscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_newscr_of
+WINDOW *_nc_newscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_stdscr_of
+WINDOW *_nc_stdscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
 
 /* ./base/lib_nl.c */
 
+#undef nl_sp
+int    nl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nl
 int    nl(void)
                { return(*(int *)0); }
 
+#undef nonl_sp
+int    nonl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nonl
 int    nonl(void)
                { return(*(int *)0); }
@@ -1448,6 +1703,13 @@ int      copywin(
 
 /* ./base/lib_pad.c */
 
+#undef newpad_sp
+WINDOW *newpad_sp(
+               SCREEN  *sp, 
+               int     l, 
+               int     c)
+               { return(*(WINDOW **)0); }
+
 #undef newpad
 WINDOW *newpad(
                int     l, 
@@ -1553,6 +1815,14 @@ int      wnoutrefresh(
 
 /* ./base/lib_restart.c */
 
+#undef restartterm_sp
+int    restartterm_sp(
+               SCREEN  *sp, 
+               char    *termp, 
+               int     filenum, 
+               int     *errret)
+               { return(*(int *)0); }
+
 #undef restartterm
 int    restartterm(
                char    *termp, 
@@ -1601,6 +1871,12 @@ int      mvwscanw(
 
 /* ./base/lib_screen.c */
 
+#undef getwin_sp
+WINDOW *getwin_sp(
+               SCREEN  *sp, 
+               FILE    *filep)
+               { return(*(WINDOW **)0); }
+
 #undef getwin
 WINDOW *getwin(
                FILE    *filep)
@@ -1612,6 +1888,12 @@ int      putwin(
                FILE    *filep)
                { return(*(int *)0); }
 
+#undef scr_restore_sp
+int    scr_restore_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_restore
 int    scr_restore(
                const char *file)
@@ -1622,11 +1904,23 @@ int     scr_dump(
                const char *file)
                { return(*(int *)0); }
 
+#undef scr_init_sp
+int    scr_init_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_init
 int    scr_init(
                const char *file)
                { return(*(int *)0); }
 
+#undef scr_set_sp
+int    scr_set_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
 #undef scr_set
 int    scr_set(
                const char *file)
@@ -1687,6 +1981,15 @@ int      _nc_setupscreen(
                int     slk_format)
                { return(*(int *)0); }
 
+#undef _nc_ripoffline_sp
+int    _nc_ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
 #undef _nc_ripoffline
 int    _nc_ripoffline(
                int     line, 
@@ -1695,6 +1998,15 @@ int      _nc_ripoffline(
                int     p2))
                { return(*(int *)0); }
 
+#undef ripoffline_sp
+int    ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
 #undef ripoffline
 int    ripoffline(
                int     line, 
@@ -1711,12 +2023,25 @@ int     _nc_slk_initialize(
                int     cols)
                { return(*(int *)0); }
 
+#undef slk_restore_sp
+int    slk_restore_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_restore
 int    slk_restore(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkatr_set.c */
 
+#undef slk_attr_set_sp
+int    slk_attr_set_sp(
+               SCREEN  *sp, 
+               const attr_t attr, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
 #undef slk_attr_set
 int    slk_attr_set(
                const attr_t attr, 
@@ -1726,6 +2051,12 @@ int      slk_attr_set(
 
 /* ./base/lib_slkatrof.c */
 
+#undef slk_attroff_sp
+int    slk_attroff_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attroff
 int    slk_attroff(
                const chtype attr)
@@ -1733,6 +2064,12 @@ int      slk_attroff(
 
 /* ./base/lib_slkatron.c */
 
+#undef slk_attron_sp
+int    slk_attron_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attron
 int    slk_attron(
                const chtype attr)
@@ -1740,6 +2077,12 @@ int      slk_attron(
 
 /* ./base/lib_slkatrset.c */
 
+#undef slk_attrset_sp
+int    slk_attrset_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
 #undef slk_attrset
 int    slk_attrset(
                const chtype attr)
@@ -1747,18 +2090,34 @@ int     slk_attrset(
 
 /* ./base/lib_slkattr.c */
 
+#undef slk_attr_sp
+attr_t slk_attr_sp(
+               SCREEN  *sp)
+               { return(*(attr_t *)0); }
+
 #undef slk_attr
 attr_t slk_attr(void)
                { return(*(attr_t *)0); }
 
 /* ./base/lib_slkclear.c */
 
+#undef slk_clear_sp
+int    slk_clear_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_clear
 int    slk_clear(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkcolor.c */
 
+#undef slk_color_sp
+int    slk_color_sp(
+               SCREEN  *sp, 
+               short   color_pair_number)
+               { return(*(int *)0); }
+
 #undef slk_color
 int    slk_color(
                short   color_pair_number)
@@ -1766,13 +2125,25 @@ int     slk_color(
 
 /* ./base/lib_slkinit.c */
 
-#undef slk_init
+#undef slk_init_sp
+int    slk_init_sp(
+               SCREEN  *sp, 
+               int     format)
+               { return(*(int *)0); }
+
+#undef slk_init
 int    slk_init(
                int     format)
                { return(*(int *)0); }
 
 /* ./base/lib_slklab.c */
 
+#undef slk_label_sp
+char   *slk_label_sp(
+               SCREEN  *sp, 
+               int     n)
+               { return(*(char **)0); }
+
 #undef slk_label
 char   *slk_label(
                int     n)
@@ -1780,16 +2151,34 @@ char    *slk_label(
 
 /* ./base/lib_slkrefr.c */
 
+#undef slk_noutrefresh_sp
+int    slk_noutrefresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_noutrefresh
 int    slk_noutrefresh(void)
                { return(*(int *)0); }
 
+#undef slk_refresh_sp
+int    slk_refresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_refresh
 int    slk_refresh(void)
                { return(*(int *)0); }
 
 /* ./base/lib_slkset.c */
 
+#undef slk_set_sp
+int    slk_set_sp(
+               SCREEN  *sp, 
+               int     i, 
+               const char *astr, 
+               int     format)
+               { return(*(int *)0); }
+
 #undef slk_set
 int    slk_set(
                int     i, 
@@ -1799,6 +2188,11 @@ int      slk_set(
 
 /* ./base/lib_slktouch.c */
 
+#undef slk_touch_sp
+int    slk_touch_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef slk_touch
 int    slk_touch(void)
                { return(*(int *)0); }
@@ -1861,8 +2255,8 @@ void      _nc_fifo_dump(
                SCREEN  *sp)
                { /* void */ }
 
-#undef _nc_ungetch
-int    _nc_ungetch(
+#undef ungetch_sp
+int    ungetch_sp(
                SCREEN  *sp, 
                int     ch)
                { return(*(int *)0); }
@@ -1874,11 +2268,23 @@ int     ungetch(
 
 /* ./tty/lib_vidattr.c */
 
+#undef vidputs_sp
+int    vidputs_sp(
+               SCREEN  *sp, 
+               chtype  newmode, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
 #undef vidputs
 int    vidputs(
                chtype  newmode, 
-               int     (*outc)(
-               int     p1))
+               NCURSES_OUTC outc)
+               { return(*(int *)0); }
+
+#undef vidattr_sp
+int    vidattr_sp(
+               SCREEN  *sp, 
+               chtype  newmode)
                { return(*(int *)0); }
 
 #undef vidattr
@@ -1886,6 +2292,11 @@ int      vidattr(
                chtype  newmode)
                { return(*(int *)0); }
 
+#undef termattrs_sp
+chtype termattrs_sp(
+               SCREEN  *sp)
+               { return(*(chtype *)0); }
+
 #undef termattrs
 chtype termattrs(void)
                { return(*(chtype *)0); }
@@ -1966,12 +2377,24 @@ WINDOW  *dupwin(
 
 /* ./base/nc_panel.c */
 
+#undef _nc_panelhook_sp
+struct panelhook *_nc_panelhook_sp(
+               SCREEN  *sp)
+               { return(*(struct panelhook **)0); }
+
 #undef _nc_panelhook
 struct panelhook *_nc_panelhook(void)
                { return(*(struct panelhook **)0); }
 
 /* ./base/safe_sprintf.c */
 
+#undef _nc_printf_string_sp
+char   *_nc_printf_string_sp(
+               SCREEN  *sp, 
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
 #undef _nc_printf_string
 char   *_nc_printf_string(
                const char *fmt, 
@@ -1983,10 +2406,24 @@ char    *_nc_printf_string(
 #include <sys/time.h>
 #include <sys/times.h>
 
+#undef doupdate_sp
+int    doupdate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef doupdate
 int    doupdate(void)
                { return(*(int *)0); }
 
+#undef _nc_scrolln_sp
+int    _nc_scrolln_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot, 
+               int     maxy)
+               { return(*(int *)0); }
+
 #undef _nc_scrolln
 int    _nc_scrolln(
                int     n, 
@@ -1995,18 +2432,39 @@ int     _nc_scrolln(
                int     maxy)
                { return(*(int *)0); }
 
+#undef _nc_screen_resume_sp
+void   _nc_screen_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_resume
 void   _nc_screen_resume(void)
                { /* void */ }
 
+#undef _nc_screen_init_sp
+void   _nc_screen_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_init
 void   _nc_screen_init(void)
                { /* void */ }
 
+#undef _nc_screen_wrap_sp
+void   _nc_screen_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_screen_wrap
 void   _nc_screen_wrap(void)
                { /* void */ }
 
+#undef _nc_do_xmc_glitch_sp
+void   _nc_do_xmc_glitch_sp(
+               SCREEN  *sp, 
+               attr_t  previous)
+               { /* void */ }
+
 #undef _nc_do_xmc_glitch
 void   _nc_do_xmc_glitch(
                attr_t  previous)
@@ -2044,6 +2502,12 @@ void     _nc_vsscanf(void)
 void   _nc_freeall(void)
                { /* void */ }
 
+#undef _nc_free_and_exit_sp
+void   _nc_free_and_exit_sp(
+               SCREEN  *sp, 
+               int     code)
+               { /* void */ }
+
 #undef _nc_free_and_exit
 void   _nc_free_and_exit(
                int     code)
@@ -2063,6 +2527,24 @@ void     _nc_toggle_attr_off(
                attr_t  at)
                { /* void */ }
 
+#undef _nc_DelCharCost_sp
+int    _nc_DelCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_InsCharCost_sp
+int    _nc_InsCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_UpdateAttrs_sp
+void   _nc_UpdateAttrs_sp(
+               SCREEN  *sp, 
+               chtype  c)
+               { /* void */ }
+
 #undef _nc_DelCharCost
 int    _nc_DelCharCost(
                int     count)
@@ -2080,6 +2562,12 @@ void     _nc_UpdateAttrs(
 
 /* ./base/legacy_coding.c */
 
+#undef use_legacy_coding_sp
+int    use_legacy_coding_sp(
+               SCREEN  *sp, 
+               int     level)
+               { return(*(int *)0); }
+
 #undef use_legacy_coding
 int    use_legacy_coding(
                int     level)
@@ -2087,10 +2575,22 @@ int     use_legacy_coding(
 
 /* ./base/lib_dft_fgbg.c */
 
+#undef use_default_colors_sp
+int    use_default_colors_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef use_default_colors
 int    use_default_colors(void)
                { return(*(int *)0); }
 
+#undef assume_default_colors_sp
+int    assume_default_colors_sp(
+               SCREEN  *sp, 
+               int     fg, 
+               int     bg)
+               { return(*(int *)0); }
+
 #undef assume_default_colors
 int    assume_default_colors(
                int     fg, 
@@ -2099,6 +2599,13 @@ int      assume_default_colors(
 
 /* ./tinfo/lib_print.c */
 
+#undef mcprint_sp
+int    mcprint_sp(
+               SCREEN  *sp, 
+               char    *data, 
+               int     len)
+               { return(*(int *)0); }
+
 #undef mcprint
 int    mcprint(
                char    *data, 
@@ -2107,18 +2614,39 @@ int     mcprint(
 
 /* ./base/resizeterm.c */
 
+#undef is_term_resized_sp
+NCURSES_BOOL is_term_resized_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef is_term_resized
 NCURSES_BOOL is_term_resized(
                int     ToLines, 
                int     ToCols)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef resize_term_sp
+int    resize_term_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
 #undef resize_term
 int    resize_term(
                int     ToLines, 
                int     ToCols)
                { return(*(int *)0); }
 
+#undef resizeterm_sp
+int    resizeterm_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
 #undef resizeterm
 int    resizeterm(
                int     ToLines, 
@@ -2408,6 +2936,11 @@ void     _nc_init_keytry(
 chtype *_nc_acs_map(void)
                { return(*(chtype **)0); }
 
+#undef _nc_init_acs_sp
+void   _nc_init_acs_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_init_acs
 void   _nc_init_acs(void)
                { /* void */ }
@@ -2431,6 +2964,11 @@ int      _nc_ospeed(
                int     BaudRate)
                { return(*(int *)0); }
 
+#undef baudrate_sp
+int    baudrate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef baudrate
 int    baudrate(void)
                { return(*(int *)0); }
@@ -2446,6 +2984,12 @@ TERMINAL *set_curterm(
                TERMINAL *termp)
                { return(*(TERMINAL **)0); }
 
+#undef del_curterm_sp
+int    del_curterm_sp(
+               SCREEN  *sp, 
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
 #undef del_curterm
 int    del_curterm(
                TERMINAL *termp)
@@ -2474,6 +3018,11 @@ NCURSES_GLOBALS _nc_globals;
 #undef _nc_prescreen
 NCURSES_PRESCREEN _nc_prescreen;
 
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+               WINDOW  *win)
+               { return(*(SCREEN **)0); }
+
 #undef _nc_init_pthreads
 void   _nc_init_pthreads(void)
                { /* void */ }
@@ -2500,24 +3049,49 @@ int     _nc_mutex_unlock(
 
 /* ./tinfo/lib_has_cap.c */
 
+#undef has_ic_sp
+NCURSES_BOOL has_ic_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_ic
 NCURSES_BOOL has_ic(void)
                { return(*(NCURSES_BOOL *)0); }
 
+#undef has_il_sp
+NCURSES_BOOL has_il_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
 #undef has_il
 NCURSES_BOOL has_il(void)
                { return(*(NCURSES_BOOL *)0); }
 
 /* ./tinfo/lib_kernel.c */
 
+#undef erasechar_sp
+char   erasechar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
 #undef erasechar
 char   erasechar(void)
                { return(*(char *)0); }
 
+#undef killchar_sp
+char   killchar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
 #undef killchar
 char   killchar(void)
                { return(*(char *)0); }
 
+#undef flushinp_sp
+int    flushinp_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef flushinp
 int    flushinp(void)
                { return(*(int *)0); }
@@ -2526,8 +3100,8 @@ int       flushinp(void)
 
 struct kn { short offset; int code; };
 
-#undef _nc_keyname
-char   *_nc_keyname(
+#undef keyname_sp
+char   *keyname_sp(
                SCREEN  *sp, 
                int     c)
                { return(*(char **)0); }
@@ -2539,12 +3113,23 @@ char    *keyname(
 
 /* ./tinfo/lib_longname.c */
 
+#undef longname_sp
+char   *longname_sp(
+               SCREEN  *sp)
+               { return(*(char **)0); }
+
 #undef longname
 char   *longname(void)
                { return(*(char **)0); }
 
 /* ./tinfo/lib_napms.c */
 
+#undef napms_sp
+int    napms_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
 #undef napms
 int    napms(
                int     ms)
@@ -2564,6 +3149,12 @@ void     idcok(
                NCURSES_BOOL flag)
                { /* void */ }
 
+#undef halfdelay_sp
+int    halfdelay_sp(
+               SCREEN  *sp, 
+               int     t)
+               { return(*(int *)0); }
+
 #undef halfdelay
 int    halfdelay(
                int     t)
@@ -2599,21 +3190,52 @@ int     meta(
                NCURSES_BOOL flag)
                { return(*(int *)0); }
 
+#undef curs_set_sp
+int    curs_set_sp(
+               SCREEN  *sp, 
+               int     vis)
+               { return(*(int *)0); }
+
 #undef curs_set
 int    curs_set(
                int     vis)
                { return(*(int *)0); }
 
+#undef typeahead_sp
+int    typeahead_sp(
+               SCREEN  *sp, 
+               int     fd)
+               { return(*(int *)0); }
+
 #undef typeahead
 int    typeahead(
                int     fd)
                { return(*(int *)0); }
 
+#undef has_key_sp
+int    has_key_sp(
+               SCREEN  *sp, 
+               int     keycode)
+               { return(*(int *)0); }
+
 #undef has_key
 int    has_key(
                int     keycode)
                { return(*(int *)0); }
 
+#undef _nc_putp_flush_sp
+int    _nc_putp_flush_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
+#undef _nc_putp_flush
+int    _nc_putp_flush(
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
 #undef _nc_keypad
 int    _nc_keypad(
                SCREEN  *sp, 
@@ -2622,30 +3244,67 @@ int     _nc_keypad(
 
 /* ./tinfo/lib_raw.c */
 
+#undef raw_sp
+int    raw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef raw
 int    raw(void)
                { return(*(int *)0); }
 
+#undef cbreak_sp
+int    cbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef cbreak
 int    cbreak(void)
                { return(*(int *)0); }
 
+#undef qiflush_sp
+void   qiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef qiflush
 void   qiflush(void)
                { /* void */ }
 
+#undef noraw_sp
+int    noraw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef noraw
 int    noraw(void)
                { return(*(int *)0); }
 
+#undef nocbreak_sp
+int    nocbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef nocbreak
 int    nocbreak(void)
                { return(*(int *)0); }
 
+#undef noqiflush_sp
+void   noqiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef noqiflush
 void   noqiflush(void)
                { /* void */ }
 
+#undef intrflush_sp
+int    intrflush_sp(
+               SCREEN  *sp, 
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
 #undef intrflush
 int    intrflush(
                WINDOW  *win, 
@@ -2663,7 +3322,8 @@ char      *_nc_ttytype(void)
                { return(*(char **)0); }
 
 #undef _nc_ptr_Lines
-int    *_nc_ptr_Lines(void)
+int    *_nc_ptr_Lines(
+               SCREEN  *sp)
                { return(*(int **)0); }
 
 #undef _nc_LINES
@@ -2671,17 +3331,29 @@ int     _nc_LINES(void)
                { return(*(int *)0); }
 
 #undef _nc_ptr_Cols
-int    *_nc_ptr_Cols(void)
+int    *_nc_ptr_Cols(
+               SCREEN  *sp)
                { return(*(int **)0); }
 
 #undef _nc_COLS
 int    _nc_COLS(void)
                { return(*(int *)0); }
 
+#undef _nc_ptr_Tabsize
+int    *_nc_ptr_Tabsize(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
 #undef _nc_TABSIZE
 int    _nc_TABSIZE(void)
                { return(*(int *)0); }
 
+#undef set_tabsize_sp
+int    set_tabsize_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
 #undef set_tabsize
 int    set_tabsize(
                int     value)
@@ -2692,6 +3364,12 @@ int      _nc_handle_sigwinch(
                SCREEN  *sp)
                { return(*(int *)0); }
 
+#undef use_env_sp
+void   use_env_sp(
+               SCREEN  *sp, 
+               NCURSES_BOOL f)
+               { /* void */ }
+
 #undef use_env
 void   use_env(
                NCURSES_BOOL f)
@@ -2744,8 +3422,9 @@ char      *UP;
 #undef BC
 char   *BC;
 
-#undef tgetent
-int    tgetent(
+#undef tgetent_sp
+int    tgetent_sp(
+               SCREEN  *sp, 
                char    *bufp, 
                const char *name)
                { return(*(int *)0); }
@@ -2756,16 +3435,41 @@ int     tgetent(
 
 #endif
 
+#undef tgetent
+int    tgetent(
+               char    *bufp, 
+               const char *name)
+               { return(*(int *)0); }
+
+#undef tgetflag_sp
+int    tgetflag_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
 #undef tgetflag
 int    tgetflag(
                char    *id)
                { return(*(int *)0); }
 
+#undef tgetnum_sp
+int    tgetnum_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
 #undef tgetnum
 int    tgetnum(
                char    *id)
                { return(*(int *)0); }
 
+#undef tgetstr_sp
+char   *tgetstr_sp(
+               SCREEN  *sp, 
+               char    *id, 
+               char    **area)
+               { return(*(char **)0); }
+
 #undef tgetstr
 char   *tgetstr(
                char    *id, 
@@ -2774,6 +3478,11 @@ char     *tgetstr(
 
 /* ./tinfo/lib_termname.c */
 
+#undef termname_sp
+char   *termname_sp(
+               SCREEN  *sp)
+               { return(*(char **)0); }
+
 #undef termname
 char   *termname(void)
                { return(*(char **)0); }
@@ -2789,16 +3498,34 @@ char    *tgoto(
 
 /* ./tinfo/lib_ti.c */
 
+#undef tigetflag_sp
+int    tigetflag_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
 #undef tigetflag
 int    tigetflag(
                char    *str)
                { return(*(int *)0); }
 
+#undef tigetnum_sp
+int    tigetnum_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
 #undef tigetnum
 int    tigetnum(
                char    *str)
                { return(*(int *)0); }
 
+#undef tigetstr_sp
+char   *tigetstr_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(char **)0); }
+
 #undef tigetstr
 char   *tigetstr(
                char    *str)
@@ -2836,25 +3563,75 @@ void    _nc_set_no_padding(
                SCREEN  *sp)
                { /* void */ }
 
+#undef delay_output_sp
+int    delay_output_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
 #undef delay_output
 int    delay_output(
                int     ms)
                { return(*(int *)0); }
 
+#undef _nc_flush_sp
+void   _nc_flush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
 #undef _nc_flush
 void   _nc_flush(void)
                { /* void */ }
 
+#undef _nc_outch_sp
+int    _nc_outch_sp(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
 #undef _nc_outch
 int    _nc_outch(
                int     ch)
                { return(*(int *)0); }
 
+#undef putp_sp
+int    putp_sp(
+               SCREEN  *sp, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef _nc_putp_sp
+int    _nc_putp_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
 #undef putp
 int    putp(
                const char *string)
                { return(*(int *)0); }
 
+#undef _nc_putp
+int    _nc_putp(
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef tputs_sp
+int    tputs_sp(
+               SCREEN  *sp, 
+               const char *string, 
+               int     affcnt, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
+#undef _nc_outc_wrapper
+int    _nc_outc_wrapper(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(int *)0); }
+
 #undef tputs
 int    tputs(
                const char *string, 
@@ -3024,36 +3801,78 @@ char    *_tracechar(
 
 /* ./tinfo/lib_ttyflags.c */
 
+#undef _nc_get_tty_mode_sp
+int    _nc_get_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
 #undef _nc_get_tty_mode
 int    _nc_get_tty_mode(
                struct termios *buf)
                { return(*(int *)0); }
 
+#undef _nc_set_tty_mode_sp
+int    _nc_set_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
 #undef _nc_set_tty_mode
 int    _nc_set_tty_mode(
                struct termios *buf)
                { return(*(int *)0); }
 
+#undef def_shell_mode_sp
+int    def_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef def_shell_mode
 int    def_shell_mode(void)
                { return(*(int *)0); }
 
+#undef def_prog_mode_sp
+int    def_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef def_prog_mode
 int    def_prog_mode(void)
                { return(*(int *)0); }
 
+#undef reset_prog_mode_sp
+int    reset_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef reset_prog_mode
 int    reset_prog_mode(void)
                { return(*(int *)0); }
 
+#undef reset_shell_mode_sp
+int    reset_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef reset_shell_mode
 int    reset_shell_mode(void)
                { return(*(int *)0); }
 
+#undef savetty_sp
+int    savetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef savetty
 int    savetty(void)
                { return(*(int *)0); }
 
+#undef resetty_sp
+int    resetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
 #undef resetty
 int    resetty(void)
                { return(*(int *)0); }
@@ -3144,6 +3963,13 @@ int      _nc_read_termcap_entry(
 
 /* ./tinfo/setbuf.c */
 
+#undef _nc_set_buffer_sp
+void   _nc_set_buffer_sp(
+               SCREEN  *sp, 
+               FILE    *ofp, 
+               NCURSES_BOOL buffered)
+               { /* void */ }
+
 #undef _nc_set_buffer
 void   _nc_set_buffer(
                FILE    *ofp, 
@@ -3235,8 +4061,8 @@ char      *_nc_trim_sgr0(
 
 /* ./unctrl.c */
 
-#undef _nc_unctrl
-char   *_nc_unctrl(
+#undef unctrl_sp
+char   *unctrl_sp(
                SCREEN  *sp, 
                chtype  ch)
                { return(*(char **)0); }
@@ -3485,6 +4311,13 @@ int      _nc_tic_written(void)
 
 /* ./base/define_key.c */
 
+#undef define_key_sp
+int    define_key_sp(
+               SCREEN  *sp, 
+               const char *str, 
+               int     keycode)
+               { return(*(int *)0); }
+
 #undef define_key
 int    define_key(
                const char *str, 
@@ -3499,6 +4332,12 @@ void     _nc_hashed_db(void)
 
 /* ./base/key_defined.c */
 
+#undef key_defined_sp
+int    key_defined_sp(
+               SCREEN  *sp, 
+               const char *str)
+               { return(*(int *)0); }
+
 #undef key_defined
 int    key_defined(
                const char *str)
@@ -3506,6 +4345,13 @@ int      key_defined(
 
 /* ./base/keybound.c */
 
+#undef keybound_sp
+char   *keybound_sp(
+               SCREEN  *sp, 
+               int     code, 
+               int     count)
+               { return(*(char **)0); }
+
 #undef keybound
 char   *keybound(
                int     code, 
@@ -3514,6 +4360,13 @@ char     *keybound(
 
 /* ./base/keyok.c */
 
+#undef keyok_sp
+int    keyok_sp(
+               SCREEN  *sp, 
+               int     c, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
 #undef keyok
 int    keyok(
                int     c, 
diff --git a/ncurses/llib-lncursestw b/ncurses/llib-lncursestw
new file mode 100644 (file)
index 0000000..6943790
--- /dev/null
@@ -0,0 +1,5192 @@
+/****************************************************************************
+ * Copyright (c) 2008 Free Software Foundation, Inc.                        *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey 2008                                           *
+ ****************************************************************************/
+/* LINTLIBRARY */
+
+/* ./tty/hardscroll.c */
+
+#include <curses.priv.h>
+
+#undef _nc_oldnums
+int    *_nc_oldnums;
+
+#undef _nc_scroll_optimize_sp
+void   _nc_scroll_optimize_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_scroll_optimize
+void   _nc_scroll_optimize(void)
+               { /* void */ }
+
+#undef _nc_linedump_sp
+void   _nc_linedump_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_linedump
+void   _nc_linedump(void)
+               { /* void */ }
+
+/* ./tty/hashmap.c */
+
+#undef _nc_hash_map_sp
+void   _nc_hash_map_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_hash_map
+void   _nc_hash_map(void)
+               { /* void */ }
+
+#undef _nc_make_oldhash_sp
+void   _nc_make_oldhash_sp(
+               SCREEN  *sp, 
+               int     i)
+               { /* void */ }
+
+#undef _nc_make_oldhash
+void   _nc_make_oldhash(
+               int     i)
+               { /* void */ }
+
+#undef _nc_scroll_oldhash_sp
+void   _nc_scroll_oldhash_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot)
+               { /* void */ }
+
+#undef _nc_scroll_oldhash
+void   _nc_scroll_oldhash(
+               int     n, 
+               int     top, 
+               int     bot)
+               { /* void */ }
+
+/* ./base/lib_addch.c */
+
+#include <ctype.h>
+
+#undef _nc_render
+cchar_t        _nc_render(
+               WINDOW  *win, 
+               cchar_t ch)
+               { return(*(cchar_t *)0); }
+
+#undef _nc_build_wch
+int    _nc_build_wch(
+               WINDOW  *win, 
+               cchar_t *ch)
+               { return(*(int *)0); }
+
+#undef _nc_waddch_nosync
+int    _nc_waddch_nosync(
+               WINDOW  *win, 
+               const cchar_t c)
+               { return(*(int *)0); }
+
+#undef waddch
+int    waddch(
+               WINDOW  *win, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+#undef wechochar
+int    wechochar(
+               WINDOW  *win, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_addstr.c */
+
+#undef waddnstr
+int    waddnstr(
+               WINDOW  *win, 
+               const char *astr, 
+               int     n)
+               { return(*(int *)0); }
+
+#undef waddchnstr
+int    waddchnstr(
+               WINDOW  *win, 
+               const chtype *astr, 
+               int     n)
+               { return(*(int *)0); }
+
+#undef _nc_wchstrlen
+int    _nc_wchstrlen(
+               const cchar_t *s)
+               { return(*(int *)0); }
+
+#undef wadd_wchnstr
+int    wadd_wchnstr(
+               WINDOW  *win, 
+               const cchar_t *astr, 
+               int     n)
+               { return(*(int *)0); }
+
+#undef waddnwstr
+int    waddnwstr(
+               WINDOW  *win, 
+               const wchar_t *str, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_beep.c */
+
+#undef beep_sp
+int    beep_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef beep
+int    beep(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_bkgd.c */
+
+#undef wbkgrndset
+void   wbkgrndset(
+               WINDOW  *win, 
+               const cchar_t *ch)
+               { /* void */ }
+
+#undef wbkgdset
+void   wbkgdset(
+               WINDOW  *win, 
+               chtype  ch)
+               { /* void */ }
+
+#undef wbkgrnd
+int    wbkgrnd(
+               WINDOW  *win, 
+               const cchar_t *ch)
+               { return(*(int *)0); }
+
+#undef wbkgd
+int    wbkgd(
+               WINDOW  *win, 
+               chtype  ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_box.c */
+
+#undef wborder
+int    wborder(
+               WINDOW  *win, 
+               chtype  ls, 
+               chtype  rs, 
+               chtype  ts, 
+               chtype  bs, 
+               chtype  tl, 
+               chtype  tr, 
+               chtype  bl, 
+               chtype  br)
+               { return(*(int *)0); }
+
+/* ./base/lib_chgat.c */
+
+#undef wchgat
+int    wchgat(
+               WINDOW  *win, 
+               int     n, 
+               attr_t  attr, 
+               short   color, 
+               const void *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_clear.c */
+
+#undef wclear
+int    wclear(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_clearok.c */
+
+#undef clearok
+int    clearok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_clrbot.c */
+
+#undef wclrtobot
+int    wclrtobot(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_clreol.c */
+
+#undef wclrtoeol
+int    wclrtoeol(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_color.c */
+
+#include <term.h>
+#include <tic.h>
+
+#undef _nc_COLOR_PAIRS
+int    _nc_COLOR_PAIRS(void)
+               { return(*(int *)0); }
+
+#undef _nc_COLORS
+int    _nc_COLORS(void)
+               { return(*(int *)0); }
+
+#undef _nc_reset_colors_sp
+NCURSES_BOOL _nc_reset_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_reset_colors
+NCURSES_BOOL _nc_reset_colors(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef start_color_sp
+int    start_color_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef start_color
+int    start_color(void)
+               { return(*(int *)0); }
+
+#undef init_pair_sp
+int    init_pair_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   f, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef init_pair
+int    init_pair(
+               short   pair, 
+               short   f, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef init_color_sp
+int    init_color_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   r, 
+               short   g, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef init_color
+int    init_color(
+               short   color, 
+               short   r, 
+               short   g, 
+               short   b)
+               { return(*(int *)0); }
+
+#undef can_change_color_sp
+NCURSES_BOOL can_change_color_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef can_change_color
+NCURSES_BOOL can_change_color(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_colors_sp
+NCURSES_BOOL has_colors_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_colors
+NCURSES_BOOL has_colors(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef color_content_sp
+int    color_content_sp(
+               SCREEN  *sp, 
+               short   color, 
+               short   *r, 
+               short   *g, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef color_content
+int    color_content(
+               short   color, 
+               short   *r, 
+               short   *g, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef pair_content_sp
+int    pair_content_sp(
+               SCREEN  *sp, 
+               short   pair, 
+               short   *f, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef pair_content
+int    pair_content(
+               short   pair, 
+               short   *f, 
+               short   *b)
+               { return(*(int *)0); }
+
+#undef _nc_do_color_sp
+void   _nc_do_color_sp(
+               SCREEN  *sp, 
+               short   old_pair, 
+               short   pair, 
+               NCURSES_BOOL reverse, 
+               NCURSES_OUTC_sp outc)
+               { /* void */ }
+
+#undef _nc_do_color
+void   _nc_do_color(
+               short   old_pair, 
+               short   pair, 
+               NCURSES_BOOL reverse, 
+               NCURSES_OUTC outc)
+               { /* void */ }
+
+/* ./base/lib_colorset.c */
+
+#undef wcolor_set
+int    wcolor_set(
+               WINDOW  *win, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_delch.c */
+
+#undef wdelch
+int    wdelch(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_delwin.c */
+
+#undef delwin
+int    delwin(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_echo.c */
+
+#undef echo_sp
+int    echo_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef echo
+int    echo(void)
+               { return(*(int *)0); }
+
+#undef noecho_sp
+int    noecho_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef noecho
+int    noecho(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_endwin.c */
+
+#undef endwin_sp
+int    endwin_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef endwin
+int    endwin(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_erase.c */
+
+#undef werase
+int    werase(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_flash.c */
+
+#undef flash_sp
+int    flash_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef flash
+int    flash(void)
+               { return(*(int *)0); }
+
+/* ./lib_gen.c */
+
+#undef addch
+int    addch(
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef addchnstr
+int    addchnstr(
+               const chtype *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef addchstr
+int    addchstr(
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef addnstr
+int    addnstr(
+               const char *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef addstr
+int    addstr(
+               const char *z)
+               { return(*(int *)0); }
+
+#undef attroff
+int    attroff(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attron
+int    attron(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attrset
+int    attrset(
+               NCURSES_ATTR_T  z)
+               { return(*(int *)0); }
+
+#undef attr_get
+int    attr_get(
+               attr_t  *a1, 
+               short   *a2, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_off
+int    attr_off(
+               attr_t  a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_on
+int    attr_on(
+               attr_t  a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef attr_set
+int    attr_set(
+               attr_t  a1, 
+               short   a2, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef bkgd
+int    bkgd(
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef bkgdset
+void   bkgdset(
+               chtype  z)
+               { /* void */ }
+
+#undef border
+int    border(
+               chtype  a1, 
+               chtype  a2, 
+               chtype  a3, 
+               chtype  a4, 
+               chtype  a5, 
+               chtype  a6, 
+               chtype  a7, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef box
+int    box(
+               WINDOW  *a1, 
+               chtype  a2, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef chgat
+int    chgat(
+               int     a1, 
+               attr_t  a2, 
+               short   a3, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef clear
+int    clear(void)
+               { return(*(int *)0); }
+
+#undef clrtobot
+int    clrtobot(void)
+               { return(*(int *)0); }
+
+#undef clrtoeol
+int    clrtoeol(void)
+               { return(*(int *)0); }
+
+#undef color_set
+int    color_set(
+               short   a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef COLOR_PAIR
+int    COLOR_PAIR(
+               int     z)
+               { return(*(int *)0); }
+
+#undef delch
+int    delch(void)
+               { return(*(int *)0); }
+
+#undef deleteln
+int    deleteln(void)
+               { return(*(int *)0); }
+
+#undef echochar
+int    echochar(
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef erase
+int    erase(void)
+               { return(*(int *)0); }
+
+#undef getbkgd
+chtype getbkgd(
+               WINDOW  *z)
+               { return(*(chtype *)0); }
+
+#undef getch
+int    getch(void)
+               { return(*(int *)0); }
+
+#undef getnstr
+int    getnstr(
+               char    *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef getstr
+int    getstr(
+               char    *z)
+               { return(*(int *)0); }
+
+#undef hline
+int    hline(
+               chtype  a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef inch
+chtype inch(void)
+               { return(*(chtype *)0); }
+
+#undef inchnstr
+int    inchnstr(
+               chtype  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef inchstr
+int    inchstr(
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef innstr
+int    innstr(
+               char    *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef insch
+int    insch(
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef insdelln
+int    insdelln(
+               int     z)
+               { return(*(int *)0); }
+
+#undef insertln
+int    insertln(void)
+               { return(*(int *)0); }
+
+#undef insnstr
+int    insnstr(
+               const char *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef insstr
+int    insstr(
+               const char *z)
+               { return(*(int *)0); }
+
+#undef instr
+int    instr(
+               char    *z)
+               { return(*(int *)0); }
+
+#undef move
+int    move(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddch
+int    mvaddch(
+               int     a1, 
+               int     a2, 
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef mvaddchnstr
+int    mvaddchnstr(
+               int     a1, 
+               int     a2, 
+               const chtype *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddchstr
+int    mvaddchstr(
+               int     a1, 
+               int     a2, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef mvaddnstr
+int    mvaddnstr(
+               int     a1, 
+               int     a2, 
+               const char *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddstr
+int    mvaddstr(
+               int     a1, 
+               int     a2, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvchgat
+int    mvchgat(
+               int     a1, 
+               int     a2, 
+               int     a3, 
+               attr_t  a4, 
+               short   a5, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef mvdelch
+int    mvdelch(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetch
+int    mvgetch(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetnstr
+int    mvgetnstr(
+               int     a1, 
+               int     a2, 
+               char    *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvgetstr
+int    mvgetstr(
+               int     a1, 
+               int     a2, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvhline
+int    mvhline(
+               int     a1, 
+               int     a2, 
+               chtype  a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinch
+chtype mvinch(
+               int     a1, 
+               int     z)
+               { return(*(chtype *)0); }
+
+#undef mvinchnstr
+int    mvinchnstr(
+               int     a1, 
+               int     a2, 
+               chtype  *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinchstr
+int    mvinchstr(
+               int     a1, 
+               int     a2, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef mvinnstr
+int    mvinnstr(
+               int     a1, 
+               int     a2, 
+               char    *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinsch
+int    mvinsch(
+               int     a1, 
+               int     a2, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef mvinsnstr
+int    mvinsnstr(
+               int     a1, 
+               int     a2, 
+               const char *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvinsstr
+int    mvinsstr(
+               int     a1, 
+               int     a2, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvinstr
+int    mvinstr(
+               int     a1, 
+               int     a2, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvvline
+int    mvvline(
+               int     a1, 
+               int     a2, 
+               chtype  a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddch
+int    mvwaddch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype z)
+               { return(*(int *)0); }
+
+#undef mvwaddchnstr
+int    mvwaddchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddchstr
+int    mvwaddchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef mvwaddnstr
+int    mvwaddnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddstr
+int    mvwaddstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvwchgat
+int    mvwchgat(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               int     a4, 
+               attr_t  a5, 
+               short   a6, 
+               const void *z)
+               { return(*(int *)0); }
+
+#undef mvwdelch
+int    mvwdelch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetch
+int    mvwgetch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetnstr
+int    mvwgetnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwgetstr
+int    mvwgetstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvwhline
+int    mvwhline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinch
+chtype mvwinch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(chtype *)0); }
+
+#undef mvwinchnstr
+int    mvwinchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinchstr
+int    mvwinchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef mvwinnstr
+int    mvwinnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinsch
+int    mvwinsch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  z)
+               { return(*(int *)0); }
+
+#undef mvwinsnstr
+int    mvwinsnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwinsstr
+int    mvwinsstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef mvwinstr
+int    mvwinstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef mvwvline
+int    mvwvline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               chtype  a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef PAIR_NUMBER
+int    PAIR_NUMBER(
+               int     z)
+               { return(*(int *)0); }
+
+#undef redrawwin
+int    redrawwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef refresh
+int    refresh(void)
+               { return(*(int *)0); }
+
+#undef scrl
+int    scrl(
+               int     z)
+               { return(*(int *)0); }
+
+#undef scroll
+int    scroll(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef setscrreg
+int    setscrreg(
+               int     a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef slk_attr_off
+int    slk_attr_off(
+               const attr_t a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef slk_attr_on
+int    slk_attr_on(
+               attr_t  a1, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef standout
+int    standout(void)
+               { return(*(int *)0); }
+
+#undef standend
+int    standend(void)
+               { return(*(int *)0); }
+
+#undef timeout
+void   timeout(
+               int     z)
+               { /* void */ }
+
+#undef touchline
+int    touchline(
+               WINDOW  *a1, 
+               int     a2, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef touchwin
+int    touchwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef untouchwin
+int    untouchwin(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef vline
+int    vline(
+               chtype  a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef vw_printw
+int    vw_printw(
+               WINDOW  *a1, 
+               const char *a2, 
+               va_list z)
+               { return(*(int *)0); }
+
+#undef vw_scanw
+int    vw_scanw(
+               WINDOW  *a1, 
+               char    *a2, 
+               va_list z)
+               { return(*(int *)0); }
+
+#undef waddchstr
+int    waddchstr(
+               WINDOW  *a1, 
+               const chtype *z)
+               { return(*(int *)0); }
+
+#undef waddstr
+int    waddstr(
+               WINDOW  *a1, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef wattron
+int    wattron(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattroff
+int    wattroff(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattrset
+int    wattrset(
+               WINDOW  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wattr_get
+int    wattr_get(
+               WINDOW  *a1, 
+               attr_t  *a2, 
+               short   *a3, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef wattr_set
+int    wattr_set(
+               WINDOW  *a1, 
+               attr_t  a2, 
+               short   a3, 
+               void    *z)
+               { return(*(int *)0); }
+
+#undef wdeleteln
+int    wdeleteln(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef wgetstr
+int    wgetstr(
+               WINDOW  *a1, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef winchstr
+int    winchstr(
+               WINDOW  *a1, 
+               chtype  *z)
+               { return(*(int *)0); }
+
+#undef winsertln
+int    winsertln(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef winsstr
+int    winsstr(
+               WINDOW  *a1, 
+               const char *z)
+               { return(*(int *)0); }
+
+#undef winstr
+int    winstr(
+               WINDOW  *a1, 
+               char    *z)
+               { return(*(int *)0); }
+
+#undef wstandout
+int    wstandout(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef wstandend
+int    wstandend(
+               WINDOW  *z)
+               { return(*(int *)0); }
+
+#undef getattrs
+int    getattrs(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getcurx
+int    getcurx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getcury
+int    getcury(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getbegx
+int    getbegx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getbegy
+int    getbegy(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getmaxx
+int    getmaxx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getmaxy
+int    getmaxy(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getparx
+int    getparx(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef getpary
+int    getpary(
+               const WINDOW *z)
+               { return(*(int *)0); }
+
+#undef wgetparent
+WINDOW *wgetparent(
+               const WINDOW *z)
+               { return(*(WINDOW **)0); }
+
+#undef is_cleared
+NCURSES_BOOL is_cleared(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_idcok
+NCURSES_BOOL is_idcok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_idlok
+NCURSES_BOOL is_idlok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_immedok
+NCURSES_BOOL is_immedok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_keypad
+NCURSES_BOOL is_keypad(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_leaveok
+NCURSES_BOOL is_leaveok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_nodelay
+NCURSES_BOOL is_nodelay(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_notimeout
+NCURSES_BOOL is_notimeout(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_scrollok
+NCURSES_BOOL is_scrollok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_syncok
+NCURSES_BOOL is_syncok(
+               const WINDOW *z)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef wgetscrreg
+int    wgetscrreg(
+               const WINDOW *a1, 
+               int     *a2, 
+               int     *z)
+               { return(*(int *)0); }
+
+#undef add_wch
+int    add_wch(
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef add_wchnstr
+int    add_wchnstr(
+               const cchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef add_wchstr
+int    add_wchstr(
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef addnwstr
+int    addnwstr(
+               const wchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef addwstr
+int    addwstr(
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef bkgrnd
+int    bkgrnd(
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef bkgrndset
+void   bkgrndset(
+               const cchar_t *z)
+               { /* void */ }
+
+#undef border_set
+int    border_set(
+               const cchar_t *a1, 
+               const cchar_t *a2, 
+               const cchar_t *a3, 
+               const cchar_t *a4, 
+               const cchar_t *a5, 
+               const cchar_t *a6, 
+               const cchar_t *a7, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef box_set
+int    box_set(
+               WINDOW  *a1, 
+               const cchar_t *a2, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef echo_wchar
+int    echo_wchar(
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef get_wch
+int    get_wch(
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef get_wstr
+int    get_wstr(
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef getbkgrnd
+int    getbkgrnd(
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef getn_wstr
+int    getn_wstr(
+               wint_t  *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef hline_set
+int    hline_set(
+               const cchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef in_wch
+int    in_wch(
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef in_wchnstr
+int    in_wchnstr(
+               cchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef in_wchstr
+int    in_wchstr(
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef innwstr
+int    innwstr(
+               wchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef ins_nwstr
+int    ins_nwstr(
+               const wchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef ins_wch
+int    ins_wch(
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef ins_wstr
+int    ins_wstr(
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef inwstr
+int    inwstr(
+               wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvadd_wch
+int    mvadd_wch(
+               int     a1, 
+               int     a2, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvadd_wchnstr
+int    mvadd_wchnstr(
+               int     a1, 
+               int     a2, 
+               const cchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvadd_wchstr
+int    mvadd_wchstr(
+               int     a1, 
+               int     a2, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvaddnwstr
+int    mvaddnwstr(
+               int     a1, 
+               int     a2, 
+               const wchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvaddwstr
+int    mvaddwstr(
+               int     a1, 
+               int     a2, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvget_wch
+int    mvget_wch(
+               int     a1, 
+               int     a2, 
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef mvget_wstr
+int    mvget_wstr(
+               int     a1, 
+               int     a2, 
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef mvgetn_wstr
+int    mvgetn_wstr(
+               int     a1, 
+               int     a2, 
+               wint_t  *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvhline_set
+int    mvhline_set(
+               int     a1, 
+               int     a2, 
+               const cchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvin_wch
+int    mvin_wch(
+               int     a1, 
+               int     a2, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvin_wchnstr
+int    mvin_wchnstr(
+               int     a1, 
+               int     a2, 
+               cchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvin_wchstr
+int    mvin_wchstr(
+               int     a1, 
+               int     a2, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvinnwstr
+int    mvinnwstr(
+               int     a1, 
+               int     a2, 
+               wchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvins_nwstr
+int    mvins_nwstr(
+               int     a1, 
+               int     a2, 
+               const wchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvins_wch
+int    mvins_wch(
+               int     a1, 
+               int     a2, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvins_wstr
+int    mvins_wstr(
+               int     a1, 
+               int     a2, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvinwstr
+int    mvinwstr(
+               int     a1, 
+               int     a2, 
+               wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvvline_set
+int    mvvline_set(
+               int     a1, 
+               int     a2, 
+               const cchar_t *a3, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwadd_wch
+int    mvwadd_wch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwadd_wchnstr
+int    mvwadd_wchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwadd_wchstr
+int    mvwadd_wchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwaddnwstr
+int    mvwaddnwstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const wchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwaddwstr
+int    mvwaddwstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwget_wch
+int    mvwget_wch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef mvwget_wstr
+int    mvwget_wstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef mvwgetn_wstr
+int    mvwgetn_wstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               wint_t  *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwhline_set
+int    mvwhline_set(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwin_wch
+int    mvwin_wch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwin_wchnstr
+int    mvwin_wchnstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               cchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwin_wchstr
+int    mvwin_wchstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwinnwstr
+int    mvwinnwstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               wchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwins_nwstr
+int    mvwins_nwstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const wchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef mvwins_wch
+int    mvwins_wch(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwins_wstr
+int    mvwins_wstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwinwstr
+int    mvwinwstr(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mvwvline_set
+int    mvwvline_set(
+               WINDOW  *a1, 
+               int     a2, 
+               int     a3, 
+               const cchar_t *a4, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef vline_set
+int    vline_set(
+               const cchar_t *a1, 
+               int     z)
+               { return(*(int *)0); }
+
+#undef wadd_wchstr
+int    wadd_wchstr(
+               WINDOW  *a1, 
+               const cchar_t *z)
+               { return(*(int *)0); }
+
+#undef waddwstr
+int    waddwstr(
+               WINDOW  *a1, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef wget_wstr
+int    wget_wstr(
+               WINDOW  *a1, 
+               wint_t  *z)
+               { return(*(int *)0); }
+
+#undef wgetbkgrnd
+int    wgetbkgrnd(
+               WINDOW  *a1, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef win_wchstr
+int    win_wchstr(
+               WINDOW  *a1, 
+               cchar_t *z)
+               { return(*(int *)0); }
+
+#undef wins_wstr
+int    wins_wstr(
+               WINDOW  *a1, 
+               const wchar_t *z)
+               { return(*(int *)0); }
+
+#undef mouse_trafo
+NCURSES_BOOL mouse_trafo(
+               int     *a1, 
+               int     *a2, 
+               NCURSES_BOOL z)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_getch.c */
+
+#include <fifo_defs.h>
+
+#undef _nc_ptr_Escdelay
+int    *_nc_ptr_Escdelay(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
+#undef _nc_ESCDELAY
+int    _nc_ESCDELAY(void)
+               { return(*(int *)0); }
+
+#undef set_escdelay_sp
+int    set_escdelay_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
+#undef set_escdelay
+int    set_escdelay(
+               int     value)
+               { return(*(int *)0); }
+
+#undef _nc_wgetch
+int    _nc_wgetch(
+               WINDOW  *win, 
+               unsigned long *result, 
+               int     use_meta)
+               { return(*(int *)0); }
+
+#undef wgetch
+int    wgetch(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_getstr.c */
+
+#undef wgetnstr
+int    wgetnstr(
+               WINDOW  *win, 
+               char    *str, 
+               int     maxlen)
+               { return(*(int *)0); }
+
+/* ./base/lib_hline.c */
+
+#undef whline
+int    whline(
+               WINDOW  *win, 
+               chtype  ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_immedok.c */
+
+#undef immedok
+void   immedok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { /* void */ }
+
+/* ./base/lib_inchstr.c */
+
+#undef winchnstr
+int    winchnstr(
+               WINDOW  *win, 
+               chtype  *str, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_initscr.c */
+
+#undef initscr
+WINDOW *initscr(void)
+               { return(*(WINDOW **)0); }
+
+/* ./base/lib_insch.c */
+
+#undef _nc_insert_ch
+int    _nc_insert_ch(
+               SCREEN  *sp, 
+               WINDOW  *win, 
+               chtype  ch)
+               { return(*(int *)0); }
+
+#undef winsch
+int    winsch(
+               WINDOW  *win, 
+               chtype  c)
+               { return(*(int *)0); }
+
+/* ./base/lib_insdel.c */
+
+#undef winsdelln
+int    winsdelln(
+               WINDOW  *win, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_insnstr.c */
+
+#undef winsnstr
+int    winsnstr(
+               WINDOW  *win, 
+               const char *s, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_instr.c */
+
+#undef winnstr
+int    winnstr(
+               WINDOW  *win, 
+               char    *str, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_isendwin.c */
+
+#undef isendwin_sp
+NCURSES_BOOL isendwin_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef isendwin
+NCURSES_BOOL isendwin(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_leaveok.c */
+
+#undef leaveok
+int    leaveok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_mouse.c */
+
+#undef getmouse_sp
+int    getmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef getmouse
+int    getmouse(
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef ungetmouse_sp
+int    ungetmouse_sp(
+               SCREEN  *sp, 
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef ungetmouse
+int    ungetmouse(
+               MEVENT  *aevent)
+               { return(*(int *)0); }
+
+#undef mousemask_sp
+mmask_t        mousemask_sp(
+               SCREEN  *sp, 
+               mmask_t newmask, 
+               mmask_t *oldmask)
+               { return(*(mmask_t *)0); }
+
+#undef mousemask
+mmask_t        mousemask(
+               mmask_t newmask, 
+               mmask_t *oldmask)
+               { return(*(mmask_t *)0); }
+
+#undef wenclose
+NCURSES_BOOL wenclose(
+               const WINDOW *win, 
+               int     y, 
+               int     x)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef mouseinterval_sp
+int    mouseinterval_sp(
+               SCREEN  *sp, 
+               int     maxclick)
+               { return(*(int *)0); }
+
+#undef mouseinterval
+int    mouseinterval(
+               int     maxclick)
+               { return(*(int *)0); }
+
+#undef _nc_has_mouse
+NCURSES_BOOL _nc_has_mouse(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse_sp
+NCURSES_BOOL has_mouse_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_mouse
+NCURSES_BOOL has_mouse(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef wmouse_trafo
+NCURSES_BOOL wmouse_trafo(
+               const WINDOW *win, 
+               int     *pY, 
+               int     *pX, 
+               NCURSES_BOOL to_screen)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./base/lib_move.c */
+
+#undef wmove
+int    wmove(
+               WINDOW  *win, 
+               int     y, 
+               int     x)
+               { return(*(int *)0); }
+
+/* ./tty/lib_mvcur.c */
+
+#undef _nc_msec_cost_sp
+int    _nc_msec_cost_sp(
+               SCREEN  *sp, 
+               const char *const cap, 
+               int     affcnt)
+               { return(*(int *)0); }
+
+#undef _nc_msec_cost
+int    _nc_msec_cost(
+               const char *const cap, 
+               int     affcnt)
+               { return(*(int *)0); }
+
+#undef _nc_mvcur_resume_sp
+void   _nc_mvcur_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_mvcur_resume
+void   _nc_mvcur_resume(void)
+               { /* void */ }
+
+#undef _nc_mvcur_init_sp
+void   _nc_mvcur_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_mvcur_init
+void   _nc_mvcur_init(void)
+               { /* void */ }
+
+#undef _nc_mvcur_wrap_sp
+void   _nc_mvcur_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_mvcur_wrap
+void   _nc_mvcur_wrap(void)
+               { /* void */ }
+
+#undef mvcur_sp
+int    mvcur_sp(
+               SCREEN  *sp, 
+               int     yold, 
+               int     xold, 
+               int     ynew, 
+               int     xnew)
+               { return(*(int *)0); }
+
+#undef mvcur
+int    mvcur(
+               int     yold, 
+               int     xold, 
+               int     ynew, 
+               int     xnew)
+               { return(*(int *)0); }
+
+#undef _nc_optimize_enable
+int    _nc_optimize_enable;
+
+/* ./base/lib_mvwin.c */
+
+#undef mvwin
+int    mvwin(
+               WINDOW  *win, 
+               int     by, 
+               int     bx)
+               { return(*(int *)0); }
+
+/* ./base/lib_newterm.c */
+
+#undef filter_sp
+void   filter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef filter
+void   filter(void)
+               { /* void */ }
+
+#undef nofilter_sp
+void   nofilter_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef nofilter
+void   nofilter(void)
+               { /* void */ }
+
+#undef newterm_sp
+SCREEN *newterm_sp(
+               SCREEN  *sp, 
+               char    *name, 
+               FILE    *ofp, 
+               FILE    *ifp)
+               { return(*(SCREEN **)0); }
+
+#undef newterm
+SCREEN *newterm(
+               char    *name, 
+               FILE    *ofp, 
+               FILE    *ifp)
+               { return(*(SCREEN **)0); }
+
+/* ./base/lib_newwin.c */
+
+#undef _nc_freewin
+int    _nc_freewin(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+#undef newwin_sp
+WINDOW *newwin_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef newwin
+WINDOW *newwin(
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef derwin
+WINDOW *derwin(
+               WINDOW  *orig, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef subwin
+WINDOW *subwin(
+               WINDOW  *w, 
+               int     l, 
+               int     c, 
+               int     y, 
+               int     x)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_makenew_sp
+WINDOW *_nc_makenew_sp(
+               SCREEN  *sp, 
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx, 
+               int     flags)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_makenew
+WINDOW *_nc_makenew(
+               int     num_lines, 
+               int     num_columns, 
+               int     begy, 
+               int     begx, 
+               int     flags)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_curscr_of
+WINDOW *_nc_curscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_newscr_of
+WINDOW *_nc_newscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_stdscr_of
+WINDOW *_nc_stdscr_of(
+               SCREEN  *sp)
+               { return(*(WINDOW **)0); }
+
+/* ./base/lib_nl.c */
+
+#undef nl_sp
+int    nl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef nl
+int    nl(void)
+               { return(*(int *)0); }
+
+#undef nonl_sp
+int    nonl_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef nonl
+int    nonl(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_overlay.c */
+
+#undef overlay
+int    overlay(
+               const WINDOW *win1, 
+               WINDOW  *win2)
+               { return(*(int *)0); }
+
+#undef overwrite
+int    overwrite(
+               const WINDOW *win1, 
+               WINDOW  *win2)
+               { return(*(int *)0); }
+
+#undef copywin
+int    copywin(
+               const WINDOW *src, 
+               WINDOW  *dst, 
+               int     sminrow, 
+               int     smincol, 
+               int     dminrow, 
+               int     dmincol, 
+               int     dmaxrow, 
+               int     dmaxcol, 
+               int     over)
+               { return(*(int *)0); }
+
+/* ./base/lib_pad.c */
+
+#undef newpad_sp
+WINDOW *newpad_sp(
+               SCREEN  *sp, 
+               int     l, 
+               int     c)
+               { return(*(WINDOW **)0); }
+
+#undef newpad
+WINDOW *newpad(
+               int     l, 
+               int     c)
+               { return(*(WINDOW **)0); }
+
+#undef subpad
+WINDOW *subpad(
+               WINDOW  *orig, 
+               int     l, 
+               int     c, 
+               int     begy, 
+               int     begx)
+               { return(*(WINDOW **)0); }
+
+#undef prefresh
+int    prefresh(
+               WINDOW  *win, 
+               int     pminrow, 
+               int     pmincol, 
+               int     sminrow, 
+               int     smincol, 
+               int     smaxrow, 
+               int     smaxcol)
+               { return(*(int *)0); }
+
+#undef pnoutrefresh
+int    pnoutrefresh(
+               WINDOW  *win, 
+               int     pminrow, 
+               int     pmincol, 
+               int     sminrow, 
+               int     smincol, 
+               int     smaxrow, 
+               int     smaxcol)
+               { return(*(int *)0); }
+
+#undef pechochar
+int    pechochar(
+               WINDOW  *pad, 
+               const chtype ch)
+               { return(*(int *)0); }
+
+/* ./base/lib_printw.c */
+
+#undef printw
+int    printw(
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef wprintw
+int    wprintw(
+               WINDOW  *win, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvprintw
+int    mvprintw(
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvwprintw
+int    mvwprintw(
+               WINDOW  *win, 
+               int     y, 
+               int     x, 
+               const char *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef vwprintw
+int    vwprintw(
+               WINDOW  *win, 
+               const char *fmt, 
+               va_list argp)
+               { return(*(int *)0); }
+
+/* ./base/lib_redrawln.c */
+
+#undef wredrawln
+int    wredrawln(
+               WINDOW  *win, 
+               int     beg, 
+               int     num)
+               { return(*(int *)0); }
+
+/* ./base/lib_refresh.c */
+
+#undef wrefresh
+int    wrefresh(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+#undef wnoutrefresh
+int    wnoutrefresh(
+               WINDOW  *win)
+               { return(*(int *)0); }
+
+/* ./base/lib_restart.c */
+
+#undef restartterm_sp
+int    restartterm_sp(
+               SCREEN  *sp, 
+               char    *termp, 
+               int     filenum, 
+               int     *errret)
+               { return(*(int *)0); }
+
+#undef restartterm
+int    restartterm(
+               char    *termp, 
+               int     filenum, 
+               int     *errret)
+               { return(*(int *)0); }
+
+/* ./base/lib_scanw.c */
+
+#undef vwscanw
+int    vwscanw(
+               WINDOW  *win, 
+               char    *fmt, 
+               va_list argp)
+               { return(*(int *)0); }
+
+#undef scanw
+int    scanw(
+               char    *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef wscanw
+int    wscanw(
+               WINDOW  *win, 
+               char    *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvscanw
+int    mvscanw(
+               int     y, 
+               int     x, 
+               char    *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+#undef mvwscanw
+int    mvwscanw(
+               WINDOW  *win, 
+               int     y, 
+               int     x, 
+               char    *fmt, 
+               ...)
+               { return(*(int *)0); }
+
+/* ./base/lib_screen.c */
+
+#undef getwin_sp
+WINDOW *getwin_sp(
+               SCREEN  *sp, 
+               FILE    *filep)
+               { return(*(WINDOW **)0); }
+
+#undef getwin
+WINDOW *getwin(
+               FILE    *filep)
+               { return(*(WINDOW **)0); }
+
+#undef putwin
+int    putwin(
+               WINDOW  *win, 
+               FILE    *filep)
+               { return(*(int *)0); }
+
+#undef scr_restore_sp
+int    scr_restore_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_restore
+int    scr_restore(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_dump
+int    scr_dump(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_init_sp
+int    scr_init_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_init
+int    scr_init(
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_set_sp
+int    scr_set_sp(
+               SCREEN  *sp, 
+               const char *file)
+               { return(*(int *)0); }
+
+#undef scr_set
+int    scr_set(
+               const char *file)
+               { return(*(int *)0); }
+
+/* ./base/lib_scroll.c */
+
+#undef _nc_scroll_window
+void   _nc_scroll_window(
+               WINDOW  *win, 
+               int const n, 
+               int const top, 
+               int const bottom, 
+               cchar_t blank)
+               { /* void */ }
+
+#undef wscrl
+int    wscrl(
+               WINDOW  *win, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_scrollok.c */
+
+#undef scrollok
+int    scrollok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./base/lib_scrreg.c */
+
+#undef wsetscrreg
+int    wsetscrreg(
+               WINDOW  *win, 
+               int     top, 
+               int     bottom)
+               { return(*(int *)0); }
+
+/* ./base/lib_set_term.c */
+
+#undef set_term
+SCREEN *set_term(
+               SCREEN  *screenp)
+               { return(*(SCREEN **)0); }
+
+#undef delscreen
+void   delscreen(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_setupscreen
+int    _nc_setupscreen(
+               int     slines, 
+               int     scolumns, 
+               FILE    *output, 
+               NCURSES_BOOL filtered, 
+               int     slk_format)
+               { return(*(int *)0); }
+
+#undef _nc_ripoffline_sp
+int    _nc_ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+#undef _nc_ripoffline
+int    _nc_ripoffline(
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+#undef ripoffline_sp
+int    ripoffline_sp(
+               SCREEN  *sp, 
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+#undef ripoffline
+int    ripoffline(
+               int     line, 
+               int     (*init)(
+               WINDOW  *p1, 
+               int     p2))
+               { return(*(int *)0); }
+
+/* ./base/lib_slk.c */
+
+#undef _nc_slk_initialize
+int    _nc_slk_initialize(
+               WINDOW  *stwin, 
+               int     cols)
+               { return(*(int *)0); }
+
+#undef slk_restore_sp
+int    slk_restore_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef slk_restore
+int    slk_restore(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatr_set.c */
+
+#undef slk_attr_set_sp
+int    slk_attr_set_sp(
+               SCREEN  *sp, 
+               const attr_t attr, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
+#undef slk_attr_set
+int    slk_attr_set(
+               const attr_t attr, 
+               short   color_pair_number, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatrof.c */
+
+#undef slk_attroff_sp
+int    slk_attroff_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
+#undef slk_attroff
+int    slk_attroff(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatron.c */
+
+#undef slk_attron_sp
+int    slk_attron_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
+#undef slk_attron
+int    slk_attron(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkatrset.c */
+
+#undef slk_attrset_sp
+int    slk_attrset_sp(
+               SCREEN  *sp, 
+               const chtype attr)
+               { return(*(int *)0); }
+
+#undef slk_attrset
+int    slk_attrset(
+               const chtype attr)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkattr.c */
+
+#undef slk_attr_sp
+attr_t slk_attr_sp(
+               SCREEN  *sp)
+               { return(*(attr_t *)0); }
+
+#undef slk_attr
+attr_t slk_attr(void)
+               { return(*(attr_t *)0); }
+
+/* ./base/lib_slkclear.c */
+
+#undef slk_clear_sp
+int    slk_clear_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef slk_clear
+int    slk_clear(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkcolor.c */
+
+#undef slk_color_sp
+int    slk_color_sp(
+               SCREEN  *sp, 
+               short   color_pair_number)
+               { return(*(int *)0); }
+
+#undef slk_color
+int    slk_color(
+               short   color_pair_number)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkinit.c */
+
+#undef slk_init_sp
+int    slk_init_sp(
+               SCREEN  *sp, 
+               int     format)
+               { return(*(int *)0); }
+
+#undef slk_init
+int    slk_init(
+               int     format)
+               { return(*(int *)0); }
+
+/* ./base/lib_slklab.c */
+
+#undef slk_label_sp
+char   *slk_label_sp(
+               SCREEN  *sp, 
+               int     n)
+               { return(*(char **)0); }
+
+#undef slk_label
+char   *slk_label(
+               int     n)
+               { return(*(char **)0); }
+
+/* ./base/lib_slkrefr.c */
+
+#undef slk_noutrefresh_sp
+int    slk_noutrefresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef slk_noutrefresh
+int    slk_noutrefresh(void)
+               { return(*(int *)0); }
+
+#undef slk_refresh_sp
+int    slk_refresh_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef slk_refresh
+int    slk_refresh(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_slkset.c */
+
+#include <wctype.h>
+
+#undef slk_set_sp
+int    slk_set_sp(
+               SCREEN  *sp, 
+               int     i, 
+               const char *astr, 
+               int     format)
+               { return(*(int *)0); }
+
+#undef slk_set
+int    slk_set(
+               int     i, 
+               const char *astr, 
+               int     format)
+               { return(*(int *)0); }
+
+/* ./base/lib_slktouch.c */
+
+#undef slk_touch_sp
+int    slk_touch_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef slk_touch
+int    slk_touch(void)
+               { return(*(int *)0); }
+
+/* ./base/lib_touch.c */
+
+#undef is_linetouched
+NCURSES_BOOL is_linetouched(
+               WINDOW  *win, 
+               int     line)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_wintouched
+NCURSES_BOOL is_wintouched(
+               WINDOW  *win)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef wtouchln
+int    wtouchln(
+               WINDOW  *win, 
+               int     y, 
+               int     n, 
+               int     changed)
+               { return(*(int *)0); }
+
+/* ./trace/lib_tracedmp.c */
+
+#undef _tracedump
+void   _tracedump(
+               const char *name, 
+               WINDOW  *win)
+               { /* void */ }
+
+/* ./trace/lib_tracemse.c */
+
+#undef _nc_tracemouse
+char   *_nc_tracemouse(
+               SCREEN  *sp, 
+               MEVENT const *ep)
+               { return(*(char **)0); }
+
+#undef _tracemouse
+char   *_tracemouse(
+               MEVENT const *ep)
+               { return(*(char **)0); }
+
+/* ./tty/lib_tstp.c */
+
+#include <SigAction.h>
+
+#undef _nc_signal_handler
+void   _nc_signal_handler(
+               NCURSES_BOOL enable)
+               { /* void */ }
+
+/* ./base/lib_ungetch.c */
+
+#undef _nc_fifo_dump
+void   _nc_fifo_dump(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef ungetch_sp
+int    ungetch_sp(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
+#undef ungetch
+int    ungetch(
+               int     ch)
+               { return(*(int *)0); }
+
+/* ./tty/lib_vidattr.c */
+
+#undef vidputs_sp
+int    vidputs_sp(
+               SCREEN  *sp, 
+               chtype  newmode, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
+#undef vidputs
+int    vidputs(
+               chtype  newmode, 
+               NCURSES_OUTC outc)
+               { return(*(int *)0); }
+
+#undef vidattr_sp
+int    vidattr_sp(
+               SCREEN  *sp, 
+               chtype  newmode)
+               { return(*(int *)0); }
+
+#undef vidattr
+int    vidattr(
+               chtype  newmode)
+               { return(*(int *)0); }
+
+#undef termattrs_sp
+chtype termattrs_sp(
+               SCREEN  *sp)
+               { return(*(chtype *)0); }
+
+#undef termattrs
+chtype termattrs(void)
+               { return(*(chtype *)0); }
+
+/* ./base/lib_vline.c */
+
+#undef wvline
+int    wvline(
+               WINDOW  *win, 
+               chtype  ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./base/lib_wattroff.c */
+
+#undef wattr_off
+int    wattr_off(
+               WINDOW  *win, 
+               attr_t  at, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_wattron.c */
+
+#undef wattr_on
+int    wattr_on(
+               WINDOW  *win, 
+               attr_t  at, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./base/lib_winch.c */
+
+#undef winch
+chtype winch(
+               WINDOW  *win)
+               { return(*(chtype *)0); }
+
+/* ./base/lib_window.c */
+
+#undef _nc_synchook
+void   _nc_synchook(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef mvderwin
+int    mvderwin(
+               WINDOW  *win, 
+               int     y, 
+               int     x)
+               { return(*(int *)0); }
+
+#undef syncok
+int    syncok(
+               WINDOW  *win, 
+               NCURSES_BOOL bf)
+               { return(*(int *)0); }
+
+#undef wsyncup
+void   wsyncup(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef wsyncdown
+void   wsyncdown(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef wcursyncup
+void   wcursyncup(
+               WINDOW  *win)
+               { /* void */ }
+
+#undef dupwin
+WINDOW *dupwin(
+               WINDOW  *win)
+               { return(*(WINDOW **)0); }
+
+/* ./base/nc_panel.c */
+
+#undef _nc_panelhook_sp
+struct panelhook *_nc_panelhook_sp(
+               SCREEN  *sp)
+               { return(*(struct panelhook **)0); }
+
+#undef _nc_panelhook
+struct panelhook *_nc_panelhook(void)
+               { return(*(struct panelhook **)0); }
+
+/* ./base/safe_sprintf.c */
+
+#undef _nc_printf_string_sp
+char   *_nc_printf_string_sp(
+               SCREEN  *sp, 
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
+#undef _nc_printf_string
+char   *_nc_printf_string(
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
+/* ./tty/tty_update.c */
+
+#include <sys/time.h>
+#include <sys/times.h>
+
+#undef doupdate_sp
+int    doupdate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef doupdate
+int    doupdate(void)
+               { return(*(int *)0); }
+
+#undef _nc_scrolln_sp
+int    _nc_scrolln_sp(
+               SCREEN  *sp, 
+               int     n, 
+               int     top, 
+               int     bot, 
+               int     maxy)
+               { return(*(int *)0); }
+
+#undef _nc_scrolln
+int    _nc_scrolln(
+               int     n, 
+               int     top, 
+               int     bot, 
+               int     maxy)
+               { return(*(int *)0); }
+
+#undef _nc_screen_resume_sp
+void   _nc_screen_resume_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_screen_resume
+void   _nc_screen_resume(void)
+               { /* void */ }
+
+#undef _nc_screen_init_sp
+void   _nc_screen_init_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_screen_init
+void   _nc_screen_init(void)
+               { /* void */ }
+
+#undef _nc_screen_wrap_sp
+void   _nc_screen_wrap_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_screen_wrap
+void   _nc_screen_wrap(void)
+               { /* void */ }
+
+#undef _nc_do_xmc_glitch_sp
+void   _nc_do_xmc_glitch_sp(
+               SCREEN  *sp, 
+               attr_t  previous)
+               { /* void */ }
+
+#undef _nc_do_xmc_glitch
+void   _nc_do_xmc_glitch(
+               attr_t  previous)
+               { /* void */ }
+
+/* ./trace/varargs.c */
+
+typedef enum {
+    atUnknown = 0, atInteger, atFloat, atPoint, atString
+} ARGTYPE;
+
+#undef _nc_varargs
+char   *_nc_varargs(
+               const char *fmt, 
+               va_list ap)
+               { return(*(char **)0); }
+
+/* ./base/memmove.c */
+
+#undef _nc_memmove
+void   _nc_memmove(void)
+               { /* void */ }
+
+/* ./base/vsscanf.c */
+
+#undef _nc_vsscanf
+void   _nc_vsscanf(void)
+               { /* void */ }
+
+/* ./base/lib_freeall.c */
+
+#include <term_entry.h>
+
+#undef _nc_freeall
+void   _nc_freeall(void)
+               { /* void */ }
+
+#undef _nc_free_and_exit_sp
+void   _nc_free_and_exit_sp(
+               SCREEN  *sp, 
+               int     code)
+               { /* void */ }
+
+#undef _nc_free_and_exit
+void   _nc_free_and_exit(
+               int     code)
+               { /* void */ }
+
+/* ./widechar/charable.c */
+
+#undef _nc_is_charable
+NCURSES_BOOL _nc_is_charable(
+               wchar_t ch)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_to_char
+int    _nc_to_char(
+               wint_t  ch)
+               { return(*(int *)0); }
+
+#undef _nc_to_widechar
+wint_t _nc_to_widechar(
+               int     ch)
+               { return(*(wint_t *)0); }
+
+/* ./widechar/lib_add_wch.c */
+
+#undef wadd_wch
+int    wadd_wch(
+               WINDOW  *win, 
+               const cchar_t *wch)
+               { return(*(int *)0); }
+
+#undef wecho_wchar
+int    wecho_wchar(
+               WINDOW  *win, 
+               const cchar_t *wch)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_box_set.c */
+
+#undef wborder_set
+int    wborder_set(
+               WINDOW  *win, 
+               const cchar_t *ls, 
+               const cchar_t *rs, 
+               const cchar_t *ts, 
+               const cchar_t *bs, 
+               const cchar_t *tl, 
+               const cchar_t *tr, 
+               const cchar_t *bl, 
+               const cchar_t *br)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_cchar.c */
+
+#undef setcchar
+int    setcchar(
+               cchar_t *wcval, 
+               const wchar_t *wch, 
+               const attr_t attrs, 
+               short   color_pair, 
+               const void *opts)
+               { return(*(int *)0); }
+
+#undef getcchar
+int    getcchar(
+               const cchar_t *wcval, 
+               wchar_t *wch, 
+               attr_t  *attrs, 
+               short   *color_pair, 
+               void    *opts)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_erasewchar.c */
+
+#undef erasewchar
+int    erasewchar(
+               wchar_t *wch)
+               { return(*(int *)0); }
+
+#undef killwchar
+int    killwchar(
+               wchar_t *wch)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_get_wch.c */
+
+#undef wget_wch
+int    wget_wch(
+               WINDOW  *win, 
+               wint_t  *result)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_get_wstr.c */
+
+#undef wgetn_wstr
+int    wgetn_wstr(
+               WINDOW  *win, 
+               wint_t  *str, 
+               int     maxlen)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_hline_set.c */
+
+#undef whline_set
+int    whline_set(
+               WINDOW  *win, 
+               const cchar_t *ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_in_wch.c */
+
+#undef win_wch
+int    win_wch(
+               WINDOW  *win, 
+               cchar_t *wcval)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_in_wchnstr.c */
+
+#undef win_wchnstr
+int    win_wchnstr(
+               WINDOW  *win, 
+               cchar_t *wchstr, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_ins_wch.c */
+
+#undef wins_wch
+int    wins_wch(
+               WINDOW  *win, 
+               const cchar_t *wch)
+               { return(*(int *)0); }
+
+#undef wins_nwstr
+int    wins_nwstr(
+               WINDOW  *win, 
+               const wchar_t *wstr, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_inwstr.c */
+
+#undef winnwstr
+int    winnwstr(
+               WINDOW  *win, 
+               wchar_t *wstr, 
+               int     n)
+               { return(*(int *)0); }
+
+#undef winwstr
+int    winwstr(
+               WINDOW  *win, 
+               wchar_t *wstr)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_key_name.c */
+
+#undef key_name
+char   *key_name(
+               wchar_t c)
+               { return(*(char **)0); }
+
+/* ./widechar/lib_pecho_wchar.c */
+
+#undef pecho_wchar
+int    pecho_wchar(
+               WINDOW  *pad, 
+               const cchar_t *wch)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_slk_wset.c */
+
+#undef slk_wset
+int    slk_wset(
+               int     i, 
+               const wchar_t *astr, 
+               int     format)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_unget_wch.c */
+
+#undef _nc_wcrtomb
+size_t _nc_wcrtomb(
+               char    *target, 
+               wchar_t source, 
+               mbstate_t *state)
+               { return(*(size_t *)0); }
+
+#undef unget_wch_sp
+int    unget_wch_sp(
+               SCREEN  *sp, 
+               const wchar_t wch)
+               { return(*(int *)0); }
+
+#undef unget_wch
+int    unget_wch(
+               const wchar_t wch)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_vid_attr.c */
+
+#undef vid_puts_sp
+int    vid_puts_sp(
+               SCREEN  *sp, 
+               attr_t  newmode, 
+               short   pair, 
+               void    *opts, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
+#undef vid_puts
+int    vid_puts(
+               attr_t  newmode, 
+               short   pair, 
+               void    *opts, 
+               NCURSES_OUTC outc)
+               { return(*(int *)0); }
+
+#undef vid_attr_sp
+int    vid_attr_sp(
+               SCREEN  *sp, 
+               attr_t  newmode, 
+               short   pair, 
+               void    *opts)
+               { return(*(int *)0); }
+
+#undef vid_attr
+int    vid_attr(
+               attr_t  newmode, 
+               short   pair, 
+               void    *opts)
+               { return(*(int *)0); }
+
+#undef term_attrs_sp
+attr_t term_attrs_sp(
+               SCREEN  *sp)
+               { return(*(attr_t *)0); }
+
+#undef term_attrs
+attr_t term_attrs(void)
+               { return(*(attr_t *)0); }
+
+/* ./widechar/lib_vline_set.c */
+
+#undef wvline_set
+int    wvline_set(
+               WINDOW  *win, 
+               const cchar_t *ch, 
+               int     n)
+               { return(*(int *)0); }
+
+/* ./widechar/lib_wacs.c */
+
+#undef _nc_wacs
+cchar_t        *_nc_wacs;
+
+#undef _nc_init_wacs
+void   _nc_init_wacs(void)
+               { /* void */ }
+
+/* ./widechar/lib_wunctrl.c */
+
+#undef wunctrl_sp
+wchar_t        *wunctrl_sp(
+               SCREEN  *sp, 
+               cchar_t *wc)
+               { return(*(wchar_t **)0); }
+
+#undef wunctrl
+wchar_t        *wunctrl(
+               cchar_t *wc)
+               { return(*(wchar_t **)0); }
+
+/* ./expanded.c */
+
+#undef _nc_toggle_attr_on
+void   _nc_toggle_attr_on(
+               attr_t  *S, 
+               attr_t  at)
+               { /* void */ }
+
+#undef _nc_toggle_attr_off
+void   _nc_toggle_attr_off(
+               attr_t  *S, 
+               attr_t  at)
+               { /* void */ }
+
+#undef _nc_DelCharCost_sp
+int    _nc_DelCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_InsCharCost_sp
+int    _nc_InsCharCost_sp(
+               SCREEN  *sp, 
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_UpdateAttrs_sp
+void   _nc_UpdateAttrs_sp(
+               SCREEN  *sp, 
+               const cchar_t *c)
+               { /* void */ }
+
+#undef _nc_DelCharCost
+int    _nc_DelCharCost(
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_InsCharCost
+int    _nc_InsCharCost(
+               int     count)
+               { return(*(int *)0); }
+
+#undef _nc_UpdateAttrs
+void   _nc_UpdateAttrs(
+               const cchar_t *c)
+               { /* void */ }
+
+/* ./base/legacy_coding.c */
+
+#undef use_legacy_coding_sp
+int    use_legacy_coding_sp(
+               SCREEN  *sp, 
+               int     level)
+               { return(*(int *)0); }
+
+#undef use_legacy_coding
+int    use_legacy_coding(
+               int     level)
+               { return(*(int *)0); }
+
+/* ./base/lib_dft_fgbg.c */
+
+#undef use_default_colors_sp
+int    use_default_colors_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef use_default_colors
+int    use_default_colors(void)
+               { return(*(int *)0); }
+
+#undef assume_default_colors_sp
+int    assume_default_colors_sp(
+               SCREEN  *sp, 
+               int     fg, 
+               int     bg)
+               { return(*(int *)0); }
+
+#undef assume_default_colors
+int    assume_default_colors(
+               int     fg, 
+               int     bg)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_print.c */
+
+#undef mcprint_sp
+int    mcprint_sp(
+               SCREEN  *sp, 
+               char    *data, 
+               int     len)
+               { return(*(int *)0); }
+
+#undef mcprint
+int    mcprint(
+               char    *data, 
+               int     len)
+               { return(*(int *)0); }
+
+/* ./base/resizeterm.c */
+
+#undef is_term_resized_sp
+NCURSES_BOOL is_term_resized_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef is_term_resized
+NCURSES_BOOL is_term_resized(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef resize_term_sp
+int    resize_term_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+#undef resize_term
+int    resize_term(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+#undef resizeterm_sp
+int    resizeterm_sp(
+               SCREEN  *sp, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+#undef resizeterm
+int    resizeterm(
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+/* ./trace/trace_xnames.c */
+
+#undef _nc_trace_xnames
+void   _nc_trace_xnames(
+               TERMTYPE *tp)
+               { /* void */ }
+
+/* ./tinfo/use_screen.c */
+
+#undef use_screen
+int    use_screen(
+               SCREEN  *screen, 
+               NCURSES_SCREEN_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/use_window.c */
+
+#undef use_window
+int    use_window(
+               WINDOW  *win, 
+               NCURSES_WINDOW_CB func, 
+               void    *data)
+               { return(*(int *)0); }
+
+/* ./base/wresize.c */
+
+#undef wresize
+int    wresize(
+               WINDOW  *win, 
+               int     ToLines, 
+               int     ToCols)
+               { return(*(int *)0); }
+
+/* ./tinfo/access.c */
+
+#include <sys/stat.h>
+#include <nc_alloc.h>
+
+#undef _nc_rootname
+char   *_nc_rootname(
+               char    *path)
+               { return(*(char **)0); }
+
+#undef _nc_is_abs_path
+NCURSES_BOOL _nc_is_abs_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_pathlast
+unsigned _nc_pathlast(
+               const char *path)
+               { return(*(unsigned *)0); }
+
+#undef _nc_basename
+char   *_nc_basename(
+               char    *path)
+               { return(*(char **)0); }
+
+#undef _nc_access
+int    _nc_access(
+               const char *path, 
+               int     mode)
+               { return(*(int *)0); }
+
+#undef _nc_is_dir_path
+NCURSES_BOOL _nc_is_dir_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_is_file_path
+NCURSES_BOOL _nc_is_file_path(
+               const char *path)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_env_access
+int    _nc_env_access(void)
+               { return(*(int *)0); }
+
+/* ./tinfo/add_tries.c */
+
+#undef _nc_add_to_try
+int    _nc_add_to_try(
+               TRIES   **tree, 
+               const char *str, 
+               unsigned code)
+               { return(*(int *)0); }
+
+/* ./tinfo/alloc_ttype.c */
+
+#undef _nc_align_termtype
+void   _nc_align_termtype(
+               TERMTYPE *to, 
+               TERMTYPE *from)
+               { /* void */ }
+
+#undef _nc_copy_termtype
+void   _nc_copy_termtype(
+               TERMTYPE *dst, 
+               TERMTYPE *src)
+               { /* void */ }
+
+/* ./codes.c */
+
+#undef _nc_boolcodes
+char   *const *_nc_boolcodes(void)
+               { return(*(char **)0); }
+
+#undef _nc_numcodes
+char   *const *_nc_numcodes(void)
+               { return(*(char **)0); }
+
+#undef _nc_strcodes
+char   *const *_nc_strcodes(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/comp_error.c */
+
+#undef _nc_suppress_warnings
+NCURSES_BOOL _nc_suppress_warnings;
+#undef _nc_curr_line
+int    _nc_curr_line;
+#undef _nc_curr_col
+int    _nc_curr_col;
+
+#undef _nc_get_source
+const char *_nc_get_source(void)
+               { return(*(const char **)0); }
+
+#undef _nc_set_source
+void   _nc_set_source(
+               const char *const name)
+               { /* void */ }
+
+#undef _nc_set_type
+void   _nc_set_type(
+               const char *const name)
+               { /* void */ }
+
+#undef _nc_get_type
+void   _nc_get_type(
+               char    *name)
+               { /* void */ }
+
+#undef _nc_warning
+void   _nc_warning(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_err_abort
+void   _nc_err_abort(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_syserr_abort
+void   _nc_syserr_abort(
+               const char *const fmt, 
+               ...)
+               { /* void */ }
+
+/* ./tinfo/db_iterator.c */
+
+#undef _nc_tic_dir
+const char *_nc_tic_dir(
+               const char *path)
+               { return(*(const char **)0); }
+
+#undef _nc_keep_tic_dir
+void   _nc_keep_tic_dir(
+               const char *path)
+               { /* void */ }
+
+#undef _nc_last_db
+void   _nc_last_db(void)
+               { /* void */ }
+
+#undef _nc_next_db
+const char *_nc_next_db(
+               DBDIRS  *state, 
+               int     *offset)
+               { return(*(const char **)0); }
+
+#undef _nc_first_db
+void   _nc_first_db(
+               DBDIRS  *state, 
+               int     *offset)
+               { /* void */ }
+
+/* ./tinfo/doalloc.c */
+
+#undef _nc_doalloc
+void   *_nc_doalloc(
+               void    *oldp, 
+               size_t  amount)
+               { return(*(void **)0); }
+
+/* ./tinfo/entries.c */
+
+#undef _nc_head
+ENTRY  *_nc_head;
+#undef _nc_tail
+ENTRY  *_nc_tail;
+
+#undef _nc_free_entry
+void   _nc_free_entry(
+               ENTRY   *headp, 
+               TERMTYPE *tterm)
+               { /* void */ }
+
+#undef _nc_free_entries
+void   _nc_free_entries(
+               ENTRY   *headp)
+               { /* void */ }
+
+#undef _nc_delink_entry
+ENTRY  *_nc_delink_entry(
+               ENTRY   *headp, 
+               TERMTYPE *tterm)
+               { return(*(ENTRY **)0); }
+
+#undef _nc_leaks_tinfo
+void   _nc_leaks_tinfo(void)
+               { /* void */ }
+
+/* ./fallback.c */
+
+#undef _nc_fallback
+const TERMTYPE *_nc_fallback(
+               const char *name)
+               { return(*(const TERMTYPE **)0); }
+
+/* ./tinfo/free_ttype.c */
+
+#undef _nc_free_termtype
+void   _nc_free_termtype(
+               TERMTYPE *ptr)
+               { /* void */ }
+
+#undef _nc_user_definable
+NCURSES_BOOL _nc_user_definable;
+
+#undef use_extended_names
+int    use_extended_names(
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/getenv_num.c */
+
+#undef _nc_getenv_num
+int    _nc_getenv_num(
+               const char *name)
+               { return(*(int *)0); }
+
+/* ./tinfo/home_terminfo.c */
+
+#undef _nc_home_terminfo
+char   *_nc_home_terminfo(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/init_keytry.c */
+
+#if 0
+
+#include <init_keytry.h>
+
+#undef _nc_tinfo_fkeys
+const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0};
+
+#endif
+
+#undef _nc_init_keytry
+void   _nc_init_keytry(
+               SCREEN  *sp)
+               { /* void */ }
+
+/* ./tinfo/lib_acs.c */
+
+#undef _nc_acs_map
+chtype *_nc_acs_map(void)
+               { return(*(chtype **)0); }
+
+#undef _nc_init_acs_sp
+void   _nc_init_acs_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_init_acs
+void   _nc_init_acs(void)
+               { /* void */ }
+
+/* ./tinfo/lib_baudrate.c */
+
+#include <termcap.h>
+
+struct speed {
+    int s; 
+    int sp; 
+};
+
+#undef _nc_baudrate
+int    _nc_baudrate(
+               int     OSpeed)
+               { return(*(int *)0); }
+
+#undef _nc_ospeed
+int    _nc_ospeed(
+               int     BaudRate)
+               { return(*(int *)0); }
+
+#undef baudrate_sp
+int    baudrate_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef baudrate
+int    baudrate(void)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_cur_term.c */
+
+#undef _nc_cur_term
+TERMINAL *_nc_cur_term(void)
+               { return(*(TERMINAL **)0); }
+
+#undef set_curterm
+TERMINAL *set_curterm(
+               TERMINAL *termp)
+               { return(*(TERMINAL **)0); }
+
+#undef del_curterm_sp
+int    del_curterm_sp(
+               SCREEN  *sp, 
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
+#undef del_curterm
+int    del_curterm(
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_data.c */
+
+#undef _nc_stdscr
+WINDOW *_nc_stdscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_curscr
+WINDOW *_nc_curscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_newscr
+WINDOW *_nc_newscr(void)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_screen_chain
+SCREEN *_nc_screen_chain;
+#undef SP
+SCREEN *SP;
+#undef _nc_globals
+NCURSES_GLOBALS _nc_globals;
+#undef _nc_prescreen
+NCURSES_PRESCREEN _nc_prescreen;
+
+#undef _nc_screen_of
+SCREEN *_nc_screen_of(
+               WINDOW  *win)
+               { return(*(SCREEN **)0); }
+
+#undef _nc_init_pthreads
+void   _nc_init_pthreads(void)
+               { /* void */ }
+
+#undef _nc_mutex_init
+void   _nc_mutex_init(
+               pthread_mutex_t *obj)
+               { /* void */ }
+
+#undef _nc_mutex_lock
+int    _nc_mutex_lock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+#undef _nc_mutex_trylock
+int    _nc_mutex_trylock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+#undef _nc_mutex_unlock
+int    _nc_mutex_unlock(
+               pthread_mutex_t *obj)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_has_cap.c */
+
+#undef has_ic_sp
+NCURSES_BOOL has_ic_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_ic
+NCURSES_BOOL has_ic(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_il_sp
+NCURSES_BOOL has_il_sp(
+               SCREEN  *sp)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef has_il
+NCURSES_BOOL has_il(void)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./tinfo/lib_kernel.c */
+
+#undef erasechar_sp
+char   erasechar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
+#undef erasechar
+char   erasechar(void)
+               { return(*(char *)0); }
+
+#undef killchar_sp
+char   killchar_sp(
+               SCREEN  *sp)
+               { return(*(char *)0); }
+
+#undef killchar
+char   killchar(void)
+               { return(*(char *)0); }
+
+#undef flushinp_sp
+int    flushinp_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef flushinp
+int    flushinp(void)
+               { return(*(int *)0); }
+
+/* ./lib_keyname.c */
+
+struct kn { short offset; int code; };
+
+#undef keyname_sp
+char   *keyname_sp(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(char **)0); }
+
+#undef keyname
+char   *keyname(
+               int     c)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_longname.c */
+
+#undef longname_sp
+char   *longname_sp(
+               SCREEN  *sp)
+               { return(*(char **)0); }
+
+#undef longname
+char   *longname(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_napms.c */
+
+#undef napms_sp
+int    napms_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
+#undef napms
+int    napms(
+               int     ms)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_options.c */
+
+#undef idlok
+int    idlok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef idcok
+void   idcok(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { /* void */ }
+
+#undef halfdelay_sp
+int    halfdelay_sp(
+               SCREEN  *sp, 
+               int     t)
+               { return(*(int *)0); }
+
+#undef halfdelay
+int    halfdelay(
+               int     t)
+               { return(*(int *)0); }
+
+#undef nodelay
+int    nodelay(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef notimeout
+int    notimeout(
+               WINDOW  *win, 
+               NCURSES_BOOL f)
+               { return(*(int *)0); }
+
+#undef wtimeout
+void   wtimeout(
+               WINDOW  *win, 
+               int     delay)
+               { /* void */ }
+
+#undef keypad
+int    keypad(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef meta
+int    meta(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef curs_set_sp
+int    curs_set_sp(
+               SCREEN  *sp, 
+               int     vis)
+               { return(*(int *)0); }
+
+#undef curs_set
+int    curs_set(
+               int     vis)
+               { return(*(int *)0); }
+
+#undef typeahead_sp
+int    typeahead_sp(
+               SCREEN  *sp, 
+               int     fd)
+               { return(*(int *)0); }
+
+#undef typeahead
+int    typeahead(
+               int     fd)
+               { return(*(int *)0); }
+
+#undef has_key_sp
+int    has_key_sp(
+               SCREEN  *sp, 
+               int     keycode)
+               { return(*(int *)0); }
+
+#undef has_key
+int    has_key(
+               int     keycode)
+               { return(*(int *)0); }
+
+#undef _nc_putp_flush_sp
+int    _nc_putp_flush_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
+#undef _nc_putp_flush
+int    _nc_putp_flush(
+               const char *name, 
+               const char *value)
+               { return(*(int *)0); }
+
+#undef _nc_keypad
+int    _nc_keypad(
+               SCREEN  *sp, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_raw.c */
+
+#undef raw_sp
+int    raw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef raw
+int    raw(void)
+               { return(*(int *)0); }
+
+#undef cbreak_sp
+int    cbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef cbreak
+int    cbreak(void)
+               { return(*(int *)0); }
+
+#undef qiflush_sp
+void   qiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef qiflush
+void   qiflush(void)
+               { /* void */ }
+
+#undef noraw_sp
+int    noraw_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef noraw
+int    noraw(void)
+               { return(*(int *)0); }
+
+#undef nocbreak_sp
+int    nocbreak_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef nocbreak
+int    nocbreak(void)
+               { return(*(int *)0); }
+
+#undef noqiflush_sp
+void   noqiflush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef noqiflush
+void   noqiflush(void)
+               { /* void */ }
+
+#undef intrflush_sp
+int    intrflush_sp(
+               SCREEN  *sp, 
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+#undef intrflush
+int    intrflush(
+               WINDOW  *win, 
+               NCURSES_BOOL flag)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_setup.c */
+
+#include <locale.h>
+#include <sys/ioctl.h>
+#include <langinfo.h>
+
+#undef _nc_ttytype
+char   *_nc_ttytype(void)
+               { return(*(char **)0); }
+
+#undef _nc_ptr_Lines
+int    *_nc_ptr_Lines(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
+#undef _nc_LINES
+int    _nc_LINES(void)
+               { return(*(int *)0); }
+
+#undef _nc_ptr_Cols
+int    *_nc_ptr_Cols(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
+#undef _nc_COLS
+int    _nc_COLS(void)
+               { return(*(int *)0); }
+
+#undef _nc_ptr_Tabsize
+int    *_nc_ptr_Tabsize(
+               SCREEN  *sp)
+               { return(*(int **)0); }
+
+#undef _nc_TABSIZE
+int    _nc_TABSIZE(void)
+               { return(*(int *)0); }
+
+#undef set_tabsize_sp
+int    set_tabsize_sp(
+               SCREEN  *sp, 
+               int     value)
+               { return(*(int *)0); }
+
+#undef set_tabsize
+int    set_tabsize(
+               int     value)
+               { return(*(int *)0); }
+
+#undef _nc_handle_sigwinch
+int    _nc_handle_sigwinch(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef use_env_sp
+void   use_env_sp(
+               SCREEN  *sp, 
+               NCURSES_BOOL f)
+               { /* void */ }
+
+#undef use_env
+void   use_env(
+               NCURSES_BOOL f)
+               { /* void */ }
+
+#undef _nc_get_screensize
+void   _nc_get_screensize(
+               SCREEN  *sp, 
+               int     *linep, 
+               int     *colp)
+               { /* void */ }
+
+#undef _nc_update_screensize
+void   _nc_update_screensize(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_get_locale
+char   *_nc_get_locale(void)
+               { return(*(char **)0); }
+
+#undef _nc_unicode_locale
+int    _nc_unicode_locale(void)
+               { return(*(int *)0); }
+
+#undef _nc_locale_breaks_acs
+int    _nc_locale_breaks_acs(
+               TERMINAL *termp)
+               { return(*(int *)0); }
+
+#undef _nc_setupterm
+int    _nc_setupterm(
+               char    *tname, 
+               int     Filedes, 
+               int     *errret, 
+               NCURSES_BOOL reuse)
+               { return(*(int *)0); }
+
+#undef setupterm
+int    setupterm(
+               char    *tname, 
+               int     Filedes, 
+               int     *errret)
+               { return(*(int *)0); }
+
+/* ./tinfo/lib_termcap.c */
+
+#undef UP
+char   *UP;
+#undef BC
+char   *BC;
+
+#undef tgetent_sp
+int    tgetent_sp(
+               SCREEN  *sp, 
+               char    *bufp, 
+               const char *name)
+               { return(*(int *)0); }
+
+#if 0
+
+#include <capdefaults.c>
+
+#endif
+
+#undef tgetent
+int    tgetent(
+               char    *bufp, 
+               const char *name)
+               { return(*(int *)0); }
+
+#undef tgetflag_sp
+int    tgetflag_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
+#undef tgetflag
+int    tgetflag(
+               char    *id)
+               { return(*(int *)0); }
+
+#undef tgetnum_sp
+int    tgetnum_sp(
+               SCREEN  *sp, 
+               char    *id)
+               { return(*(int *)0); }
+
+#undef tgetnum
+int    tgetnum(
+               char    *id)
+               { return(*(int *)0); }
+
+#undef tgetstr_sp
+char   *tgetstr_sp(
+               SCREEN  *sp, 
+               char    *id, 
+               char    **area)
+               { return(*(char **)0); }
+
+#undef tgetstr
+char   *tgetstr(
+               char    *id, 
+               char    **area)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_termname.c */
+
+#undef termname_sp
+char   *termname_sp(
+               SCREEN  *sp)
+               { return(*(char **)0); }
+
+#undef termname
+char   *termname(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tgoto.c */
+
+#undef tgoto
+char   *tgoto(
+               const char *string, 
+               int     x, 
+               int     y)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_ti.c */
+
+#undef tigetflag_sp
+int    tigetflag_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
+#undef tigetflag
+int    tigetflag(
+               char    *str)
+               { return(*(int *)0); }
+
+#undef tigetnum_sp
+int    tigetnum_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(int *)0); }
+
+#undef tigetnum
+int    tigetnum(
+               char    *str)
+               { return(*(int *)0); }
+
+#undef tigetstr_sp
+char   *tigetstr_sp(
+               SCREEN  *sp, 
+               char    *str)
+               { return(*(char **)0); }
+
+#undef tigetstr
+char   *tigetstr(
+               char    *str)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tparm.c */
+
+#undef _nc_tparm_err
+int    _nc_tparm_err;
+
+#undef _nc_tparm_analyze
+int    _nc_tparm_analyze(
+               const char *string, 
+               char    *p_is_s[9], 
+               int     *popcount)
+               { return(*(int *)0); }
+
+#undef tparm
+char   *tparm(
+               char    *string, 
+               ...)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_tputs.c */
+
+#undef PC
+char   PC;
+#undef ospeed
+NCURSES_OSPEED ospeed;
+#undef _nc_nulls_sent
+int    _nc_nulls_sent;
+
+#undef _nc_set_no_padding
+void   _nc_set_no_padding(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef delay_output_sp
+int    delay_output_sp(
+               SCREEN  *sp, 
+               int     ms)
+               { return(*(int *)0); }
+
+#undef delay_output
+int    delay_output(
+               int     ms)
+               { return(*(int *)0); }
+
+#undef _nc_flush_sp
+void   _nc_flush_sp(
+               SCREEN  *sp)
+               { /* void */ }
+
+#undef _nc_flush
+void   _nc_flush(void)
+               { /* void */ }
+
+#undef _nc_outch_sp
+int    _nc_outch_sp(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(int *)0); }
+
+#undef _nc_outch
+int    _nc_outch(
+               int     ch)
+               { return(*(int *)0); }
+
+#undef putp_sp
+int    putp_sp(
+               SCREEN  *sp, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef _nc_putp_sp
+int    _nc_putp_sp(
+               SCREEN  *sp, 
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef putp
+int    putp(
+               const char *string)
+               { return(*(int *)0); }
+
+#undef _nc_putp
+int    _nc_putp(
+               const char *name, 
+               const char *string)
+               { return(*(int *)0); }
+
+#undef tputs_sp
+int    tputs_sp(
+               SCREEN  *sp, 
+               const char *string, 
+               int     affcnt, 
+               NCURSES_OUTC_sp outc)
+               { return(*(int *)0); }
+
+#undef _nc_outc_wrapper
+int    _nc_outc_wrapper(
+               SCREEN  *sp, 
+               int     c)
+               { return(*(int *)0); }
+
+#undef tputs
+int    tputs(
+               const char *string, 
+               int     affcnt, 
+               int     (*outc)(
+               int     p1))
+               { return(*(int *)0); }
+
+/* ./trace/lib_trace.c */
+
+#undef _nc_tracing
+unsigned _nc_tracing;
+
+#undef _nc__nc_tputs_trace
+const char *_nc__nc_tputs_trace(void)
+               { return(*(const char **)0); }
+
+#undef _nc__nc_outchars
+long   _nc__nc_outchars(void)
+               { return(*(long *)0); }
+
+#undef _nc_set_tputs_trace
+void   _nc_set_tputs_trace(
+               const char *s)
+               { /* void */ }
+
+#undef _nc_count_outchars
+void   _nc_count_outchars(
+               long    increment)
+               { /* void */ }
+
+#undef trace
+void   trace(
+               const unsigned int tracelevel)
+               { /* void */ }
+
+#undef _tracef
+void   _tracef(
+               const char *fmt, 
+               ...)
+               { /* void */ }
+
+#undef _nc_retrace_bool
+NCURSES_BOOL _nc_retrace_bool(
+               NCURSES_BOOL code)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_retrace_int
+int    _nc_retrace_int(
+               int     code)
+               { return(*(int *)0); }
+
+#undef _nc_retrace_unsigned
+unsigned _nc_retrace_unsigned(
+               unsigned code)
+               { return(*(unsigned *)0); }
+
+#undef _nc_retrace_ptr
+char   *_nc_retrace_ptr(
+               char    *code)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_cptr
+const char *_nc_retrace_cptr(
+               const char *code)
+               { return(*(const char **)0); }
+
+#undef _nc_retrace_cvoid_ptr
+void   *_nc_retrace_cvoid_ptr(
+               void    *code)
+               { return(*(void **)0); }
+
+#undef _nc_retrace_void_ptr
+void   *_nc_retrace_void_ptr(
+               void    *code)
+               { return(*(void **)0); }
+
+#undef _nc_retrace_sp
+SCREEN *_nc_retrace_sp(
+               SCREEN  *code)
+               { return(*(SCREEN **)0); }
+
+#undef _nc_retrace_win
+WINDOW *_nc_retrace_win(
+               WINDOW  *code)
+               { return(*(WINDOW **)0); }
+
+#undef _nc_use_tracef
+int    _nc_use_tracef(
+               unsigned mask)
+               { return(*(int *)0); }
+
+#undef _nc_locked_tracef
+void   _nc_locked_tracef(
+               const char *fmt, 
+               ...)
+               { /* void */ }
+
+/* ./trace/lib_traceatr.c */
+
+#undef _traceattr2
+char   *_traceattr2(
+               int     bufnum, 
+               chtype  newmode)
+               { return(*(char **)0); }
+
+#undef _traceattr
+char   *_traceattr(
+               attr_t  newmode)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_attr_t
+attr_t _nc_retrace_attr_t(
+               attr_t  code)
+               { return(*(attr_t *)0); }
+
+#undef _nc_altcharset_name
+const char *_nc_altcharset_name(
+               attr_t  attr, 
+               chtype  ch)
+               { return(*(const char **)0); }
+
+#undef _tracechtype2
+char   *_tracechtype2(
+               int     bufnum, 
+               chtype  ch)
+               { return(*(char **)0); }
+
+#undef _tracechtype
+char   *_tracechtype(
+               chtype  ch)
+               { return(*(char **)0); }
+
+#undef _nc_retrace_chtype
+chtype _nc_retrace_chtype(
+               chtype  code)
+               { return(*(chtype *)0); }
+
+#undef _tracecchar_t2
+char   *_tracecchar_t2(
+               int     bufnum, 
+               const cchar_t *ch)
+               { return(*(char **)0); }
+
+#undef _tracecchar_t
+char   *_tracecchar_t(
+               const cchar_t *ch)
+               { return(*(char **)0); }
+
+/* ./trace/lib_tracebits.c */
+
+typedef struct {
+    unsigned int val;
+    const char *name;
+} BITNAMES;
+
+#undef _nc_trace_ttymode
+char   *_nc_trace_ttymode(
+               struct termios *tty)
+               { return(*(char **)0); }
+
+#undef _nc_tracebits
+char   *_nc_tracebits(void)
+               { return(*(char **)0); }
+
+/* ./trace/lib_tracechr.c */
+
+#undef _nc_tracechar
+char   *_nc_tracechar(
+               SCREEN  *sp, 
+               int     ch)
+               { return(*(char **)0); }
+
+#undef _tracechar
+char   *_tracechar(
+               int     ch)
+               { return(*(char **)0); }
+
+/* ./tinfo/lib_ttyflags.c */
+
+#undef _nc_get_tty_mode_sp
+int    _nc_get_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef _nc_get_tty_mode
+int    _nc_get_tty_mode(
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef _nc_set_tty_mode_sp
+int    _nc_set_tty_mode_sp(
+               SCREEN  *sp, 
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef _nc_set_tty_mode
+int    _nc_set_tty_mode(
+               struct termios *buf)
+               { return(*(int *)0); }
+
+#undef def_shell_mode_sp
+int    def_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef def_shell_mode
+int    def_shell_mode(void)
+               { return(*(int *)0); }
+
+#undef def_prog_mode_sp
+int    def_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef def_prog_mode
+int    def_prog_mode(void)
+               { return(*(int *)0); }
+
+#undef reset_prog_mode_sp
+int    reset_prog_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef reset_prog_mode
+int    reset_prog_mode(void)
+               { return(*(int *)0); }
+
+#undef reset_shell_mode_sp
+int    reset_shell_mode_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef reset_shell_mode
+int    reset_shell_mode(void)
+               { return(*(int *)0); }
+
+#undef savetty_sp
+int    savetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef savetty
+int    savetty(void)
+               { return(*(int *)0); }
+
+#undef resetty_sp
+int    resetty_sp(
+               SCREEN  *sp)
+               { return(*(int *)0); }
+
+#undef resetty
+int    resetty(void)
+               { return(*(int *)0); }
+
+/* ./tty/lib_twait.c */
+
+#undef _nc_timed_wait
+int    _nc_timed_wait(
+               SCREEN  *sp, 
+               int     mode, 
+               int     milliseconds, 
+               int     *timeleft)
+               { return(*(int *)0); }
+
+/* ./tinfo/name_match.c */
+
+#undef _nc_first_name
+char   *_nc_first_name(
+               const char *const sp)
+               { return(*(char **)0); }
+
+#undef _nc_name_match
+int    _nc_name_match(
+               const char *const namelst, 
+               const char *const name, 
+               const char *const delim)
+               { return(*(int *)0); }
+
+/* ./names.c */
+
+#undef _nc_boolnames
+char   *const *_nc_boolnames(void)
+               { return(*(char **)0); }
+
+#undef _nc_boolfnames
+char   *const *_nc_boolfnames(void)
+               { return(*(char **)0); }
+
+#undef _nc_numnames
+char   *const *_nc_numnames(void)
+               { return(*(char **)0); }
+
+#undef _nc_numfnames
+char   *const *_nc_numfnames(void)
+               { return(*(char **)0); }
+
+#undef _nc_strnames
+char   *const *_nc_strnames(void)
+               { return(*(char **)0); }
+
+#undef _nc_strfnames
+char   *const *_nc_strfnames(void)
+               { return(*(char **)0); }
+
+/* ./tinfo/read_entry.c */
+
+#include <hashed_db.h>
+
+#undef _nc_read_termtype
+int    _nc_read_termtype(
+               TERMTYPE *ptr, 
+               char    *buffer, 
+               int     limit)
+               { return(*(int *)0); }
+
+#undef _nc_read_file_entry
+int    _nc_read_file_entry(
+               const char *const filename, 
+               TERMTYPE *ptr)
+               { return(*(int *)0); }
+
+#undef _nc_read_entry
+int    _nc_read_entry(
+               const char *const name, 
+               char    *const filename, 
+               TERMTYPE *const tp)
+               { return(*(int *)0); }
+
+/* ./tinfo/read_termcap.c */
+
+#include <sys/types.h>
+
+#undef _nc_read_termcap_entry
+int    _nc_read_termcap_entry(
+               const char *const tn, 
+               TERMTYPE *const tp)
+               { return(*(int *)0); }
+
+/* ./tinfo/setbuf.c */
+
+#undef _nc_set_buffer_sp
+void   _nc_set_buffer_sp(
+               SCREEN  *sp, 
+               FILE    *ofp, 
+               NCURSES_BOOL buffered)
+               { /* void */ }
+
+#undef _nc_set_buffer
+void   _nc_set_buffer(
+               FILE    *ofp, 
+               NCURSES_BOOL buffered)
+               { /* void */ }
+
+/* ./tinfo/strings.c */
+
+#undef _nc_str_init
+string_desc *_nc_str_init(
+               string_desc *dst, 
+               char    *src, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_null
+string_desc *_nc_str_null(
+               string_desc *dst, 
+               size_t  len)
+               { return(*(string_desc **)0); }
+
+#undef _nc_str_copy
+string_desc *_nc_str_copy(
+               string_desc *dst, 
+               string_desc *src)
+               { return(*(string_desc **)0); }
+
+#undef _nc_safe_strcat
+NCURSES_BOOL _nc_safe_strcat(
+               string_desc *dst, 
+               const char *src)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_safe_strcpy
+NCURSES_BOOL _nc_safe_strcpy(
+               string_desc *dst, 
+               const char *src)
+               { return(*(NCURSES_BOOL *)0); }
+
+/* ./trace/trace_buf.c */
+
+#undef _nc_trace_buf
+char   *_nc_trace_buf(
+               int     bufnum, 
+               size_t  want)
+               { return(*(char **)0); }
+
+#undef _nc_trace_bufcat
+char   *_nc_trace_bufcat(
+               int     bufnum, 
+               const char *value)
+               { return(*(char **)0); }
+
+/* ./trace/trace_tries.c */
+
+#undef _nc_trace_tries
+void   _nc_trace_tries(
+               TRIES   *tree)
+               { /* void */ }
+
+/* ./base/tries.c */
+
+#undef _nc_expand_try
+char   *_nc_expand_try(
+               TRIES   *tree, 
+               unsigned code, 
+               int     *count, 
+               size_t  len)
+               { return(*(char **)0); }
+
+#undef _nc_remove_key
+int    _nc_remove_key(
+               TRIES   **tree, 
+               unsigned code)
+               { return(*(int *)0); }
+
+#undef _nc_remove_string
+int    _nc_remove_string(
+               TRIES   **tree, 
+               const char *string)
+               { return(*(int *)0); }
+
+/* ./tinfo/trim_sgr0.c */
+
+#undef _nc_trim_sgr0
+char   *_nc_trim_sgr0(
+               TERMTYPE *tp)
+               { return(*(char **)0); }
+
+/* ./unctrl.c */
+
+#undef unctrl_sp
+char   *unctrl_sp(
+               SCREEN  *sp, 
+               chtype  ch)
+               { return(*(char **)0); }
+
+#undef unctrl
+char   *unctrl(
+               chtype  ch)
+               { return(*(char **)0); }
+
+/* ./trace/visbuf.c */
+
+#undef _nc_visbuf2
+const char *_nc_visbuf2(
+               int     bufnum, 
+               const char *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_visbuf
+const char *_nc_visbuf(
+               const char *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_visbufn
+const char *_nc_visbufn(
+               const char *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+#undef _nc_viswbuf2
+const char *_nc_viswbuf2(
+               int     bufnum, 
+               const wchar_t *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_viswbuf
+const char *_nc_viswbuf(
+               const wchar_t *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_viswbufn
+const char *_nc_viswbufn(
+               const wchar_t *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+#undef _nc_viswibuf
+const char *_nc_viswibuf(
+               const wint_t *buf)
+               { return(*(const char **)0); }
+
+#undef _nc_viscbuf2
+const char *_nc_viscbuf2(
+               int     bufnum, 
+               const cchar_t *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+#undef _nc_viscbuf
+const char *_nc_viscbuf(
+               const cchar_t *buf, 
+               int     len)
+               { return(*(const char **)0); }
+
+/* ./tinfo/alloc_entry.c */
+
+#undef _nc_init_entry
+void   _nc_init_entry(
+               TERMTYPE *const tp)
+               { /* void */ }
+
+#undef _nc_copy_entry
+ENTRY  *_nc_copy_entry(
+               ENTRY   *oldp)
+               { return(*(ENTRY **)0); }
+
+#undef _nc_save_str
+char   *_nc_save_str(
+               const char *const string)
+               { return(*(char **)0); }
+
+#undef _nc_wrap_entry
+void   _nc_wrap_entry(
+               ENTRY   *const ep, 
+               NCURSES_BOOL copy_strings)
+               { /* void */ }
+
+#undef _nc_merge_entry
+void   _nc_merge_entry(
+               TERMTYPE *const to, 
+               TERMTYPE *const from)
+               { /* void */ }
+
+/* ./tinfo/captoinfo.c */
+
+#undef _nc_captoinfo
+char   *_nc_captoinfo(
+               const char *cap, 
+               const char *s, 
+               int const parameterized)
+               { return(*(char **)0); }
+
+#undef _nc_infotocap
+char   *_nc_infotocap(
+               const char *cap, 
+               const char *str, 
+               int const parameterized)
+               { return(*(char **)0); }
+
+/* ./comp_captab.c */
+
+#include <hashsize.h>
+
+#undef _nc_get_table
+const struct name_table_entry *_nc_get_table(
+               NCURSES_BOOL termcap)
+               { return(*(const struct name_table_entry **)0); }
+
+#undef _nc_get_hash_table
+const short *_nc_get_hash_table(
+               NCURSES_BOOL termcap)
+               { return(*(const short **)0); }
+
+#undef _nc_get_alias_table
+const struct alias *_nc_get_alias_table(
+               NCURSES_BOOL termcap)
+               { return(*(const struct alias **)0); }
+
+/* ./tinfo/comp_expand.c */
+
+#undef _nc_tic_expand
+char   *_nc_tic_expand(
+               const char *srcp, 
+               NCURSES_BOOL tic_format, 
+               int     numbers)
+               { return(*(char **)0); }
+
+/* ./tinfo/comp_hash.c */
+
+#undef _nc_find_entry
+struct name_table_entry const *_nc_find_entry(
+               const char *string, 
+               const short *hash_table)
+               { return(*(struct name_table_entry const **)0); }
+
+#undef _nc_find_type_entry
+struct name_table_entry const *_nc_find_type_entry(
+               const char *string, 
+               int     type, 
+               const struct name_table_entry *table)
+               { return(*(struct name_table_entry const **)0); }
+
+/* ./tinfo/comp_parse.c */
+
+#undef _nc_check_termtype2
+void   (*_nc_check_termtype2)(
+               TERMTYPE *p1, 
+               NCURSES_BOOL p2);
+#undef _nc_check_termtype
+void   (*_nc_check_termtype)(
+               TERMTYPE *p1);
+
+#undef _nc_entry_match
+NCURSES_BOOL _nc_entry_match(
+               char    *n1, 
+               char    *n2)
+               { return(*(NCURSES_BOOL *)0); }
+
+#undef _nc_read_entry_source
+void   _nc_read_entry_source(
+               FILE    *fp, 
+               char    *buf, 
+               int     literal, 
+               NCURSES_BOOL silent, 
+               NCURSES_BOOL (*hook)(