ncurses 5.9 - patch 20130518
[ncurses.git] / doc / html / ada / terminal_interface-curses-menus__adb.htm
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
2 <HTML>
3 <HEAD>
4 <TITLE>terminal_interface-curses-menus.adb</TITLE>
5 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
6 <style type="text/css">
7 *.comment {
8         color: green;
9 }
10 *.symbol {
11         color: red;
12 }
13 </style>
14 </HEAD>
15 <BODY>
16 <HR><DIV style="text-align:center"><H1> File : terminal_interface-curses-menus.adb </H1></DIV><HR>
17 <PRE>
18 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
19 <span class="comment"><EM>--                                                                          --</EM></span>
20 <span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
21 <span class="comment"><EM>--                                                                          --</EM></span>
22 <span class="comment"><EM>--                      Terminal_Interface.Curses.Menus                     --</EM></span>
23 <span class="comment"><EM>--                                                                          --</EM></span>
24 <span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
25 <span class="comment"><EM>--                                                                          --</EM></span>
26 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
27 <span class="comment"><EM>-- Copyright (c) 1998-2009,2011 Free Software Foundation, Inc.              --</EM></span>
28 <span class="comment"><EM>--                                                                          --</EM></span>
29 <span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
30 <span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
31 <span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
32 <span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
33 <span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
34 <span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
35 <span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
36 <span class="comment"><EM>--                                                                          --</EM></span>
37 <span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
38 <span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
39 <span class="comment"><EM>--                                                                          --</EM></span>
40 <span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
41 <span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
42 <span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
43 <span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
44 <span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
45 <span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
46 <span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
47 <span class="comment"><EM>--                                                                          --</EM></span>
48 <span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
49 <span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
50 <span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
51 <span class="comment"><EM>-- authorization.                                                           --</EM></span>
52 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
53 <span class="comment"><EM>--  Author:  Juergen Pfeifer, 1996</EM></span>
54 <span class="comment"><EM>--  Version Control:</EM></span>
55 <span class="comment"><EM>--  @Revision: 1.28 @</EM></span>
56 <span class="comment"><EM>--  @Date: 2011/03/22 23:38:12 @</EM></span>
57 <span class="comment"><EM>--  Binding Version 01.00</EM></span>
58 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
59 <b>with</b> Ada.Unchecked_Deallocation;
60 <b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>; <b>use</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_35">Aux</A>;
61
62 <b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
63 <b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings; <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
64 <b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers;
65
66 <b>with</b> Ada.Unchecked_Conversion;
67
68 <b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<span class="symbol"><A NAME="ref_51_40" HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A></span> <b>is</b>
69
70    <b>type</b> C_Item_Array <b>is</b> <b>array</b> (Natural <b>range</b> &lt;&gt;) <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
71    <b>package</b> I_Array <b>is</b> <b>new</b>
72      <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Pointers (Natural, <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>, C_Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
73
74    <b>use</b> <b>type</b> System.Bit_Order;
75    <b>subtype</b> <span class="symbol"><A NAME="ref_58_12">chars_ptr</A></span> <b>is</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.chars_ptr;
76
77    <b>function</b> MOS_2_CInt <b>is</b> <b>new</b>
78      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>,
79                                <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
80
81    <b>function</b> CInt_2_MOS <b>is</b> <b>new</b>
82      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
83                                <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>);
84
85    <b>function</b> IOS_2_CInt <b>is</b> <b>new</b>
86      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>,
87                                <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>);
88
89    <b>function</b> CInt_2_IOS <b>is</b> <b>new</b>
90      Ada.Unchecked_Conversion (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>,
91                                <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>);
92
93 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
94    <b>procedure</b> <span class="symbol"><A NAME="ref_77_14" HREF="terminal_interface-curses-menus__ads.htm#ref_106_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_77_28" HREF="terminal_interface-curses-menus__ads.htm#ref_106_28">Key</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>;
95                            <span class="symbol"><A NAME="ref_78_28" HREF="terminal_interface-curses-menus__ads.htm#ref_107_28">Name</A></span> : <b>out</b> String)
96    <b>is</b>
97       <b>function</b> <span class="symbol"><A NAME="ref_80_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_80_30" HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
98       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
99    <b>begin</b>
100       <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_80_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_106_28">Key</A>)), <A HREF="terminal_interface-curses-menus__ads.htm#ref_107_28">Name</A>);
101    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_106_14">Request_Name</A>;
102
103    <b>function</b> <span class="symbol"><A NAME="ref_86_13" HREF="terminal_interface-curses-menus__ads.htm#ref_109_14">Request_Name</A></span> (<span class="symbol"><A NAME="ref_86_27" HREF="terminal_interface-curses-menus__ads.htm#ref_109_28">Key</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_65_12">Menu_Request_Code</A>) <b>return</b> String
104    <b>is</b>
105       <b>function</b> <span class="symbol"><A NAME="ref_88_16">Request_Name</A></span> (<span class="symbol"><A NAME="ref_88_30" HREF="terminal_interface-curses-menus__adb.htm#ref_88_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
106       <b>pragma</b> Import (C, Request_Name, "menu_request_name");
107    <b>begin</b>
108       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_88_16">Request_Name</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_109_28">Key</A>)));
109    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_109_14">Request_Name</A>;
110
111    <b>function</b> <span class="symbol"><A NAME="ref_94_13" HREF="terminal_interface-curses-menus__ads.htm#ref_193_13">Create</A></span> (<span class="symbol"><A NAME="ref_94_21" HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A></span>        : String;
112                     <span class="symbol"><A NAME="ref_95_21" HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A></span> : String := "") <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
113    <b>is</b>
114       <b>type</b> <span class="symbol"><A NAME="ref_97_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
115       <b>function</b> <span class="symbol"><A NAME="ref_98_16">Newitem</A></span> (<span class="symbol"><A NAME="ref_98_25" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Name</A></span>, <span class="symbol"><A NAME="ref_98_31" HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Desc</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_97_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
116       <b>pragma</b> Import (C, Newitem, "new_item");
117
118       <b>type</b> Name_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A>'Length);
119       <b>type</b> <span class="symbol"><A NAME="ref_102_12">Name_String_Ptr</A></span> <b>is</b> <b>access</b> Name_String;
120       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_102_12">Name_String_Ptr</A>);
121
122       <b>type</b> Desc_String <b>is</b> <b>new</b> char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A>'Length);
123       <b>type</b> <span class="symbol"><A NAME="ref_106_12">Desc_String_Ptr</A></span> <b>is</b> <b>access</b> Desc_String;
124       <b>pragma</b> Controlled (<A HREF="terminal_interface-curses-menus__adb.htm#ref_106_12">Desc_String_Ptr</A>);
125
126       <span class="symbol"><A NAME="ref_109_7">Name_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_102_12">Name_String_Ptr</A> := <b>new</b> Name_String;
127       <span class="symbol"><A NAME="ref_110_7">Desc_Str</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_106_12">Desc_String_Ptr</A> := <b>new</b> Desc_String;
128       <span class="symbol"><A NAME="ref_111_7">Name_Len</A></span>, <span class="symbol"><A NAME="ref_111_17">Desc_Len</A></span> : size_t;
129       <span class="symbol"><A NAME="ref_112_7">Result</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
130    <b>begin</b>
131       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_193_21">Name</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_111_7">Name_Len</A>);
132       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_194_21">Description</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_111_17">Desc_Len</A>);
133       <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_98_16">Newitem</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_109_7">Name_Str</A>.<b>all</b>'First)'<b>Access</b>,
134                          <A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_110_7">Desc_Str</A>.<b>all</b>'First)'<b>Access</b>);
135       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
136          <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_390_4">Eti_System_Error</A>;
137       <b>end</b> <b>if</b>;
138       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_112_7">Result</A>;
139    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_193_13">Create</A>;
140
141    <b>procedure</b> <span class="symbol"><A NAME="ref_124_14" HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A></span> (<span class="symbol"><A NAME="ref_124_22" HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
142    <b>is</b>
143       <b>function</b> <span class="symbol"><A NAME="ref_126_16">Descname</A></span> (<span class="symbol"><A NAME="ref_126_26" HREF="terminal_interface-curses-menus__adb.htm#ref_126_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
144       <b>pragma</b> Import (C, Descname, "item_description");
145       <b>function</b> <span class="symbol"><A NAME="ref_128_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_128_26" HREF="terminal_interface-curses-menus__adb.htm#ref_128_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
146       <b>pragma</b> Import (C, Itemname, "item_name");
147
148       <b>function</b> <span class="symbol"><A NAME="ref_131_16">Freeitem</A></span> (<span class="symbol"><A NAME="ref_131_26" HREF="terminal_interface-curses-menus__adb.htm#ref_131_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
149       <b>pragma</b> Import (C, Freeitem, "free_item");
150
151       <span class="symbol"><A NAME="ref_134_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
152       <span class="symbol"><A NAME="ref_135_7">Ptr</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
153    <b>begin</b>
154       <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_126_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
155       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> /= Null_Ptr <b>then</b>
156          <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A>);
157       <b>end</b> <b>if</b>;
158       <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_128_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
159       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A> /= Null_Ptr <b>then</b>
160          <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings.Free (<A HREF="terminal_interface-curses-menus__adb.htm#ref_135_7">Ptr</A>);
161       <b>end</b> <b>if</b>;
162       <A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_131_16">Freeitem</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A>);
163       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
164          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_134_7">Res</A>);
165       <b>end</b> <b>if</b>;
166       <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_22">Itm</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>;
167    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A>;
168 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
169    <b>procedure</b> <span class="symbol"><A NAME="ref_152_14" HREF="terminal_interface-curses-menus__ads.htm#ref_214_14">Set_Value</A></span> (<span class="symbol"><A NAME="ref_152_25" HREF="terminal_interface-curses-menus__ads.htm#ref_214_25">Itm</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
170                         <span class="symbol"><A NAME="ref_153_25" HREF="terminal_interface-curses-menus__ads.htm#ref_215_25">Value</A></span> : Boolean := True)
171    <b>is</b>
172       <b>function</b> <span class="symbol"><A NAME="ref_155_16">Set_Item_Val</A></span> (<span class="symbol"><A NAME="ref_155_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
173                              <span class="symbol"><A NAME="ref_156_30" HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Val</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
174       <b>pragma</b> Import (C, Set_Item_Val, "set_item_value");
175
176       <span class="symbol"><A NAME="ref_159_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_155_16">Set_Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_214_25">Itm</A>, Boolean'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_215_25">Value</A>));
177    <b>begin</b>
178       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_159_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
179          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_159_7">Res</A>);
180       <b>end</b> <b>if</b>;
181    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_214_14">Set_Value</A>;
182
183    <b>function</b> <span class="symbol"><A NAME="ref_166_13" HREF="terminal_interface-curses-menus__ads.htm#ref_220_13">Value</A></span> (<span class="symbol"><A NAME="ref_166_20" HREF="terminal_interface-curses-menus__ads.htm#ref_220_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
184    <b>is</b>
185       <b>function</b> <span class="symbol"><A NAME="ref_168_16">Item_Val</A></span> (<span class="symbol"><A NAME="ref_168_26" HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
186       <b>pragma</b> Import (C, Item_Val, "item_value");
187    <b>begin</b>
188       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_168_16">Item_Val</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_220_20">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
189          <b>return</b> False;
190       <b>else</b>
191          <b>return</b> True;
192       <b>end</b> <b>if</b>;
193    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_220_13">Value</A>;
194
195 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
196    <b>function</b> <span class="symbol"><A NAME="ref_179_13" HREF="terminal_interface-curses-menus__ads.htm#ref_229_13">Visible</A></span> (<span class="symbol"><A NAME="ref_179_22" HREF="terminal_interface-curses-menus__ads.htm#ref_229_22">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Boolean
197    <b>is</b>
198       <b>function</b> <span class="symbol"><A NAME="ref_181_16">Item_Vis</A></span> (<span class="symbol"><A NAME="ref_181_26" HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
199       <b>pragma</b> Import (C, Item_Vis, "item_visible");
200    <b>begin</b>
201       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_181_16">Item_Vis</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_229_22">Itm</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_75_4">Curses_False</A> <b>then</b>
202          <b>return</b> False;
203       <b>else</b>
204          <b>return</b> True;
205       <b>end</b> <b>if</b>;
206    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_229_13">Visible</A>;
207 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
208    <b>procedure</b> <span class="symbol"><A NAME="ref_191_14" HREF="terminal_interface-curses-menus__ads.htm#ref_238_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_191_27" HREF="terminal_interface-curses-menus__ads.htm#ref_238_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
209                           <span class="symbol"><A NAME="ref_192_27" HREF="terminal_interface-curses-menus__ads.htm#ref_239_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>)
210    <b>is</b>
211       <b>function</b> <span class="symbol"><A NAME="ref_194_16">Set_Item_Opts</A></span> (<span class="symbol"><A NAME="ref_194_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
212                               <span class="symbol"><A NAME="ref_195_31" HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
213       <b>pragma</b> Import (C, Set_Item_Opts, "set_item_opts");
214
215       <span class="symbol"><A NAME="ref_198_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := IOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_239_27">Options</A>);
216       <span class="symbol"><A NAME="ref_199_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
217    <b>begin</b>
218       <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_194_16">Set_Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_238_27">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_198_7">Opt</A>);
219       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
220          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_199_7">Res</A>);
221       <b>end</b> <b>if</b>;
222    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_238_14">Set_Options</A>;
223
224    <b>procedure</b> <span class="symbol"><A NAME="ref_207_14" HREF="terminal_interface-curses-menus__ads.htm#ref_244_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_207_30" HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
225                              <span class="symbol"><A NAME="ref_208_30" HREF="terminal_interface-curses-menus__ads.htm#ref_245_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
226                              <span class="symbol"><A NAME="ref_209_30" HREF="terminal_interface-curses-menus__ads.htm#ref_246_30">On</A></span>      : Boolean := True)
227    <b>is</b>
228       <b>function</b> <span class="symbol"><A NAME="ref_211_16">Item_Opts_On</A></span> (<span class="symbol"><A NAME="ref_211_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
229                              <span class="symbol"><A NAME="ref_212_30" HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
230       <b>pragma</b> Import (C, Item_Opts_On, "item_opts_on");
231       <b>function</b> <span class="symbol"><A NAME="ref_214_16">Item_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_214_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
232                               <span class="symbol"><A NAME="ref_215_31" HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
233       <b>pragma</b> Import (C, Item_Opts_Off, "item_opts_off");
234
235       <span class="symbol"><A NAME="ref_218_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := IOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_245_30">Options</A>);
236       <span class="symbol"><A NAME="ref_219_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
237    <b>begin</b>
238       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_246_30">On</A> <b>then</b>
239          <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_211_16">Item_Opts_On</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_218_7">Opt</A>);
240       <b>else</b>
241          <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_214_16">Item_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_244_30">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_218_7">Opt</A>);
242       <b>end</b> <b>if</b>;
243       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
244          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_219_7">Err</A>);
245       <b>end</b> <b>if</b>;
246    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_244_14">Switch_Options</A>;
247
248    <b>procedure</b> <span class="symbol"><A NAME="ref_231_14" HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_231_27" HREF="terminal_interface-curses-menus__ads.htm#ref_253_27">Itm</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
249                           <span class="symbol"><A NAME="ref_232_27" HREF="terminal_interface-curses-menus__ads.htm#ref_254_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>)
250    <b>is</b>
251       <b>function</b> <span class="symbol"><A NAME="ref_234_16">Item_Opts</A></span> (<span class="symbol"><A NAME="ref_234_27" HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
252       <b>pragma</b> Import (C, Item_Opts, "item_opts");
253
254       <span class="symbol"><A NAME="ref_237_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_234_16">Item_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_253_27">Itm</A>);
255    <b>begin</b>
256       <A HREF="terminal_interface-curses-menus__ads.htm#ref_254_27">Options</A> := CInt_2_IOS (<A HREF="terminal_interface-curses-menus__adb.htm#ref_237_7">Res</A>);
257    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A>;
258
259    <b>function</b> <span class="symbol"><A NAME="ref_242_13" HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_242_26" HREF="terminal_interface-curses-menus__ads.htm#ref_258_26">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>
260    <b>is</b>
261       <span class="symbol"><A NAME="ref_244_7">Ios</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>;
262    <b>begin</b>
263       <A HREF="terminal_interface-curses-menus__ads.htm#ref_253_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_258_26">Itm</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_244_7">Ios</A>);
264       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_244_7">Ios</A>;
265    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A>;
266 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
267    <b>procedure</b> <span class="symbol"><A NAME="ref_250_14" HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A></span> (<span class="symbol"><A NAME="ref_250_20" HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
268                    <span class="symbol"><A NAME="ref_251_20" HREF="terminal_interface-curses-menus__ads.htm#ref_268_20">Name</A></span> : <b>out</b> String)
269    <b>is</b>
270       <b>function</b> <span class="symbol"><A NAME="ref_253_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_253_26" HREF="terminal_interface-curses-menus__adb.htm#ref_253_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
271       <b>pragma</b> Import (C, Itemname, "item_name");
272    <b>begin</b>
273       <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_253_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_267_20">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_268_20">Name</A>);
274    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_267_14">Name</A>;
275
276    <b>function</b> <span class="symbol"><A NAME="ref_259_13" HREF="terminal_interface-curses-menus__ads.htm#ref_270_14">Name</A></span> (<span class="symbol"><A NAME="ref_259_19" HREF="terminal_interface-curses-menus__ads.htm#ref_270_20">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
277    <b>is</b>
278       <b>function</b> <span class="symbol"><A NAME="ref_261_16">Itemname</A></span> (<span class="symbol"><A NAME="ref_261_26" HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
279       <b>pragma</b> Import (C, Itemname, "item_name");
280    <b>begin</b>
281       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_261_16">Itemname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_270_20">Itm</A>));
282    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_270_14">Name</A>;
283
284    <b>procedure</b> <span class="symbol"><A NAME="ref_267_14" HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A></span> (<span class="symbol"><A NAME="ref_267_27" HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A></span>         : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
285                           <span class="symbol"><A NAME="ref_268_27" HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Description</A></span> : <b>out</b> String)
286    <b>is</b>
287       <b>function</b> <span class="symbol"><A NAME="ref_270_16">Descname</A></span> (<span class="symbol"><A NAME="ref_270_26" HREF="terminal_interface-curses-menus__adb.htm#ref_270_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
288       <b>pragma</b> Import (C, Descname, "item_description");
289    <b>begin</b>
290       <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_270_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_276_27">Itm</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_277_27">Description</A>);
291    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_276_14">Description</A>;
292
293    <b>function</b> <span class="symbol"><A NAME="ref_276_13" HREF="terminal_interface-curses-menus__ads.htm#ref_280_14">Description</A></span> (<span class="symbol"><A NAME="ref_276_26" HREF="terminal_interface-curses-menus__ads.htm#ref_280_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> String
294    <b>is</b>
295       <b>function</b> <span class="symbol"><A NAME="ref_278_16">Descname</A></span> (<span class="symbol"><A NAME="ref_278_26" HREF="terminal_interface-curses-menus__adb.htm#ref_278_16">Itm</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
296       <b>pragma</b> Import (C, Descname, "item_description");
297    <b>begin</b>
298       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_278_16">Descname</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_280_27">Itm</A>));
299    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_280_14">Description</A>;
300 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
301    <b>procedure</b> <span class="symbol"><A NAME="ref_284_14" HREF="terminal_interface-curses-menus__ads.htm#ref_290_14">Set_Current</A></span> (<span class="symbol"><A NAME="ref_284_27" HREF="terminal_interface-curses-menus__ads.htm#ref_290_27">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
302                           <span class="symbol"><A NAME="ref_285_27" HREF="terminal_interface-curses-menus__ads.htm#ref_291_27">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>)
303    <b>is</b>
304       <b>function</b> <span class="symbol"><A NAME="ref_287_16">Set_Curr_Item</A></span> (<span class="symbol"><A NAME="ref_287_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
305                               <span class="symbol"><A NAME="ref_288_31" HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
306       <b>pragma</b> Import (C, Set_Curr_Item, "set_current_item");
307
308       <span class="symbol"><A NAME="ref_291_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_287_16">Set_Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_290_27">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_291_27">Itm</A>);
309    <b>begin</b>
310       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_291_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
311          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_291_7">Res</A>);
312       <b>end</b> <b>if</b>;
313    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_290_14">Set_Current</A>;
314
315    <b>function</b> <span class="symbol"><A NAME="ref_298_13" HREF="terminal_interface-curses-menus__ads.htm#ref_296_13">Current</A></span> (<span class="symbol"><A NAME="ref_298_22" HREF="terminal_interface-curses-menus__ads.htm#ref_296_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
316    <b>is</b>
317       <b>function</b> <span class="symbol"><A NAME="ref_300_16">Curr_Item</A></span> (<span class="symbol"><A NAME="ref_300_27" HREF="terminal_interface-curses-menus__adb.htm#ref_300_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>;
318       <b>pragma</b> Import (C, Curr_Item, "current_item");
319
320       <span class="symbol"><A NAME="ref_303_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_300_16">Curr_Item</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_296_22">Men</A>);
321    <b>begin</b>
322       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_303_7">Res</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
323          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
324       <b>end</b> <b>if</b>;
325       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_303_7">Res</A>;
326    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_296_13">Current</A>;
327
328    <b>procedure</b> <span class="symbol"><A NAME="ref_311_14" HREF="terminal_interface-curses-menus__ads.htm#ref_301_14">Set_Top_Row</A></span> (<span class="symbol"><A NAME="ref_311_27" HREF="terminal_interface-curses-menus__ads.htm#ref_301_27">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
329                           <span class="symbol"><A NAME="ref_312_27" HREF="terminal_interface-curses-menus__ads.htm#ref_302_27">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>)
330    <b>is</b>
331       <b>function</b> <span class="symbol"><A NAME="ref_314_16">Set_Toprow</A></span> (<span class="symbol"><A NAME="ref_314_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
332                            <span class="symbol"><A NAME="ref_315_28" HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Line</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
333       <b>pragma</b> Import (C, Set_Toprow, "set_top_row");
334
335       <span class="symbol"><A NAME="ref_318_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_314_16">Set_Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_301_27">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_302_27">Line</A>));
336    <b>begin</b>
337       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_318_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
338          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_318_7">Res</A>);
339       <b>end</b> <b>if</b>;
340    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_301_14">Set_Top_Row</A>;
341
342    <b>function</b> <span class="symbol"><A NAME="ref_325_13" HREF="terminal_interface-curses-menus__ads.htm#ref_307_13">Top_Row</A></span> (<span class="symbol"><A NAME="ref_325_22" HREF="terminal_interface-curses-menus__ads.htm#ref_307_22">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>
343    <b>is</b>
344       <b>function</b> <span class="symbol"><A NAME="ref_327_16">Toprow</A></span> (<span class="symbol"><A NAME="ref_327_24" HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
345       <b>pragma</b> Import (C, Toprow, "top_row");
346
347       <span class="symbol"><A NAME="ref_330_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_327_16">Toprow</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_307_22">Men</A>);
348    <b>begin</b>
349       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_330_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
350          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
351       <b>end</b> <b>if</b>;
352       <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_330_7">Res</A>);
353    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_307_13">Top_Row</A>;
354
355    <b>function</b> <span class="symbol"><A NAME="ref_338_13" HREF="terminal_interface-curses-menus__ads.htm#ref_312_13">Get_Index</A></span> (<span class="symbol"><A NAME="ref_338_24" HREF="terminal_interface-curses-menus__ads.htm#ref_312_24">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> Positive
356    <b>is</b>
357       <b>function</b> <span class="symbol"><A NAME="ref_340_16">Get_Itemindex</A></span> (<span class="symbol"><A NAME="ref_340_31" HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Itm</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
358       <b>pragma</b> Import (C, Get_Itemindex, "item_index");
359
360       <span class="symbol"><A NAME="ref_343_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_340_16">Get_Itemindex</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_312_24">Itm</A>);
361    <b>begin</b>
362       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_343_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_72_4">Curses_Err</A> <b>then</b>
363          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
364       <b>end</b> <b>if</b>;
365       <b>return</b> Positive (Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_343_7">Res</A>) + Positive'First);
366    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_312_13">Get_Index</A>;
367 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
368    <b>procedure</b> <span class="symbol"><A NAME="ref_351_14" HREF="terminal_interface-curses-menus__ads.htm#ref_324_14">Post</A></span> (<span class="symbol"><A NAME="ref_351_20" HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
369                    <span class="symbol"><A NAME="ref_352_20" HREF="terminal_interface-curses-menus__ads.htm#ref_325_20">Post</A></span> : Boolean := True)
370    <b>is</b>
371       <b>function</b> <span class="symbol"><A NAME="ref_354_16">M_Post</A></span> (<span class="symbol"><A NAME="ref_354_24" HREF="terminal_interface-curses-menus__adb.htm#ref_354_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
372       <b>pragma</b> Import (C, M_Post, "post_menu");
373       <b>function</b> <span class="symbol"><A NAME="ref_356_16">M_Unpost</A></span> (<span class="symbol"><A NAME="ref_356_26" HREF="terminal_interface-curses-menus__adb.htm#ref_356_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
374       <b>pragma</b> Import (C, M_Unpost, "unpost_menu");
375
376       <span class="symbol"><A NAME="ref_359_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
377    <b>begin</b>
378       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_325_20">Post</A> <b>then</b>
379          <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_354_16">M_Post</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A>);
380       <b>else</b>
381          <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_356_16">M_Unpost</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_324_20">Men</A>);
382       <b>end</b> <b>if</b>;
383       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
384          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_359_7">Res</A>);
385       <b>end</b> <b>if</b>;
386    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_324_14">Post</A>;
387 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
388    <b>procedure</b> <span class="symbol"><A NAME="ref_371_14" HREF="terminal_interface-curses-menus__ads.htm#ref_335_14">Set_Options</A></span> (<span class="symbol"><A NAME="ref_371_27" HREF="terminal_interface-curses-menus__ads.htm#ref_335_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
389                           <span class="symbol"><A NAME="ref_372_27" HREF="terminal_interface-curses-menus__ads.htm#ref_336_27">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
390    <b>is</b>
391       <b>function</b> <span class="symbol"><A NAME="ref_374_16">Set_Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_374_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
392                               <span class="symbol"><A NAME="ref_375_31" HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
393       <b>pragma</b> Import (C, Set_Menu_Opts, "set_menu_opts");
394
395       <span class="symbol"><A NAME="ref_378_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := MOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_336_27">Options</A>);
396       <span class="symbol"><A NAME="ref_379_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
397    <b>begin</b>
398       <A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_374_16">Set_Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_335_27">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_378_7">Opt</A>);
399       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
400          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_379_7">Res</A>);
401       <b>end</b> <b>if</b>;
402    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_335_14">Set_Options</A>;
403
404    <b>procedure</b> <span class="symbol"><A NAME="ref_387_14" HREF="terminal_interface-curses-menus__ads.htm#ref_341_14">Switch_Options</A></span> (<span class="symbol"><A NAME="ref_387_30" HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
405                              <span class="symbol"><A NAME="ref_388_30" HREF="terminal_interface-curses-menus__ads.htm#ref_342_30">Options</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
406                              <span class="symbol"><A NAME="ref_389_30" HREF="terminal_interface-curses-menus__ads.htm#ref_343_30">On</A></span>      : Boolean := True)
407    <b>is</b>
408       <b>function</b> <span class="symbol"><A NAME="ref_391_16">Menu_Opts_On</A></span> (<span class="symbol"><A NAME="ref_391_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
409                              <span class="symbol"><A NAME="ref_392_30" HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
410       <b>pragma</b> Import (C, Menu_Opts_On, "menu_opts_on");
411       <b>function</b> <span class="symbol"><A NAME="ref_394_16">Menu_Opts_Off</A></span> (<span class="symbol"><A NAME="ref_394_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
412                               <span class="symbol"><A NAME="ref_395_31" HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Opt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
413       <b>pragma</b> Import (C, Menu_Opts_Off, "menu_opts_off");
414
415       <span class="symbol"><A NAME="ref_398_7">Opt</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := MOS_2_CInt (<A HREF="terminal_interface-curses-menus__ads.htm#ref_342_30">Options</A>);
416       <span class="symbol"><A NAME="ref_399_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
417    <b>begin</b>
418       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_343_30">On</A> <b>then</b>
419          <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_391_16">Menu_Opts_On</A>  (<A HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_398_7">Opt</A>);
420       <b>else</b>
421          <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_394_16">Menu_Opts_Off</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_341_30">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_398_7">Opt</A>);
422       <b>end</b> <b>if</b>;
423       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
424          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_399_7">Err</A>);
425       <b>end</b> <b>if</b>;
426    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_341_14">Switch_Options</A>;
427
428    <b>procedure</b> <span class="symbol"><A NAME="ref_411_14" HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A></span> (<span class="symbol"><A NAME="ref_411_27" HREF="terminal_interface-curses-menus__ads.htm#ref_349_27">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
429                           <span class="symbol"><A NAME="ref_412_27" HREF="terminal_interface-curses-menus__ads.htm#ref_350_27">Options</A></span> : <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>)
430    <b>is</b>
431       <b>function</b> <span class="symbol"><A NAME="ref_414_16">Menu_Opts</A></span> (<span class="symbol"><A NAME="ref_414_27" HREF="terminal_interface-curses-menus__adb.htm#ref_414_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
432       <b>pragma</b> Import (C, Menu_Opts, "menu_opts");
433
434       <span class="symbol"><A NAME="ref_417_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_414_16">Menu_Opts</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_349_27">Men</A>);
435    <b>begin</b>
436       <A HREF="terminal_interface-curses-menus__ads.htm#ref_350_27">Options</A> := CInt_2_MOS (<A HREF="terminal_interface-curses-menus__adb.htm#ref_417_7">Res</A>);
437    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A>;
438
439    <b>function</b> <span class="symbol"><A NAME="ref_422_13" HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A></span> (<span class="symbol"><A NAME="ref_422_26" HREF="terminal_interface-curses-menus__ads.htm#ref_354_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>
440    <b>is</b>
441       <span class="symbol"><A NAME="ref_424_7">Mos</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>;
442    <b>begin</b>
443       <A HREF="terminal_interface-curses-menus__ads.htm#ref_349_14">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_354_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">Mos</A>);
444       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_424_7">Mos</A>;
445    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A>;
446 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
447    <b>procedure</b> <span class="symbol"><A NAME="ref_430_14" HREF="terminal_interface-curses-menus__ads.htm#ref_363_14">Set_Window</A></span> (<span class="symbol"><A NAME="ref_430_26" HREF="terminal_interface-curses-menus__ads.htm#ref_363_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
448                          <span class="symbol"><A NAME="ref_431_26" HREF="terminal_interface-curses-menus__ads.htm#ref_364_26">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
449    <b>is</b>
450       <b>function</b> <span class="symbol"><A NAME="ref_433_16">Set_Menu_Win</A></span> (<span class="symbol"><A NAME="ref_433_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
451                              <span class="symbol"><A NAME="ref_434_30" HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
452       <b>pragma</b> Import (C, Set_Menu_Win, "set_menu_win");
453
454       <span class="symbol"><A NAME="ref_437_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_433_16">Set_Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_363_26">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_364_26">Win</A>);
455    <b>begin</b>
456       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_437_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
457          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_437_7">Res</A>);
458       <b>end</b> <b>if</b>;
459    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_363_14">Set_Window</A>;
460
461    <b>function</b> <span class="symbol"><A NAME="ref_444_13" HREF="terminal_interface-curses-menus__ads.htm#ref_369_13">Get_Window</A></span> (<span class="symbol"><A NAME="ref_444_25" HREF="terminal_interface-curses-menus__ads.htm#ref_369_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
462    <b>is</b>
463       <b>function</b> <span class="symbol"><A NAME="ref_446_16">Menu_Win</A></span> (<span class="symbol"><A NAME="ref_446_26" HREF="terminal_interface-curses-menus__adb.htm#ref_446_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
464       <b>pragma</b> Import (C, Menu_Win, "menu_win");
465
466       <span class="symbol"><A NAME="ref_449_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_446_16">Menu_Win</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_369_25">Men</A>);
467    <b>begin</b>
468       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_449_7">W</A>;
469    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_369_13">Get_Window</A>;
470
471    <b>procedure</b> <span class="symbol"><A NAME="ref_454_14" HREF="terminal_interface-curses-menus__ads.htm#ref_374_14">Set_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_454_30" HREF="terminal_interface-curses-menus__ads.htm#ref_374_30">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
472                              <span class="symbol"><A NAME="ref_455_30" HREF="terminal_interface-curses-menus__ads.htm#ref_375_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>)
473    <b>is</b>
474       <b>function</b> <span class="symbol"><A NAME="ref_457_16">Set_Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_457_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
475                              <span class="symbol"><A NAME="ref_458_30" HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
476       <b>pragma</b> Import (C, Set_Menu_Sub, "set_menu_sub");
477
478       <span class="symbol"><A NAME="ref_461_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_457_16">Set_Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_374_30">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_375_30">Win</A>);
479    <b>begin</b>
480       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_461_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
481          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_461_7">Res</A>);
482       <b>end</b> <b>if</b>;
483    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_374_14">Set_Sub_Window</A>;
484
485    <b>function</b> <span class="symbol"><A NAME="ref_468_13" HREF="terminal_interface-curses-menus__ads.htm#ref_380_13">Get_Sub_Window</A></span> (<span class="symbol"><A NAME="ref_468_29" HREF="terminal_interface-curses-menus__ads.htm#ref_380_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>
486    <b>is</b>
487       <b>function</b> <span class="symbol"><A NAME="ref_470_16">Menu_Sub</A></span> (<span class="symbol"><A NAME="ref_470_26" HREF="terminal_interface-curses-menus__adb.htm#ref_470_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A>;
488       <b>pragma</b> Import (C, Menu_Sub, "menu_sub");
489
490       <span class="symbol"><A NAME="ref_473_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_57_9">Window</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_470_16">Menu_Sub</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_380_29">Men</A>);
491    <b>begin</b>
492       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_473_7">W</A>;
493    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_380_13">Get_Sub_Window</A>;
494
495    <b>procedure</b> <span class="symbol"><A NAME="ref_478_14" HREF="terminal_interface-curses-menus__ads.htm#ref_385_14">Scale</A></span> (<span class="symbol"><A NAME="ref_478_21" HREF="terminal_interface-curses-menus__ads.htm#ref_385_21">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
496                     <span class="symbol"><A NAME="ref_479_21" HREF="terminal_interface-curses-menus__ads.htm#ref_386_21">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
497                     <span class="symbol"><A NAME="ref_480_21" HREF="terminal_interface-curses-menus__ads.htm#ref_387_21">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
498    <b>is</b>
499       <b>type</b> <span class="symbol"><A NAME="ref_482_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
500       <b>function</b> <span class="symbol"><A NAME="ref_483_16">M_Scale</A></span> (<span class="symbol"><A NAME="ref_483_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Men</A></span>    : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
501                         <span class="symbol"><A NAME="ref_484_25" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Yp</A></span>, <span class="symbol"><A NAME="ref_484_29" HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">Xp</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_482_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
502       <b>pragma</b> Import (C, M_Scale, "scale_menu");
503
504       <span class="symbol"><A NAME="ref_487_7">X</A></span>, <span class="symbol"><A NAME="ref_487_10">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
505       <span class="symbol"><A NAME="ref_488_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_483_16">M_Scale</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_385_21">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_487_10">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_487_7">X</A>'<b>Access</b>);
506    <b>begin</b>
507       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_488_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
508          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_488_7">Res</A>);
509       <b>end</b> <b>if</b>;
510       <A HREF="terminal_interface-curses-menus__ads.htm#ref_386_21">Lines</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_487_10">Y</A>);
511       <A HREF="terminal_interface-curses-menus__ads.htm#ref_387_21">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_487_7">X</A>);
512    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_385_14">Scale</A>;
513 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
514    <b>procedure</b> <span class="symbol"><A NAME="ref_497_14" HREF="terminal_interface-curses-menus__ads.htm#ref_396_14">Position_Cursor</A></span> (<span class="symbol"><A NAME="ref_497_31" HREF="terminal_interface-curses-menus__ads.htm#ref_396_31">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
515    <b>is</b>
516       <b>function</b> <span class="symbol"><A NAME="ref_499_16">Pos_Menu_Cursor</A></span> (<span class="symbol"><A NAME="ref_499_33" HREF="terminal_interface-curses-menus__adb.htm#ref_499_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
517       <b>pragma</b> Import (C, Pos_Menu_Cursor, "pos_menu_cursor");
518
519       <span class="symbol"><A NAME="ref_502_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_499_16">Pos_Menu_Cursor</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_396_31">Men</A>);
520    <b>begin</b>
521       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_502_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
522          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_502_7">Res</A>);
523       <b>end</b> <b>if</b>;
524    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_396_14">Position_Cursor</A>;
525
526 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
527    <b>procedure</b> <span class="symbol"><A NAME="ref_510_14" HREF="terminal_interface-curses-menus__ads.htm#ref_405_14">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses-menus__ads.htm#ref_405_24">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
528                        <span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A></span> : String)
529    <b>is</b>
530       <b>type</b> <span class="symbol"><A NAME="ref_513_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
531       <b>function</b> <span class="symbol"><A NAME="ref_514_16">Set_Mark</A></span> (<span class="symbol"><A NAME="ref_514_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
532                          <span class="symbol"><A NAME="ref_515_26" HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Mark</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_513_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
533       <b>pragma</b> Import (C, Set_Mark, "set_menu_mark");
534
535       <span class="symbol"><A NAME="ref_518_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A>'Length);
536       <span class="symbol"><A NAME="ref_519_7">Len</A></span> : size_t;
537       <span class="symbol"><A NAME="ref_520_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
538    <b>begin</b>
539       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_406_24">Mark</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_519_7">Len</A>);
540       <A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_514_16">Set_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_405_24">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_518_7">Txt</A>'First)'<b>Access</b>);
541       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
542          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_520_7">Res</A>);
543       <b>end</b> <b>if</b>;
544    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_405_14">Set_Mark</A>;
545
546    <b>procedure</b> <span class="symbol"><A NAME="ref_529_14" HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A></span> (<span class="symbol"><A NAME="ref_529_20" HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
547                    <span class="symbol"><A NAME="ref_530_20" HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Mark</A></span> : <b>out</b> String)
548    <b>is</b>
549       <b>function</b> <span class="symbol"><A NAME="ref_532_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_532_31" HREF="terminal_interface-curses-menus__adb.htm#ref_532_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
550       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
551    <b>begin</b>
552       <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_532_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_411_20">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_412_20">Mark</A>);
553    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_411_14">Mark</A>;
554
555    <b>function</b> <span class="symbol"><A NAME="ref_538_13" HREF="terminal_interface-curses-menus__ads.htm#ref_415_14">Mark</A></span> (<span class="symbol"><A NAME="ref_538_19" HREF="terminal_interface-curses-menus__ads.htm#ref_415_20">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> String
556    <b>is</b>
557       <b>function</b> <span class="symbol"><A NAME="ref_540_16">Get_Menu_Mark</A></span> (<span class="symbol"><A NAME="ref_540_31" HREF="terminal_interface-curses-menus__adb.htm#ref_540_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
558       <b>pragma</b> Import (C, Get_Menu_Mark, "menu_mark");
559    <b>begin</b>
560       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_121_13">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_540_16">Get_Menu_Mark</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_415_20">Men</A>));
561    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_415_14">Mark</A>;
562
563 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
564    <b>procedure</b> <span class="symbol"><A NAME="ref_547_14" HREF="terminal_interface-curses-menus__ads.htm#ref_425_14">Set_Foreground</A></span>
565      (<span class="symbol"><A NAME="ref_548_7" HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
566       <span class="symbol"><A NAME="ref_549_7" HREF="terminal_interface-curses-menus__ads.htm#ref_427_7">Fore</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
567       <span class="symbol"><A NAME="ref_550_7" HREF="terminal_interface-curses-menus__ads.htm#ref_428_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
568    <b>is</b>
569       <b>function</b> <span class="symbol"><A NAME="ref_552_16">Set_Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_552_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
570                               <span class="symbol"><A NAME="ref_553_31" HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
571       <b>pragma</b> Import (C, Set_Menu_Fore, "set_menu_fore");
572
573       <span class="symbol"><A NAME="ref_556_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A>    =&gt; Character'First,
574                                              <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_428_7">Color</A>,
575                                              <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_427_7">Fore</A>);
576       <span class="symbol"><A NAME="ref_559_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_552_16">Set_Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_426_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_556_7">Ch</A>));
577    <b>begin</b>
578       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_559_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
579          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_559_7">Res</A>);
580       <b>end</b> <b>if</b>;
581    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_425_14">Set_Foreground</A>;
582
583    <b>procedure</b> <span class="symbol"><A NAME="ref_566_14" HREF="terminal_interface-curses-menus__ads.htm#ref_433_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_566_26" HREF="terminal_interface-curses-menus__ads.htm#ref_433_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
584                          <span class="symbol"><A NAME="ref_567_26" HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
585    <b>is</b>
586       <b>function</b> <span class="symbol"><A NAME="ref_569_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_569_27" HREF="terminal_interface-curses-menus__adb.htm#ref_569_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
587       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
588    <b>begin</b>
589       <A HREF="terminal_interface-curses-menus__ads.htm#ref_434_26">Fore</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_569_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_433_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
590    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_433_14">Foreground</A>;
591
592    <b>procedure</b> <span class="symbol"><A NAME="ref_575_14" HREF="terminal_interface-curses-menus__ads.htm#ref_438_14">Foreground</A></span> (<span class="symbol"><A NAME="ref_575_26" HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
593                          <span class="symbol"><A NAME="ref_576_26" HREF="terminal_interface-curses-menus__ads.htm#ref_439_26">Fore</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
594                          <span class="symbol"><A NAME="ref_577_26" HREF="terminal_interface-curses-menus__ads.htm#ref_440_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
595    <b>is</b>
596       <b>function</b> <span class="symbol"><A NAME="ref_579_16">Menu_Fore</A></span> (<span class="symbol"><A NAME="ref_579_27" HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
597       <b>pragma</b> Import (C, Menu_Fore, "menu_fore");
598    <b>begin</b>
599       <A HREF="terminal_interface-curses-menus__ads.htm#ref_439_26">Fore</A>  := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
600       <A HREF="terminal_interface-curses-menus__ads.htm#ref_440_26">Color</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_579_16">Menu_Fore</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_438_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
601    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_438_14">Foreground</A>;
602
603    <b>procedure</b> <span class="symbol"><A NAME="ref_586_14" HREF="terminal_interface-curses-menus__ads.htm#ref_445_14">Set_Background</A></span>
604      (<span class="symbol"><A NAME="ref_587_7" HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
605       <span class="symbol"><A NAME="ref_588_7" HREF="terminal_interface-curses-menus__ads.htm#ref_447_7">Back</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
606       <span class="symbol"><A NAME="ref_589_7" HREF="terminal_interface-curses-menus__ads.htm#ref_448_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
607    <b>is</b>
608       <b>function</b> <span class="symbol"><A NAME="ref_591_16">Set_Menu_Back</A></span> (<span class="symbol"><A NAME="ref_591_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
609                               <span class="symbol"><A NAME="ref_592_31" HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
610       <b>pragma</b> Import (C, Set_Menu_Back, "set_menu_back");
611
612       <span class="symbol"><A NAME="ref_595_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A>    =&gt; Character'First,
613                                              <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_448_7">Color</A>,
614                                              <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_447_7">Back</A>);
615       <span class="symbol"><A NAME="ref_598_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_591_16">Set_Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_446_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_595_7">Ch</A>));
616    <b>begin</b>
617       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_598_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
618          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_598_7">Res</A>);
619       <b>end</b> <b>if</b>;
620    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_445_14">Set_Background</A>;
621
622    <b>procedure</b> <span class="symbol"><A NAME="ref_605_14" HREF="terminal_interface-curses-menus__ads.htm#ref_453_14">Background</A></span> (<span class="symbol"><A NAME="ref_605_26" HREF="terminal_interface-curses-menus__ads.htm#ref_453_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
623                          <span class="symbol"><A NAME="ref_606_26" HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
624    <b>is</b>
625       <b>function</b> <span class="symbol"><A NAME="ref_608_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_608_27" HREF="terminal_interface-curses-menus__adb.htm#ref_608_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
626       <b>pragma</b> Import (C, Menu_Back, "menu_back");
627    <b>begin</b>
628       <A HREF="terminal_interface-curses-menus__ads.htm#ref_454_26">Back</A> := Chtype_To_AttrChar (<A HREF="terminal_interface-curses-menus__adb.htm#ref_608_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_453_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
629    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_453_14">Background</A>;
630
631    <b>procedure</b> <span class="symbol"><A NAME="ref_614_14" HREF="terminal_interface-curses-menus__ads.htm#ref_458_14">Background</A></span> (<span class="symbol"><A NAME="ref_614_26" HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
632                          <span class="symbol"><A NAME="ref_615_26" HREF="terminal_interface-curses-menus__ads.htm#ref_459_26">Back</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
633                          <span class="symbol"><A NAME="ref_616_26" HREF="terminal_interface-curses-menus__ads.htm#ref_460_26">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
634    <b>is</b>
635       <b>function</b> <span class="symbol"><A NAME="ref_618_16">Menu_Back</A></span> (<span class="symbol"><A NAME="ref_618_27" HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
636       <b>pragma</b> Import (C, Menu_Back, "menu_back");
637    <b>begin</b>
638       <A HREF="terminal_interface-curses-menus__ads.htm#ref_459_26">Back</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
639       <A HREF="terminal_interface-curses-menus__ads.htm#ref_460_26">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_618_16">Menu_Back</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_458_26">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
640    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_458_14">Background</A>;
641
642    <b>procedure</b> <span class="symbol"><A NAME="ref_625_14" HREF="terminal_interface-curses-menus__ads.htm#ref_465_14">Set_Grey</A></span> (<span class="symbol"><A NAME="ref_625_24" HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
643                        <span class="symbol"><A NAME="ref_626_24" HREF="terminal_interface-curses-menus__ads.htm#ref_467_7">Grey</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_351_4">Normal_Video</A>;
644                        <span class="symbol"><A NAME="ref_627_24" HREF="terminal_interface-curses-menus__ads.htm#ref_468_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>'First)
645    <b>is</b>
646       <b>function</b> <span class="symbol"><A NAME="ref_629_16">Set_Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_629_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
647                               <span class="symbol"><A NAME="ref_630_31" HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Attr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
648       <b>pragma</b> Import (C, Set_Menu_Grey, "set_menu_grey");
649
650       <span class="symbol"><A NAME="ref_633_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_353_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_357_10">Ch</A>    =&gt; Character'First,
651                                              <A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A> =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_468_7">Color</A>,
652                                              <A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>  =&gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_467_7">Grey</A>);
653
654       <span class="symbol"><A NAME="ref_637_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_629_16">Set_Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_466_7">Men</A>, AttrChar_To_Chtype (<A HREF="terminal_interface-curses-menus__adb.htm#ref_633_7">Ch</A>));
655    <b>begin</b>
656       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_637_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
657          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_637_7">Res</A>);
658       <b>end</b> <b>if</b>;
659    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_465_14">Set_Grey</A>;
660
661    <b>procedure</b> <span class="symbol"><A NAME="ref_644_14" HREF="terminal_interface-curses-menus__ads.htm#ref_473_14">Grey</A></span> (<span class="symbol"><A NAME="ref_644_20" HREF="terminal_interface-curses-menus__ads.htm#ref_473_20">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
662                    <span class="symbol"><A NAME="ref_645_20" HREF="terminal_interface-curses-menus__ads.htm#ref_474_20">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>)
663    <b>is</b>
664       <b>function</b> <span class="symbol"><A NAME="ref_647_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_647_27" HREF="terminal_interface-curses-menus__adb.htm#ref_647_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
665       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
666    <b>begin</b>
667       <A HREF="terminal_interface-curses-menus__ads.htm#ref_474_20">Grey</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_647_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_473_20">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
668    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_473_14">Grey</A>;
669
670    <b>procedure</b> <span class="symbol"><A NAME="ref_653_14" HREF="terminal_interface-curses-menus__ads.htm#ref_478_14">Grey</A></span> (<span class="symbol"><A NAME="ref_653_20" HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
671                    <span class="symbol"><A NAME="ref_654_20" HREF="terminal_interface-curses-menus__ads.htm#ref_480_7">Grey</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_307_9">Character_Attribute_Set</A>;
672                    <span class="symbol"><A NAME="ref_655_20" HREF="terminal_interface-curses-menus__ads.htm#ref_481_7">Color</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_299_9">Color_Pair</A>)
673    <b>is</b>
674       <b>function</b> <span class="symbol"><A NAME="ref_657_16">Menu_Grey</A></span> (<span class="symbol"><A NAME="ref_657_27" HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_63_12">C_Chtype</A>;
675       <b>pragma</b> Import (C, Menu_Grey, "menu_grey");
676    <b>begin</b>
677       <A HREF="terminal_interface-curses-menus__ads.htm#ref_480_7">Grey</A>  := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_355_10">Attr</A>;
678       <A HREF="terminal_interface-curses-menus__ads.htm#ref_481_7">Color</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Chtype_To_AttrChar</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_657_16">Menu_Grey</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_479_7">Men</A>)).<A HREF="terminal_interface-curses__ads.htm#ref_356_10">Color</A>;
679    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_478_14">Grey</A>;
680
681    <b>procedure</b> <span class="symbol"><A NAME="ref_664_14" HREF="terminal_interface-curses-menus__ads.htm#ref_486_14">Set_Pad_Character</A></span> (<span class="symbol"><A NAME="ref_664_33" HREF="terminal_interface-curses-menus__ads.htm#ref_486_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
682                                 <span class="symbol"><A NAME="ref_665_33" HREF="terminal_interface-curses-menus__ads.htm#ref_487_33">Pad</A></span> : Character := Space)
683    <b>is</b>
684       <b>function</b> <span class="symbol"><A NAME="ref_667_16">Set_Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_667_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
685                              <span class="symbol"><A NAME="ref_668_30" HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Ch</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
686       <b>pragma</b> Import (C, Set_Menu_Pad, "set_menu_pad");
687
688       <span class="symbol"><A NAME="ref_671_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_667_16">Set_Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_486_33">Men</A>,
689                                                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (Character'Pos (<A HREF="terminal_interface-curses-menus__ads.htm#ref_487_33">Pad</A>)));
690    <b>begin</b>
691       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_671_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
692          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_671_7">Res</A>);
693       <b>end</b> <b>if</b>;
694    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_486_14">Set_Pad_Character</A>;
695
696    <b>procedure</b> <span class="symbol"><A NAME="ref_679_14" HREF="terminal_interface-curses-menus__ads.htm#ref_492_14">Pad_Character</A></span> (<span class="symbol"><A NAME="ref_679_29" HREF="terminal_interface-curses-menus__ads.htm#ref_492_29">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
697                             <span class="symbol"><A NAME="ref_680_29" HREF="terminal_interface-curses-menus__ads.htm#ref_493_29">Pad</A></span> : <b>out</b> Character)
698    <b>is</b>
699       <b>function</b> <span class="symbol"><A NAME="ref_682_16">Menu_Pad</A></span> (<span class="symbol"><A NAME="ref_682_26" HREF="terminal_interface-curses-menus__adb.htm#ref_682_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
700       <b>pragma</b> Import (C, Menu_Pad, "menu_pad");
701    <b>begin</b>
702       <A HREF="terminal_interface-curses-menus__ads.htm#ref_493_29">Pad</A> := Character'Val (<A HREF="terminal_interface-curses-menus__adb.htm#ref_682_16">Menu_Pad</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_492_29">Men</A>));
703    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_492_14">Pad_Character</A>;
704 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
705    <b>procedure</b> <span class="symbol"><A NAME="ref_688_14" HREF="terminal_interface-curses-menus__ads.htm#ref_502_14">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_688_27" HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
706                           <span class="symbol"><A NAME="ref_689_27" HREF="terminal_interface-curses-menus__ads.htm#ref_503_27">Descr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0;
707                           <span class="symbol"><A NAME="ref_690_27" HREF="terminal_interface-curses-menus__ads.htm#ref_504_27">Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>   := 0;
708                           <span class="symbol"><A NAME="ref_691_27" HREF="terminal_interface-curses-menus__ads.htm#ref_505_27">Col</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> := 0)
709    <b>is</b>
710       <b>function</b> <span class="symbol"><A NAME="ref_693_16">Set_Spacing</A></span> (<span class="symbol"><A NAME="ref_693_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
711                             <span class="symbol"><A NAME="ref_694_29" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">D</A></span>, <span class="symbol"><A NAME="ref_694_32" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">R</A></span>, <span class="symbol"><A NAME="ref_694_35" HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">C</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
712       <b>pragma</b> Import (C, Set_Spacing, "set_menu_spacing");
713
714       <span class="symbol"><A NAME="ref_697_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_693_16">Set_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_502_27">Men</A>,
715                                                <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_503_27">Descr</A>),
716                                                <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_504_27">Row</A>),
717                                                <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_505_27">Col</A>));
718    <b>begin</b>
719       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_697_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
720          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_697_7">Res</A>);
721       <b>end</b> <b>if</b>;
722    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_502_14">Set_Spacing</A>;
723
724    <b>procedure</b> <span class="symbol"><A NAME="ref_707_14" HREF="terminal_interface-curses-menus__ads.htm#ref_510_14">Spacing</A></span> (<span class="symbol"><A NAME="ref_707_23" HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
725                       <span class="symbol"><A NAME="ref_708_23" HREF="terminal_interface-curses-menus__ads.htm#ref_511_23">Descr</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>;
726                       <span class="symbol"><A NAME="ref_709_23" HREF="terminal_interface-curses-menus__ads.htm#ref_512_23">Row</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A>;
727                       <span class="symbol"><A NAME="ref_710_23" HREF="terminal_interface-curses-menus__ads.htm#ref_513_23">Col</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A>)
728    <b>is</b>
729       <b>type</b> <span class="symbol"><A NAME="ref_712_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
730       <b>function</b> <span class="symbol"><A NAME="ref_713_16">Get_Spacing</A></span> (<span class="symbol"><A NAME="ref_713_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
731                             <span class="symbol"><A NAME="ref_714_29" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">D</A></span>, <span class="symbol"><A NAME="ref_714_32" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">R</A></span>, <span class="symbol"><A NAME="ref_714_35" HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">C</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_712_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
732       <b>pragma</b> Import (C, Get_Spacing, "menu_spacing");
733
734       <span class="symbol"><A NAME="ref_717_7">D</A></span>, <span class="symbol"><A NAME="ref_717_10">R</A></span>, <span class="symbol"><A NAME="ref_717_13">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
735       <span class="symbol"><A NAME="ref_718_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_713_16">Get_Spacing</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_510_23">Men</A>,
736                                                <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_7">D</A>'<b>Access</b>,
737                                                <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_10">R</A>'<b>Access</b>,
738                                                <A HREF="terminal_interface-curses-menus__adb.htm#ref_717_13">C</A>'<b>Access</b>);
739    <b>begin</b>
740       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_718_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
741          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_718_7">Res</A>);
742       <b>else</b>
743          <A HREF="terminal_interface-curses-menus__ads.htm#ref_511_23">Descr</A> := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_7">D</A>);
744          <A HREF="terminal_interface-curses-menus__ads.htm#ref_512_23">Row</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_60_9">Line_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_10">R</A>);
745          <A HREF="terminal_interface-curses-menus__ads.htm#ref_513_23">Col</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_9">Column_Position</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_717_13">C</A>);
746       <b>end</b> <b>if</b>;
747    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_510_14">Spacing</A>;
748 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
749    <b>function</b> <span class="symbol"><A NAME="ref_732_13" HREF="terminal_interface-curses-menus__ads.htm#ref_522_13">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_732_26" HREF="terminal_interface-curses-menus__ads.htm#ref_522_26">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
750                          <span class="symbol"><A NAME="ref_733_26" HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A></span> : String) <b>return</b> Boolean
751    <b>is</b>
752       <b>type</b> <span class="symbol"><A NAME="ref_735_12">Char_Ptr</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char;
753       <b>function</b> <span class="symbol"><A NAME="ref_736_16">Set_Pattern</A></span> (<span class="symbol"><A NAME="ref_736_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
754                             <span class="symbol"><A NAME="ref_737_29" HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Pattern</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_735_12">Char_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
755       <b>pragma</b> Import (C, Set_Pattern, "set_menu_pattern");
756
757       <span class="symbol"><A NAME="ref_740_7">S</A></span>   : char_array (0 .. <A HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A>'Length);
758       <span class="symbol"><A NAME="ref_741_7">L</A></span>   : size_t;
759       <span class="symbol"><A NAME="ref_742_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
760    <b>begin</b>
761       To_C (<A HREF="terminal_interface-curses-menus__ads.htm#ref_523_26">Text</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_741_7">L</A>);
762       <A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_736_16">Set_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_522_26">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_740_7">S</A>'First)'<b>Access</b>);
763       <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A> <b>is</b>
764          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_89_4">E_No_Match</A> =&gt; <b>return</b> False;
765          <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A>       =&gt; <b>return</b> True;
766          <b>when</b> <b>others</b> =&gt;
767             <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_742_7">Res</A>);
768             <b>return</b> False;
769       <b>end</b> <b>case</b>;
770    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_522_13">Set_Pattern</A>;
771
772    <b>procedure</b> <span class="symbol"><A NAME="ref_755_14" HREF="terminal_interface-curses-menus__ads.htm#ref_529_14">Pattern</A></span> (<span class="symbol"><A NAME="ref_755_23" HREF="terminal_interface-curses-menus__ads.htm#ref_529_23">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
773                       <span class="symbol"><A NAME="ref_756_23" HREF="terminal_interface-curses-menus__ads.htm#ref_530_23">Text</A></span> : <b>out</b> String)
774    <b>is</b>
775       <b>function</b> <span class="symbol"><A NAME="ref_758_16">Get_Pattern</A></span> (<span class="symbol"><A NAME="ref_758_29" HREF="terminal_interface-curses-menus__adb.htm#ref_758_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_58_12">chars_ptr</A>;
776       <b>pragma</b> Import (C, Get_Pattern, "menu_pattern");
777    <b>begin</b>
778       <A HREF="terminal_interface-curses-aux__ads.htm#ref_116_14">Fill_String</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_758_16">Get_Pattern</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_529_23">Men</A>), <A HREF="terminal_interface-curses-menus__ads.htm#ref_530_23">Text</A>);
779    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_529_14">Pattern</A>;
780 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
781    <b>procedure</b> <span class="symbol"><A NAME="ref_764_14" HREF="terminal_interface-curses-menus__ads.htm#ref_539_14">Set_Format</A></span> (<span class="symbol"><A NAME="ref_764_26" HREF="terminal_interface-curses-menus__ads.htm#ref_539_26">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
782                          <span class="symbol"><A NAME="ref_765_26" HREF="terminal_interface-curses-menus__ads.htm#ref_540_26">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
783                          <span class="symbol"><A NAME="ref_766_26" HREF="terminal_interface-curses-menus__ads.htm#ref_541_26">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
784    <b>is</b>
785       <b>function</b> <span class="symbol"><A NAME="ref_768_16">Set_Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_768_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
786                              <span class="symbol"><A NAME="ref_769_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
787                              <span class="symbol"><A NAME="ref_770_30" HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
788       <b>pragma</b> Import (C, Set_Menu_Fmt, "set_menu_format");
789
790       <span class="symbol"><A NAME="ref_773_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_768_16">Set_Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_539_26">Men</A>,
791                                                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_540_26">Lines</A>),
792                                                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_541_26">Columns</A>));
793    <b>begin</b>
794       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_773_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
795          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_773_7">Res</A>);
796       <b>end</b> <b>if</b>;
797    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_539_14">Set_Format</A>;
798
799    <b>procedure</b> <span class="symbol"><A NAME="ref_782_14" HREF="terminal_interface-curses-menus__ads.htm#ref_553_14">Format</A></span> (<span class="symbol"><A NAME="ref_782_22" HREF="terminal_interface-curses-menus__ads.htm#ref_553_22">Men</A></span>     : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
800                      <span class="symbol"><A NAME="ref_783_22" HREF="terminal_interface-curses-menus__ads.htm#ref_554_22">Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A>;
801                      <span class="symbol"><A NAME="ref_784_22" HREF="terminal_interface-curses-menus__ads.htm#ref_555_22">Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A>)
802    <b>is</b>
803       <b>type</b> <span class="symbol"><A NAME="ref_786_12">C_Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
804       <b>function</b> <span class="symbol"><A NAME="ref_787_16">Menu_Fmt</A></span> (<span class="symbol"><A NAME="ref_787_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
805                          <span class="symbol"><A NAME="ref_788_26" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Y</A></span>, <span class="symbol"><A NAME="ref_788_29" HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">X</A></span> : <A HREF="terminal_interface-curses-menus__adb.htm#ref_786_12">C_Int_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
806       <b>pragma</b> Import (C, Menu_Fmt, "menu_format");
807
808       <span class="symbol"><A NAME="ref_791_7">L</A></span>, <span class="symbol"><A NAME="ref_791_10">C</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
809       <span class="symbol"><A NAME="ref_792_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_787_16">Menu_Fmt</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_553_22">Men</A>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_791_7">L</A>'<b>Access</b>, <A HREF="terminal_interface-curses-menus__adb.htm#ref_791_10">C</A>'<b>Access</b>);
810    <b>begin</b>
811       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_792_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
812          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_792_7">Res</A>);
813       <b>else</b>
814          <A HREF="terminal_interface-curses-menus__ads.htm#ref_554_22">Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Line_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_791_7">L</A>);
815          <A HREF="terminal_interface-curses-menus__ads.htm#ref_555_22">Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_65_12">Column_Count</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_791_10">C</A>);
816       <b>end</b> <b>if</b>;
817    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_553_14">Format</A>;
818 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
819    <b>procedure</b> <span class="symbol"><A NAME="ref_802_14" HREF="terminal_interface-curses-menus__ads.htm#ref_567_14">Set_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_802_34" HREF="terminal_interface-curses-menus__ads.htm#ref_567_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
820                                  <span class="symbol"><A NAME="ref_803_34" HREF="terminal_interface-curses-menus__ads.htm#ref_568_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
821    <b>is</b>
822       <b>function</b> <span class="symbol"><A NAME="ref_805_16">Set_Item_Init</A></span> (<span class="symbol"><A NAME="ref_805_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
823                               <span class="symbol"><A NAME="ref_806_31" HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
824       <b>pragma</b> Import (C, Set_Item_Init, "set_item_init");
825
826       <span class="symbol"><A NAME="ref_809_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_805_16">Set_Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_567_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_568_34">Proc</A>);
827    <b>begin</b>
828       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_809_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
829          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_809_7">Res</A>);
830       <b>end</b> <b>if</b>;
831    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_567_14">Set_Item_Init_Hook</A>;
832
833    <b>procedure</b> <span class="symbol"><A NAME="ref_816_14" HREF="terminal_interface-curses-menus__ads.htm#ref_573_14">Set_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_816_34" HREF="terminal_interface-curses-menus__ads.htm#ref_573_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
834                                  <span class="symbol"><A NAME="ref_817_34" HREF="terminal_interface-curses-menus__ads.htm#ref_574_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
835    <b>is</b>
836       <b>function</b> <span class="symbol"><A NAME="ref_819_16">Set_Item_Term</A></span> (<span class="symbol"><A NAME="ref_819_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
837                               <span class="symbol"><A NAME="ref_820_31" HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
838       <b>pragma</b> Import (C, Set_Item_Term, "set_item_term");
839
840       <span class="symbol"><A NAME="ref_823_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_819_16">Set_Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_573_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_574_34">Proc</A>);
841    <b>begin</b>
842       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_823_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
843          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_823_7">Res</A>);
844       <b>end</b> <b>if</b>;
845    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_573_14">Set_Item_Term_Hook</A>;
846
847    <b>procedure</b> <span class="symbol"><A NAME="ref_830_14" HREF="terminal_interface-curses-menus__ads.htm#ref_579_14">Set_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses-menus__ads.htm#ref_579_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
848                                  <span class="symbol"><A NAME="ref_831_34" HREF="terminal_interface-curses-menus__ads.htm#ref_580_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
849    <b>is</b>
850       <b>function</b> <span class="symbol"><A NAME="ref_833_16">Set_Menu_Init</A></span> (<span class="symbol"><A NAME="ref_833_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
851                               <span class="symbol"><A NAME="ref_834_31" HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
852       <b>pragma</b> Import (C, Set_Menu_Init, "set_menu_init");
853
854       <span class="symbol"><A NAME="ref_837_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_833_16">Set_Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_579_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_580_34">Proc</A>);
855    <b>begin</b>
856       <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_837_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
857          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_837_7">Res</A>);
858       <b>end</b> <b>if</b>;
859    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_579_14">Set_Menu_Init_Hook</A>;
860
861    <b>procedure</b> <span class="symbol"><A NAME="ref_844_14" HREF="terminal_interface-curses-menus__ads.htm#ref_585_14">Set_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_844_34" HREF="terminal_interface-curses-menus__ads.htm#ref_585_34">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
862                                  <span class="symbol"><A NAME="ref_845_34" HREF="terminal_interface-curses-menus__ads.htm#ref_586_34">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>)
863    <b>is</b>
864       <b>function</b> <span class="symbol"><A NAME="ref_847_16">Set_Menu_Term</A></span> (<span class="symbol"><A NAME="ref_847_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Men</A></span>  : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
865                               <span class="symbol"><A NAME="ref_848_31" HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Proc</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
866       <b>pragma</b> Import (C, Set_Menu_Term, "set_menu_term");
867
868       <span class="symbol"><A NAME="ref_851_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_847_16">Set_Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_585_34">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_586_34">Proc</A>);
869    <b>begin</b>
870       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_851_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
871          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_851_7">Res</A>);
872       <b>end</b> <b>if</b>;
873    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_585_14">Set_Menu_Term_Hook</A>;
874
875    <b>function</b> <span class="symbol"><A NAME="ref_858_13" HREF="terminal_interface-curses-menus__ads.htm#ref_591_13">Get_Item_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_858_33" HREF="terminal_interface-curses-menus__ads.htm#ref_591_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
876    <b>is</b>
877       <b>function</b> <span class="symbol"><A NAME="ref_860_16">Item_Init</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses-menus__adb.htm#ref_860_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
878       <b>pragma</b> Import (C, Item_Init, "item_init");
879    <b>begin</b>
880       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_860_16">Item_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_591_33">Men</A>);
881    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_591_13">Get_Item_Init_Hook</A>;
882
883    <b>function</b> <span class="symbol"><A NAME="ref_866_13" HREF="terminal_interface-curses-menus__ads.htm#ref_596_13">Get_Item_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_866_33" HREF="terminal_interface-curses-menus__ads.htm#ref_596_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
884    <b>is</b>
885       <b>function</b> <span class="symbol"><A NAME="ref_868_16">Item_Term</A></span> (<span class="symbol"><A NAME="ref_868_27" HREF="terminal_interface-curses-menus__adb.htm#ref_868_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
886       <b>pragma</b> Import (C, Item_Term, "item_term");
887    <b>begin</b>
888       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_868_16">Item_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_596_33">Men</A>);
889    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_596_13">Get_Item_Term_Hook</A>;
890
891    <b>function</b> <span class="symbol"><A NAME="ref_874_13" HREF="terminal_interface-curses-menus__ads.htm#ref_601_13">Get_Menu_Init_Hook</A></span> (<span class="symbol"><A NAME="ref_874_33" HREF="terminal_interface-curses-menus__ads.htm#ref_601_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
892    <b>is</b>
893       <b>function</b> <span class="symbol"><A NAME="ref_876_16">Menu_Init</A></span> (<span class="symbol"><A NAME="ref_876_27" HREF="terminal_interface-curses-menus__adb.htm#ref_876_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
894       <b>pragma</b> Import (C, Menu_Init, "menu_init");
895    <b>begin</b>
896       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_876_16">Menu_Init</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_601_33">Men</A>);
897    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_601_13">Get_Menu_Init_Hook</A>;
898
899    <b>function</b> <span class="symbol"><A NAME="ref_882_13" HREF="terminal_interface-curses-menus__ads.htm#ref_606_13">Get_Menu_Term_Hook</A></span> (<span class="symbol"><A NAME="ref_882_33" HREF="terminal_interface-curses-menus__ads.htm#ref_606_33">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>
900    <b>is</b>
901       <b>function</b> <span class="symbol"><A NAME="ref_884_16">Menu_Term</A></span> (<span class="symbol"><A NAME="ref_884_27" HREF="terminal_interface-curses-menus__adb.htm#ref_884_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_563_9">Menu_Hook_Function</A>;
902       <b>pragma</b> Import (C, Menu_Term, "menu_term");
903    <b>begin</b>
904       <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_884_16">Menu_Term</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_606_33">Men</A>);
905    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_606_13">Get_Menu_Term_Hook</A>;
906 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
907    <b>procedure</b> <span class="symbol"><A NAME="ref_890_14" HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A></span> (<span class="symbol"><A NAME="ref_890_24" HREF="terminal_interface-curses-menus__ads.htm#ref_615_24">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
908                        <span class="symbol"><A NAME="ref_891_24" HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>)
909    <b>is</b>
910       <b>function</b> <span class="symbol"><A NAME="ref_893_16">Set_Items</A></span> (<span class="symbol"><A NAME="ref_893_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
911                           <span class="symbol"><A NAME="ref_894_27" HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
912       <b>pragma</b> Import (C, Set_Items, "set_menu_items");
913
914       <span class="symbol"><A NAME="ref_897_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A>;
915    <b>begin</b>
916       <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
917       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
918          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
919       <b>else</b>
920          <A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_893_16">Set_Items</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_615_24">Men</A>, <A HREF="terminal_interface-curses-menus__ads.htm#ref_616_24">Items</A>.<b>all</b>'Address);
921          <b>if</b>  <A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
922             <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_897_7">Res</A>);
923          <b>end</b> <b>if</b>;
924       <b>end</b> <b>if</b>;
925    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_615_14">Redefine</A>;
926
927    <b>function</b> <span class="symbol"><A NAME="ref_910_13" HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A></span> (<span class="symbol"><A NAME="ref_910_25" HREF="terminal_interface-curses-menus__ads.htm#ref_631_25">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Natural
928    <b>is</b>
929       <b>function</b> <span class="symbol"><A NAME="ref_912_16">Count</A></span> (<span class="symbol"><A NAME="ref_912_23" HREF="terminal_interface-curses-menus__adb.htm#ref_912_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
930       <b>pragma</b> Import (C, Count, "item_count");
931    <b>begin</b>
932       <b>return</b> Natural (<A HREF="terminal_interface-curses-menus__adb.htm#ref_912_16">Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_631_25">Men</A>));
933    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A>;
934
935    <b>function</b> <span class="symbol"><A NAME="ref_918_13" HREF="terminal_interface-curses-menus__ads.htm#ref_625_13">Items</A></span> (<span class="symbol"><A NAME="ref_918_20" HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
936                    <span class="symbol"><A NAME="ref_919_20" HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A></span> : Positive) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_56_9">Item</A>
937    <b>is</b>
938       <b>use</b> I_Array;
939
940       <b>function</b> C_Mitems (<span class="symbol"><A NAME="ref_923_26">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> Pointer;
941       <b>pragma</b> Import (C, C_Mitems, "menu_items");
942
943       P : Pointer := C_Mitems (<A HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A>);
944    <b>begin</b>
945       <b>if</b> P = <b>null</b> <b>or</b> <b>else</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A> &gt; <A HREF="terminal_interface-curses-menus__ads.htm#ref_631_13">Item_Count</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_625_20">Men</A>) <b>then</b>
946          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
947       <b>else</b>
948          P := P + ptrdiff_t (<A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_626_20">Index</A>) - 1);
949          <b>return</b> P.<b>all</b>;
950       <b>end</b> <b>if</b>;
951    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_625_13">Items</A>;
952
953 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
954    <b>function</b> <span class="symbol"><A NAME="ref_937_13" HREF="terminal_interface-curses-menus__ads.htm#ref_640_13">Create</A></span> (<span class="symbol"><A NAME="ref_937_21" HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>
955    <b>is</b>
956       <b>function</b> <span class="symbol"><A NAME="ref_939_16">Newmenu</A></span> (<span class="symbol"><A NAME="ref_939_25" HREF="terminal_interface-curses-menus__adb.htm#ref_939_16">Items</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
957       <b>pragma</b> Import (C, Newmenu, "new_menu");
958
959       <span class="symbol"><A NAME="ref_942_7">M</A></span>   : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
960    <b>begin</b>
961       <b>pragma</b> Assert (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>'Last) = <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
962       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>'Last) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
963          <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
964       <b>else</b>
965          <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_939_16">Newmenu</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_640_21">Items</A>.<b>all</b>'Address);
966          <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A> = <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A> <b>then</b>
967             <b>raise</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_116_4">Menu_Exception</A>;
968          <b>end</b> <b>if</b>;
969          <b>return</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_942_7">M</A>;
970       <b>end</b> <b>if</b>;
971    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_640_13">Create</A>;
972
973    <b>procedure</b> <span class="symbol"><A NAME="ref_956_14" HREF="terminal_interface-curses-menus__ads.htm#ref_647_14">Delete</A></span> (<span class="symbol"><A NAME="ref_956_22" HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>)
974    <b>is</b>
975       <b>function</b> <span class="symbol"><A NAME="ref_958_16">Free</A></span> (<span class="symbol"><A NAME="ref_958_22" HREF="terminal_interface-curses-menus__adb.htm#ref_958_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
976       <b>pragma</b> Import (C, Free, "free_menu");
977
978       <span class="symbol"><A NAME="ref_961_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_958_16">Free</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A>);
979    <b>begin</b>
980       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_961_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
981          <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_961_7">Res</A>);
982       <b>end</b> <b>if</b>;
983       <A HREF="terminal_interface-curses-menus__ads.htm#ref_647_22">Men</A> := <A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>;
984    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_647_14">Delete</A>;
985
986 <span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
987    <b>function</b> <span class="symbol"><A NAME="ref_970_13" HREF="terminal_interface-curses-menus__ads.htm#ref_662_13">Driver</A></span> (<span class="symbol"><A NAME="ref_970_21" HREF="terminal_interface-curses-menus__ads.htm#ref_662_21">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
988                     <span class="symbol"><A NAME="ref_971_21" HREF="terminal_interface-curses-menus__ads.htm#ref_663_21">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_68_9">Key_Code</A>) <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_9">Driver_Result</A>
989    <b>is</b>
990       <b>function</b> <span class="symbol"><A NAME="ref_973_16">Driver</A></span> (<span class="symbol"><A NAME="ref_973_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Men</A></span> : <A HREF="terminal_interface-curses-menus__ads.htm#ref_57_9">Menu</A>;
991                        <span class="symbol"><A NAME="ref_974_24" HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A>;
992       <b>pragma</b> Import (C, Driver, "menu_driver");
993
994       <span class="symbol"><A NAME="ref_977_7">R</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_78_12">Eti_Error</A> := <A HREF="terminal_interface-curses-menus__adb.htm#ref_973_16">Driver</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_662_21">Men</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_55_12">C_Int</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_663_21">Key</A>));
995    <b>begin</b>
996       <b>if</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_80_4">E_Ok</A> <b>then</b>
997          <b>case</b> <A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A> <b>is</b>
998             <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_88_4">E_Unknown_Command</A>  =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_658_27">Unknown_Request</A>;
999             <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_89_4">E_No_Match</A>         =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_659_27">No_Match</A>;
1000             <b>when</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_4">E_Request_Denied</A> |
1001                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_90_4">E_Not_Selectable</A>   =&gt; <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_657_27">Request_Denied</A>;
1002             <b>when</b> <b>others</b> =&gt;
1003                <A HREF="terminal_interface-curses-aux__ads.htm#ref_96_14">Eti_Exception</A> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_977_7">R</A>);
1004          <b>end</b> <b>case</b>;
1005       <b>end</b> <b>if</b>;
1006       <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_656_27">Menu_Ok</A>;
1007    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_662_13">Driver</A>;
1008
1009    <b>procedure</b> <span class="symbol"><A NAME="ref_992_14" HREF="terminal_interface-curses-menus__ads.htm#ref_182_14">Free</A></span> (<span class="symbol"><A NAME="ref_992_20" HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A></span>         : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>;
1010                    <span class="symbol"><A NAME="ref_993_20" HREF="terminal_interface-curses-menus__ads.htm#ref_183_20">Free_Items</A></span> : Boolean := False)
1011    <b>is</b>
1012       <b>procedure</b> Release <b>is</b> <b>new</b> Ada.Unchecked_Deallocation
1013         (Item_Array, <A HREF="terminal_interface-curses-menus__ads.htm#ref_180_9">Item_Array_Access</A>);
1014    <b>begin</b>
1015       <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A> /= <b>null</b> <b>and</b> <b>then</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_183_20">Free_Items</A> <b>then</b>
1016          <b>for</b> <span class="symbol"><A NAME="ref_999_14">I</A></span> <b>in</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>'First .. (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>'Last - 1) <b>loop</b>
1017             <b>if</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_999_14">I</A>) /= <A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A> <b>then</b>
1018                <A HREF="terminal_interface-curses-menus__ads.htm#ref_205_14">Delete</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>.<b>all</b> (<A HREF="terminal_interface-curses-menus__adb.htm#ref_999_14">I</A>));
1019             <b>end</b> <b>if</b>;
1020          <b>end</b> <b>loop</b>;
1021       <b>end</b> <b>if</b>;
1022       Release (<A HREF="terminal_interface-curses-menus__ads.htm#ref_182_20">IA</A>);
1023    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_182_14">Free</A>;
1024
1025 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
1026    <b>function</b> <span class="symbol"><A NAME="ref_1009_13" HREF="terminal_interface-curses-menus__ads.htm#ref_147_13">Default_Menu_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_121_9">Menu_Option_Set</A>
1027    <b>is</b>
1028    <b>begin</b>
1029       <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_354_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_63_4">Null_Menu</A>);
1030    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_147_13">Default_Menu_Options</A>;
1031
1032    <b>function</b> <span class="symbol"><A NAME="ref_1015_13" HREF="terminal_interface-curses-menus__ads.htm#ref_170_13">Default_Item_Options</A></span> <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_154_9">Item_Option_Set</A>
1033    <b>is</b>
1034    <b>begin</b>
1035       <b>return</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_258_13">Get_Options</A> (<A HREF="terminal_interface-curses-menus__ads.htm#ref_62_4">Null_Item</A>);
1036    <b>end</b> <A HREF="terminal_interface-curses-menus__ads.htm#ref_170_13">Default_Item_Options</A>;
1037 <span class="comment"><EM>-------------------------------------------------------------------------------</EM></span>
1038
1039 <b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_49_28">Curses</A>.<A HREF="terminal_interface-curses-menus__ads.htm#ref_49_35">Menus</A>;
1040 </PRE></BODY></HTML>