diff --git a/panel/llib-lpanel b/panel/llib-lpanel
index de49c23..02e1054 100644
--- a/panel/llib-lpanel
+++ b/panel/llib-lpanel
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc.              *
+ * Copyright (c) 1998-2010,2015 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,13 +27,13 @@
  ****************************************************************************/
 
 /****************************************************************************
- *  Author: Thomas E. Dickey        1997,2002,2005                          *
+ *  Author: Thomas E. Dickey       1996-on                                  *
  ****************************************************************************/
 /* LINTLIBRARY */
 
 /* ./panel.c */
 
-#include "panel.priv.h"
+#include <panel.priv.h>
 
 #undef _nc_retrace_panel
 PANEL	*_nc_retrace_panel(
@@ -77,6 +77,11 @@
 
 /* ./p_above.c */
 
+#undef ground_panel
+PANEL	*ground_panel(
+		SCREEN	*sp)
+		{ return(*(PANEL **)0); }
+
 #undef panel_above
 PANEL	*panel_above(
 		const PANEL *pan)
@@ -84,6 +89,11 @@
 
 /* ./p_below.c */
 
+#undef ceiling_panel
+PANEL	*ceiling_panel(
+		SCREEN	*sp)
+		{ return(*(PANEL **)0); }
+
 #undef panel_below
 PANEL	*panel_below(
 		const PANEL *pan)
@@ -157,6 +167,11 @@
 
 /* ./p_update.c */
 
+#undef update_panels_sp
+void	update_panels_sp(
+		SCREEN	*sp)
+		{ /* void */ }
+
 #undef update_panels
 void	update_panels(void)
 		{ /* void */ }
@@ -166,13 +181,13 @@
 #undef set_panel_userptr
 int	set_panel_userptr(
 		PANEL	*pan, 
-		void	*uptr)
+		const void *uptr)
 		{ return(*(int *)0); }
 
 #undef panel_userptr
-void	*panel_userptr(
+const void *panel_userptr(
 		const PANEL *pan)
-		{ return(*(void **)0); }
+		{ return(*(const void **)0); }
 
 /* ./p_win.c */
 
