45e09261065c668f04b5d7480d56f4d3586ceb46
[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><H2><a name="h2-NAME">NAME</a></H2><PRE>
52        curs_sp_funcs - <STRONG>curses</STRONG> screen-pointer extension
53
54
55 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
56        <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
57
58        <STRONG>int</STRONG> <STRONG>assume_default_colors_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
59        <STRONG>int</STRONG> <STRONG>baudrate_sp(SCREEN*);</STRONG>
60        <STRONG>int</STRONG> <STRONG>beep_sp(SCREEN*);</STRONG>
61        <STRONG>bool</STRONG> <STRONG>can_change_color_sp(SCREEN*);</STRONG>
62        <STRONG>int</STRONG> <STRONG>cbreak_sp(SCREEN*);</STRONG>
63        <STRONG>int</STRONG> <STRONG>color_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
64        <STRONG>int</STRONG> <STRONG>curs_set_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
65        <STRONG>int</STRONG> <STRONG>define_key_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
66        <STRONG>int</STRONG> <STRONG>def_prog_mode_sp(SCREEN*);</STRONG>
67        <STRONG>int</STRONG> <STRONG>def_shell_mode_sp(SCREEN*);</STRONG>
68        <STRONG>int</STRONG> <STRONG>delay_output_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
69        <STRONG>int</STRONG> <STRONG>doupdate_sp(SCREEN*);</STRONG>
70        <STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*);</STRONG>
71        <STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*);</STRONG>
72        <STRONG>int</STRONG> <STRONG>erasechar_sp(SCREEN*);</STRONG>
73        <STRONG>int</STRONG> <STRONG>filter_sp(SCREEN*);</STRONG>
74        <STRONG>int</STRONG> <STRONG>flash_sp(SCREEN*);</STRONG>
75        <STRONG>int</STRONG> <STRONG>flushinp_sp(SCREEN*);</STRONG>
76        <STRONG>int</STRONG> <STRONG>get_escdelay_sp(SCREEN*);</STRONG>
77        <STRONG>int</STRONG> <STRONG>getmouse_sp(SCREEN*,</STRONG> <STRONG>MEVENT*);</STRONG>
78        <STRONG>WINDOW*</STRONG> <STRONG>getwin_sp(SCREEN*,</STRONG> <STRONG>FILE*);</STRONG>
79        <STRONG>int</STRONG> <STRONG>halfdelay_sp(SCREEN*);</STRONG>
80        <STRONG>bool</STRONG> <STRONG>has_colors_sp(SCREEN*);</STRONG>
81        <STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*);</STRONG>
82        <STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*);</STRONG>
83        <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
84        <STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*);</STRONG>
85        <STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
86        <STRONG>int</STRONG> <STRONG>init_pair_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short,</STRONG> <STRONG>short);</STRONG>
87        <STRONG>int</STRONG> <STRONG>intrflush_sp(SCREEN*,</STRONG> <STRONG>WINDOW*,</STRONG> <STRONG>bool);</STRONG>
88        <STRONG>bool</STRONG> <STRONG>isendwin_sp(SCREEN*);</STRONG>
89        <STRONG>bool</STRONG> <STRONG>is_term_resized_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
90        <STRONG>char*</STRONG> <STRONG>keybound_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
91        <STRONG>int</STRONG> <STRONG>key_defined_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
92        <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG> <STRONG>keyname_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
93        <STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>bool);</STRONG>
94        <STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*);</STRONG>
95        <STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
96        <STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
97        <STRONG>mmask_t</STRONG> <STRONG>mousemask_sp(SCREEN*,</STRONG> <STRONG>mmask_t,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*);</STRONG>
98        <STRONG>int</STRONG> <STRONG>mvcur_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
99        <STRONG>int</STRONG> <STRONG>napms_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
100        <STRONG>WINDOW*</STRONG> <STRONG>newpad_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
101        <STRONG>SCREEN*</STRONG> <STRONG>new_prescr(void);</STRONG>
102        <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>
103        <STRONG>WINDOW*</STRONG> <STRONG>newwin_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
104        <STRONG>int</STRONG> <STRONG>nl_sp(SCREEN*);</STRONG>
105        <STRONG>int</STRONG> <STRONG>nocbreak_sp(SCREEN*);</STRONG>
106        <STRONG>int</STRONG> <STRONG>noecho_sp(SCREEN*);</STRONG>
107        <STRONG>int</STRONG> <STRONG>nofilter_sp(SCREEN*);</STRONG>
108        <STRONG>int</STRONG> <STRONG>nonl_sp(SCREEN*);</STRONG>
109        <STRONG>void</STRONG> <STRONG>noqiflush_sp(SCREEN*);</STRONG>
110        <STRONG>int</STRONG> <STRONG>noraw_sp(SCREEN*);</STRONG>
111        <STRONG>int</STRONG> <STRONG>pair_content_sp(SCREEN*,</STRONG> <STRONG>short,</STRONG> <STRONG>short*,</STRONG> <STRONG>short*);</STRONG>
112        <STRONG>void</STRONG> <STRONG>qiflush_sp(SCREEN*);</STRONG>
113        <STRONG>int</STRONG> <STRONG>raw_sp(SCREEN*);</STRONG>
114        <STRONG>int</STRONG> <STRONG>reset_prog_mode_sp(SCREEN*);</STRONG>
115        <STRONG>int</STRONG> <STRONG>reset_shell_mode_sp(SCREEN*);</STRONG>
116        <STRONG>int</STRONG> <STRONG>resetty_sp(SCREEN*);</STRONG>
117        <STRONG>int</STRONG> <STRONG>resize_term_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
118        <STRONG>int</STRONG> <STRONG>resizeterm_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int);</STRONG>
119        <STRONG>int</STRONG> <STRONG>restartterm_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>*);</STRONG>
120        <STRONG>int</STRONG> <STRONG>ripoffline_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>int</STRONG> <STRONG>(*)(WINDOW*,</STRONG> <STRONG>int));</STRONG>
121        <STRONG>int</STRONG> <STRONG>savetty_sp(SCREEN*);</STRONG>
122        <STRONG>int</STRONG> <STRONG>scr_init_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
123        <STRONG>int</STRONG> <STRONG>scr_restore_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
124        <STRONG>int</STRONG> <STRONG>scr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
125        <STRONG>TERMINAL*</STRONG> <STRONG>set_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL*);</STRONG>
126        <STRONG>int</STRONG> <STRONG>set_escdelay_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
127        <STRONG>int</STRONG> <STRONG>set_tabsize_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
128        <STRONG>int</STRONG> <STRONG>slk_attroff_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
129        <STRONG>int</STRONG> <STRONG>slk_attron_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
130        <STRONG>int</STRONG> <STRONG>slk_attr_set_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void*);</STRONG>
131        <STRONG>int</STRONG> <STRONG>slk_attrset_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>chtype);</STRONG>
132        <STRONG>int</STRONG> <STRONG>slk_attr_sp(SCREEN*);</STRONG>
133        <STRONG>int</STRONG> <STRONG>slk_clear_sp(SCREEN*);</STRONG>
134        <STRONG>int</STRONG> <STRONG>slk_color_sp(SCREEN*,</STRONG> <STRONG>short);</STRONG>
135        <STRONG>int</STRONG> <STRONG>slk_init_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
136        <STRONG>int</STRONG> <STRONG>slk_label_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
137        <STRONG>int</STRONG> <STRONG>slk_noutrefresh_sp(SCREEN*);</STRONG>
138        <STRONG>int</STRONG> <STRONG>slk_refresh_sp(SCREEN*);</STRONG>
139        <STRONG>int</STRONG> <STRONG>slk_restore_sp(SCREEN*);</STRONG>
140        <STRONG>int</STRONG> <STRONG>slk_set_sp(SCREEN*,</STRONG> <STRONG>int,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int);</STRONG>
141        <STRONG>int</STRONG> <STRONG>slk_touch_sp(SCREEN*);</STRONG>
142        <STRONG>int</STRONG> <STRONG>start_color_sp(SCREEN*);</STRONG>
143        <STRONG>attr_t</STRONG> <STRONG>term_attrs_sp(SCREEN*);</STRONG>
144        <STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*);</STRONG>
145        <STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*);</STRONG>
146        <STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
147        <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
148        <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
149        <STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*,MEVENT</STRONG> <STRONG>*);</STRONG>
150        <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t);</STRONG>
151        <STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*);</STRONG>
152        <STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*,</STRONG> <STRONG>bool);</STRONG>
153        <STRONG>int</STRONG> <STRONG>use_legacy_coding_sp(SCREEN*,</STRONG> <STRONG>int);</STRONG>
154        <STRONG>int</STRONG> <STRONG>vid_attr_sp(SCREEN*,</STRONG> <STRONG>attr_t,</STRONG> <STRONG>short,</STRONG> <STRONG>void</STRONG> <STRONG>*);</STRONG>
155        <STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*,</STRONG> <STRONG>chtype);</STRONG>
156        <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>
157        <STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*,</STRONG> <STRONG>chtype,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
158        <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*);</STRONG>
159
160        <STRONG>#include</STRONG> <STRONG>&lt;form.h&gt;</STRONG>
161
162        <STRONG>int</STRONG> <STRONG>new_form_sp(SCREEN*,</STRONG> <STRONG>FIELD</STRONG> <STRONG>**);</STRONG>
163
164        <STRONG>#include</STRONG> <STRONG>&lt;menu.h&gt;</STRONG>
165
166        <STRONG>int</STRONG> <STRONG>new_menu_sp(SCREEN*,</STRONG> <STRONG>ITEM</STRONG> <STRONG>**);</STRONG>
167
168        <STRONG>#include</STRONG> <STRONG>&lt;panel.h&gt;</STRONG>
169
170        <STRONG>int</STRONG> <STRONG>ceiling_panel(SCREEN*);</STRONG>
171        <STRONG>PANEL*</STRONG> <STRONG>ground_panel(SCREEN*);</STRONG>
172        <STRONG>int</STRONG> <STRONG>update_panels_sp(SCREEN*);</STRONG>
173
174        <STRONG>#include</STRONG> <STRONG>&lt;term.h&gt;</STRONG>
175
176        <STRONG>int</STRONG> <STRONG>del_curterm_sp(SCREEN*,</STRONG> <STRONG>TERMINAL</STRONG> <STRONG>*);</STRONG>
177        <STRONG>int</STRONG> <STRONG>putp_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
178        <STRONG>int</STRONG> <STRONG>tgetflag_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
179        <STRONG>int</STRONG> <STRONG>tgetent_sp(SCREEN*,</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
180        <STRONG>int</STRONG> <STRONG>tgetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
181        <STRONG>char*</STRONG> <STRONG>tgetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>char</STRONG> <STRONG>**);</STRONG>
182        <STRONG>int</STRONG> <STRONG>tigetflag_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
183        <STRONG>int</STRONG> <STRONG>tigetnum_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
184        <STRONG>char*</STRONG> <STRONG>tigetstr_sp(SCREEN*,</STRONG> <STRONG>NCURSES_CONST</STRONG> <STRONG>char</STRONG> <STRONG>*);</STRONG>
185        <STRONG>int</STRONG> <STRONG>tputs_sp(SCREEN*,</STRONG> <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*,</STRONG> <STRONG>int,</STRONG> <STRONG>NCURSES_SP_OUTC);</STRONG>
186
187
188 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
189        This  implementation can be configured to provide a set of
190        functions which improve the  ability  to  manage  multiple
191        screens.  This feature can be added to any of the configu-
192        rations supported by  ncurses;  it  adds  new  entrypoints
193        without changing the meaning of any of the existing ones.
194
195
196 </PRE><H3><a name="h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></H3><PRE>
197        Most  of  the functions are new versions of existing func-
198        tions.  A parameter is added at the front of the parameter
199        list.  It is a SCREEN pointer.
200
201        The  existing  functions all use the current screen, which
202        is a static variable.   The  extended  functions  use  the
203        specified screen, thereby reducing the number of variables
204        which must be modified to update multiple screens.
205
206
207 </PRE><H3><a name="h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></H3><PRE>
208        Here are the new functions:
209
210        ceiling_panel
211             this returns a pointer to the topmost  panel  in  the
212             given screen.
213
214        ground_panel
215             this  returns  a  pointer  to the lowest panel in the
216             given screen.
217
218        new_prescr
219             when creating a new screen, the library  uses  static
220             variables   which   have   been   preset,   e.g.,  by
221             <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-
222             er extension, there are situations where it must cre-
223             ate a current screen before  the  unextended  library
224             does.   The <STRONG>new_prescr</STRONG> function is used internally to
225             handle these cases.  It is also provided as an entry-
226             point  to allow applications to customize the library
227             initialization.
228
229
230 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
231        This extension introduces some new names:
232
233        NCURSES_SP_FUNCS
234             This is set to the library  patch-level  number.   In
235             the  unextended library, this is zero (0), to make it
236             useful for checking if the extension is provided.
237
238        NCURSES_SP_NAME
239             The new functions are named using  the  macro  <EM>NCURS-</EM>
240             <EM>ES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>NAME</EM>,  which  hides  the actual implementation.
241             Currently this adds a "_sp" suffix to the name of the
242             unextended  function.   This  manual page indexes the
243             extensions showing the full name.  However the proper
244             usage  of  these functions uses the macro, to provide
245             for the possibility of changing the naming convention
246             for specific library configurations.
247
248        NCURSES_SP_OUTC
249             This  is  a  new  function-pointer type to use in the
250             screen-pointer functions  where  an  <EM>NCURSES</EM><STRONG>_</STRONG><EM>OUTC</EM>  is
251             used in the unextended library.
252
253        NCURSES_OUTC
254             This  is  a  function-pointer type used for the cases
255             where a function  passes  characters  to  the  output
256             stream, e.g., <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>.
257
258
259 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
260        These  routines  are  specific  to ncurses.  They were not
261        supported on Version 7, BSD or System  V  implementations.
262        It  is  recommended that any code depending on ncurses ex-
263        tensions be conditioned using <EM>NCURSES</EM><STRONG>_</STRONG><EM>SP</EM><STRONG>_</STRONG><EM>FUNCS</EM>.
264
265
266 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
267        <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>.
268
269
270
271                                                       <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
272 </PRE>
273 <div class="nav">
274 <ul>
275 <li><a href="#h2-NAME">NAME</a></li>
276 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
277 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
278 <ul>
279 <li><a href="#h3-IMPROVED-FUNCTIONS">IMPROVED FUNCTIONS</a></li>
280 <li><a href="#h3-NEW-FUNCTIONS">NEW FUNCTIONS</a></li>
281 </ul>
282 </li>
283 <li><a href="#h2-NOTES">NOTES</a></li>
284 <li><a href="#h2-PORTABILITY">PORTABILITY</a></li>
285 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
286 </ul>
287 </div>
288 </BODY>
289 </HTML>