xref: /netbsd/lib/libmenu/menu_new.3 (revision bf9ec67e)
1.\"	$NetBSD: menu_new.3,v 1.6 2002/02/20 11:47:56 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.Fd #include \*[Lt]menu.h\*[Gt]
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.  All items associated with the menu are
53detached from the menu before it is destroyed.  The
54.Fn new_menu
55function allocates storage for a new menu and initialises all the
56values to the defined defaults.  If the items pointer passed is not a
57NULL then the given NULL terminated array of items is attached to the
58new menu.
59.Sh RETURN VALUES
60The
61.Fn new_menu
62function returns NULL on error, while the
63.Fn free_menu
64function returns one of the following error values:
65.Pp
66.Bl -tag -width E_BAD_ARGUMENT -compact
67.It Er E_OK
68The function was successful.
69.It Er E_BAD_ARGUMENT
70One or more of the arguments passed to the function was incorrect.
71.It Er E_POSTED
72The menu is already posted.
73.El
74.Sh SEE ALSO
75.Xr curses 3 ,
76.Xr menus 3
77.Sh NOTES
78The header
79.Pa \*[Lt]menu.h\*[Gt]
80automatically includes both
81.Pa \*[Lt]curses.h\*[Gt]
82and
83.Pa \*[Lt]eti.h\*[Gt] .
84