xref: /netbsd/lib/libmenu/menu_new.3 (revision 6550d01e)
1.\"	$NetBSD: menu_new.3,v 1.9 2003/04/16 13:35:11 wiz Exp $
2.\"
3.\" Copyright (c) 1999
4.\"	Brett Lymn - blymn@baea.com.au, brett_lymn@yahoo.com.au
5.\"
6.\" This code is donated to The NetBSD Foundation by the author.
7.\"
8.\" Redistribution and use in source and binary forms, with or without
9.\" modification, are permitted provided that the following conditions
10.\" are met:
11.\" 1. Redistributions of source code must retain the above copyright
12.\"    notice, this list of conditions and the following disclaimer.
13.\" 2. Redistributions in binary form must reproduce the above copyright
14.\"    notice, this list of conditions and the following disclaimer in the
15.\"    documentation and/or other materials provided with the distribution.
16.\" 3. The name of the Author may not be used to endorse or promote
17.\"    products derived from this software without specific prior written
18.\"    permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.Dd September 10, 1999
33.Dt MENU_NEW 3
34.Os
35.Sh NAME
36.Nm free_menu ,
37.Nm new_menu
38.Nd create or delete a menu
39.Sh LIBRARY
40.Lb libmenu
41.Sh SYNOPSIS
42.In menu.h
43.Ft int
44.Fn free_menu "MENU *menu"
45.Ft MENU *
46.Fn new_menu "ITEMS **items"
47.Sh DESCRIPTION
48The
49.Fn free_menu
50.Fa menu
51function destroys the given menu and frees all allocated storage
52associated with the menu.
53All items associated with the menu are
54detached from the menu before it is destroyed.
55The
56.Fn new_menu
57function allocates storage for a new menu and initializes all the
58values to the defined defaults.
59If the items pointer passed is not a NULL then the given NULL terminated
60array of items is attached to the new menu.
61.Sh RETURN VALUES
62The
63.Fn new_menu
64function returns NULL on error, while the
65.Fn free_menu
66function returns one of the following error values:
67.Pp
68.Bl -tag -width E_BAD_ARGUMENT -compact
69.It Er E_OK
70The function was successful.
71.It Er E_BAD_ARGUMENT
72One or more of the arguments passed to the function was incorrect.
73.It Er E_POSTED
74The menu is already posted.
75.El
76.Sh SEE ALSO
77.Xr curses 3 ,
78.Xr menus 3
79.Sh NOTES
80The header
81.Pa \*[Lt]menu.h\*[Gt]
82automatically includes both
83.Pa \*[Lt]curses.h\*[Gt]
84and
85.Pa \*[Lt]eti.h\*[Gt] .
86