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