ncurses 5.7 - patch 20101204
[ncurses.git] / man / menu_new.3x
1 '\" t
2 .\"***************************************************************************
3 .\" Copyright (c) 1998-2006,2010 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 .\"
30 .\" $Id: menu_new.3x,v 1.11 2010/12/04 18:40:45 tom Exp $
31 .TH menu_new 3X ""
32 .SH NAME
33 \fBmenu_new\fR \- create and destroy menus
34 .SH SYNOPSIS
35 \fB#include <menu.h>\fR
36 .br
37 MENU *new_menu(ITEM **items);
38 .br
39 int free_menu(MENU *menu);
40 .br
41 .SH DESCRIPTION
42 The function \fBnew_menu\fR creates a new menu connected to a specified item
43 pointer array (which must be \fBNULL\fR-terminated).
44 .PP
45 The function \fBfree_menu\fR disconnects \fImenu\fR from its item array
46 and frees the storage allocated for the menu.
47 .SH RETURN VALUE
48 The function \fBnew_menu\fR returns \fBNULL\fR on error.
49 It sets errno according to the function's failure:
50 .TP 5
51 .B E_NOT_CONNECTED
52 No items are connected to the menu.
53 .TP 5
54 .B E_SYSTEM_ERROR
55 System error occurred, e.g., malloc failure.
56 .PP
57 The function \fBfree_menu\fR returns one of the following:
58 .TP 5
59 .B E_OK
60 The routine succeeded.
61 .TP 5
62 .B E_SYSTEM_ERROR
63 System error occurred (see \fBerrno\fR).
64 .TP 5
65 .B E_BAD_ARGUMENT
66 Routine detected an incorrect or out-of-range argument.
67 .TP 5
68 .B E_POSTED
69 The menu has already been posted.
70 .SH SEE ALSO
71 \fBcurses\fR(3X), \fBmenu\fR(3X).
72 .SH NOTES
73 The header file \fB<menu.h>\fR automatically includes the header file
74 \fB<curses.h>\fR.
75 .SH PORTABILITY
76 These routines emulate the System V menu library.  They were not supported on
77 Version 7 or BSD versions.
78 .SH AUTHORS
79 Juergen Pfeifer.  Manual pages and adaptation for new curses by Eric
80 S. Raymond.