+#if NCURSES_SP_FUNCS
+#define GetScreenHook(sp) \
+ struct panelhook* ph = NCURSES_SP_NAME(_nc_panelhook)(sp)
+#define GetPanelHook(pan) \
+ GetScreenHook(_nc_screen_of((pan)->win))
+#define GetWindowHook(win) \
+ SCREEN* sp = _nc_screen_of(win); \
+ GetScreenHook(sp)
+#define GetHook(pan) SCREEN* sp = _nc_screen_of(pan->win); \
+ GetScreenHook(sp)
+
+#define _nc_stdscr_pseudo_panel ((ph)->stdscr_pseudo_panel)
+#define _nc_top_panel ((ph)->top_panel)
+#define _nc_bottom_panel ((ph)->bottom_panel)
+
+#else /* !NCURSES_SP_FUNCS */
+
+#define GetScreenHook(sp) /* nothing */
+#define GetPanelHook(pan) /* nothing */
+#define GetWindowHook(win) /* nothing */
+#define GetHook(pan) /* nothing */
+