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