ncurses 6.0 - patch 20151205
[ncurses.git] / doc / html / man / curs_sp_funcs.3x.html
1 <!-- 
2   ****************************************************************************
3   * Copyright (c) 2010-2013,2015 Free Software Foundation, Inc.              *
4   *                                                                          *
5   * Permission is hereby granted, free of charge, to any person obtaining a  *
6   * copy of this software and associated documentation files (the            *
7   * "Software"), to deal in the Software without restriction, including      *
8   * without limitation the rights to use, copy, modify, merge, publish,      *
9   * distribute, distribute with modifications, sublicense, and/or sell       *
10   * copies of the Software, and to permit persons to whom the Software is    *
11   * furnished to do so, subject to the following conditions:                 *
12   *                                                                          *
13   * The above copyright notice and this permission notice shall be included  *
14   * in all copies or substantial portions of the Software.                   *
15   *                                                                          *
16   * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
17   * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
18   * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
19   * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
20   * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
21   * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
22   * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
23   *                                                                          *
24   * Except as contained in this notice, the name(s) of the above copyright   *
25   * holders shall not be used in advertising or otherwise to promote the     *
26   * sale, use or other dealings in this Software without prior written       *
27   * authorization.                                                           *
28   ****************************************************************************
29   * @Id: curs_sp_funcs.3x,v 1.7 2015/12/05 20:33:14 tom Exp @
30   * ***************************************************************************
31   * ***************************************************************************
32   * ***************************************************************************
33 -->
34 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
35 <HTML>
36 <HEAD>
37 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
38 <meta name="generator" content="Manpage converted by man2html - see http://invisible-island.net/scripts/readme.html#others_scripts">
39 <TITLE>curs_sp_funcs 3x</TITLE>
40 <link rev=made href="mailto:bug-ncurses@gnu.org">
41 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
42 </HEAD>
43 <BODY>
44 <H1 class="no-header">curs_sp_funcs 3x</H1>
45 <PRE>
46 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>                                     <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
47
48
49
50
51 </PRE>
52 <H2><a name="h2-NAME">NAME</a></H2><PRE>
53        curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
54
55
56 </PRE>
57 <H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
58        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
59
60        <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
61        <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
62        <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
63        <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*);</STRONG>
64        <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*);</STRONG>
65        <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
66        <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
67        <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
68        <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*);</STRONG>
69        <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*);</STRONG>
70        <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
71        <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
72        <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
73        <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
74        <STRONG>int</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
75        <STRONG>int</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
76        <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
77        <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
78        <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
79        <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
80        <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
81        <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*);</STRONG>
82        <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
83        <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
84        <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
85        <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
86        <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
87        <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
88        <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
89        <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
90        <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
91        <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
92        <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
93        <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
94        <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
95        <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
96        <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
97        <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
98        <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
99        <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
100        <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
101        <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
102        <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
103        <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
104        <STRONG>SCREEN*</STRONG> <STRONG>newterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*,</STRONG> <STRONG>FILE</STRONG> <STRONG>*);</STRONG>
105        <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
106        <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
107        <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
108        <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
109        <STRONG>int</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
110        <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
111        <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
112        <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
113        <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
114        <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*);</STRONG>
115        <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*);</STRONG>
116        <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*);</STRONG>
117        <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*);</STRONG>
118        <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*);</STRONG>
119        <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
120        <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
121        <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
122        <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>(*)(WINDOW*,</STRONG> <STRONG>int));</STRONG>
123        <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*);</STRONG>
124        <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
125        <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
126        <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
127        <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL*);</STRONG>
128        <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
129        <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
130        <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
131        <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
132        <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
133        <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
134        <STRONG>int</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
135        <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
136        <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
137        <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
138        <STRONG>int</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
139        <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
140        <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
141        <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
142        <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
143        <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*);</STRONG>
144        <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*);</STRONG>
145        <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*);</STRONG>
146        <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*);</STRONG>
147        <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*);</STRONG>
148        <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
149        <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
150        <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
151        <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*,MEVENT</STRONG> <STRONG>*);</STRONG>
152        <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
153        <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
154        <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
155        <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
156        <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
157        <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
158        <STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
159        <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*,</STRONG> <STRONG>chtype,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
160        <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*);</STRONG>
161
162        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
163
164        <STRONG>int</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
165
166        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
167
168        <STRONG>int</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
169
170        <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
171
172        <STRONG>int</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
173        <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
174        <STRONG>int</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
175
176        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
177
178        <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
179        <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
180        <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
181        <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
182        <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
183        <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
184        <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
185        <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
186        <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
187        <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
188
189
190 </PRE>
191 <H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
192        This  implementation can be configured to provide a set of
193        functions which improve the  ability  to  manage  multiple
194        screens.  This feature can be added to any of the configu-
195        rations supported by  ncurses;  it  adds  new  entrypoints
196        without changing the meaning of any of the existing ones.
197
198
199 </PRE>
200 <H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
201        Most  of  the functions are new versions of existing func-
202        tions.  A parameter is added at the front of the parameter
203        list.  It is a SCREEN pointer.
204
205        The  existing  functions all use the current screen, which
206        is a static variable.   The  extended  functions  use  the
207        specified screen, thereby reducing the number of variables
208        which must be modified to update multiple screens.
209
210
211 </PRE>
212 <H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
213        Here are the new functions:
214
215        ceiling_panel
216             this returns a pointer to the topmost  panel  in  the
217             given screen.
218
219        ground_panel
220             this  returns  a  pointer  to the lowest panel in the
221             given screen.
222
223        new_prescr
224             when creating a new screen, the library  uses  static
225             variables   which   have   been   preset,   e.g.,  by
226             <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, etc.  With the screen-point-
227             er extension, there are situations where it must cre-
228             ate a current screen before  the  unextended  library
229             does.   The <STRONG>new_prescr</STRONG> function is used internally to
230             handle these cases.  It is also provided as an entry-
231             point  to allow applications to customize the library
232             initialization.
233
234
235 </PRE>
236 <H2><a name="h2-NOTES">NOTES</a></H2><PRE>
237        This extension introduces some new names:
238
239        NCURSES_SP_FUNCS
240             This is set to the library  patch-level  number.   In
241             the  unextended library, this is zero (0), to make it
242             useful for checking if the extension is provided.
243
244        NCURSES_SP_NAME
245             The new functions are named using  the  macro  <EM>NCURS-</EM>
246             <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>,  which  hides  the actual implementation.
247             Currently this adds a "_sp" suffix to the name of the
248             unextended  function.   This  manual page indexes the
249             extensions showing the full name.  However the proper
250             usage  of  these functions uses the macro, to provide
251             for the possibility of changing the naming convention
252             for specific library configurations.
253
254        NCURSES_SP_OUTC
255             This  is  a  new  function-pointer type to use in the
256             screen-pointer functions  where  an  <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM>  is
257             used in the unextended library.
258
259        NCURSES_OUTC
260             This  is  a  function-pointer type used for the cases
261             where a function  passes  characters  to  the  output
262             stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.
263
264
265 </PRE>
266 <H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
267        These  routines  are  specific  to ncurses.  They were not
268        supported on Version 7, BSD or System  V  implementations.
269        It  is  recommended that any code depending on ncurses ex-
270        tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
271
272
273 </PRE>
274 <H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
275        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>, <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
276
277
278
279                                                       <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
280 </PRE>
281 <div class="nav">
282 <ul>
283 <li><a href="#h2-NAME">NAME</a></li>
284 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
285 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
286 <ul>
287 <li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
288 <li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
289 </ul>
290 </li>
291 <li><a href="#h2-NOTES">NOTES</a></li>
292 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
293 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
294 </ul>
295 </div>
296 </BODY>
297 </HTML>