1 /*
2                                     __
3                                    / _|
4   __ _ _   _ _ __ ___  _ __ __ _  | |_ ___  ___ ___
5  / _` | | | | '__/ _ \| '__/ _` | |  _/ _ \/ __/ __|
6 | (_| | |_| | | | (_) | | | (_| | | || (_) \__ \__ \
7  \__,_|\__,_|_|  \___/|_|  \__,_| |_| \___/|___/___/
8 
9 Copyright (C) 2018-2019 Aurora Free Open Source Software.
10 
11 This file is part of the Aurora Free Open Source Software. This
12 organization promote free and open source software that you can
13 redistribute and/or modify under the terms of the GNU Lesser General
14 Public License Version 3 as published by the Free Software Foundation or
15 (at your option) any later version approved by the Aurora Free Open Source
16 Software Organization. The license is available in the package root path
17 as 'LICENSE' file. Please review the following information to ensure the
18 GNU Lesser General Public License version 3 requirements will be met:
19 https://www.gnu.org/licenses/lgpl.html .
20 
21 Alternatively, this file may be used under the terms of the GNU General
22 Public License version 3 or later as published by the Free Software
23 Foundation. Please review the following information to ensure the GNU
24 General Public License requirements will be met:
25 http://www.gnu.org/licenses/gpl-3.0.html.
26 
27 NOTE: All products, services or anything associated to trademarks and
28 service marks used or referenced on this file are the property of their
29 respective companies/owners or its subsidiaries. Other names and brands
30 may be claimed as the property of others.
31 
32 For more info about intellectual property visit: aurorafoss.org or
33 directly send an email to: contact (at) aurorafoss.org .
34 */
35 
36 module riverd.ncurses.dynload;
37 
38 import riverd.loader;
39 
40 public import riverd.ncurses.dynfun;
41 
42 version(D_BetterC)
43 {
44 	void* dylib_load_ncurses() {
45 		version(Posix) void* handle = dylib_load("libncursesw.so");
46 
47 		if(handle is null) return null;
48 
49 		dylib_bindSymbol(handle, cast(void**)&initscr, "initscr");
50 		dylib_bindSymbol(handle, cast(void**)&longname, "longname");
51 		dylib_bindSymbol(handle, cast(void**)&newpad, "newpad");
52 		dylib_bindSymbol(handle, cast(void**)&newterm, "newterm");
53 		dylib_bindSymbol(handle, cast(void**)&newwin, "newwin");
54 		dylib_bindSymbol(handle, cast(void**)&set_term, "set_term");
55 		dylib_bindSymbol(handle, cast(void**)&slk_label, "slk_label");
56 		dylib_bindSymbol(handle, cast(void**)&subpad, "subpad");
57 		dylib_bindSymbol(handle, cast(void**)&subwin, "subwin");
58 		dylib_bindSymbol(handle, cast(void**)&termname, "termname");
59 		dylib_bindSymbol(handle, cast(void**)&tigetstr, "tigetstr");
60 		dylib_bindSymbol(handle, cast(void**)&tparm, "tparm");
61 		dylib_bindSymbol(handle, cast(void**)&tiparm, "tiparm");
62 		dylib_bindSymbol(handle, cast(void**)&keybound, "keybound");
63 		dylib_bindSymbol(handle, cast(void**)&wgetparent, "wgetparent");
64 		dylib_bindSymbol(handle, cast(void**)&new_prescr, "new_prescr");
65 		dylib_bindSymbol(handle, cast(void**)&getwin_sp, "getwin_sp");
66 		dylib_bindSymbol(handle, cast(void**)&longname_sp, "longname_sp");
67 		dylib_bindSymbol(handle, cast(void**)&newpad_sp, "newpad_sp");
68 		dylib_bindSymbol(handle, cast(void**)&newterm_sp, "newterm_sp");
69 		dylib_bindSymbol(handle, cast(void**)&newwin_sp, "newwin_sp");
70 		dylib_bindSymbol(handle, cast(void**)&getwin, "getwin");
71 		dylib_bindSymbol(handle, cast(void**)&derwin, "derwin");
72 		dylib_bindSymbol(handle, cast(void**)&dupwin, "dupwin");
73 		dylib_bindSymbol(handle, cast(void**)&termname_sp, "termname_sp");
74 		dylib_bindSymbol(handle, cast(void**)&slk_label_sp, "slk_label_sp");
75 		dylib_bindSymbol(handle, cast(void**)&curses_version, "curses_version");
76 		dylib_bindSymbol(handle, cast(void**)&keyname_sp, "keyname_sp");
77 		dylib_bindSymbol(handle, cast(void**)&keyname, "keyname");
78 		dylib_bindSymbol(handle, cast(void**)&addchnstr, "addchnstr");
79 		dylib_bindSymbol(handle, cast(void**)&addchstr, "addchstr");
80 		dylib_bindSymbol(handle, cast(void**)&addnstr, "addnstr");
81 		dylib_bindSymbol(handle, cast(void**)&addstr, "addstr");
82 		dylib_bindSymbol(handle, cast(void**)&attr_get, "attr_get");
83 		dylib_bindSymbol(handle, cast(void**)&attr_off, "attr_off");
84 		dylib_bindSymbol(handle, cast(void**)&attr_on, "attr_on");
85 		dylib_bindSymbol(handle, cast(void**)&attr_set, "attr_set");
86 		dylib_bindSymbol(handle, cast(void**)&baudrate, "baudrate");
87 		dylib_bindSymbol(handle, cast(void**)&beep, "beep");
88 		dylib_bindSymbol(handle, cast(void**)&can_change_color, "can_change_color");
89 		dylib_bindSymbol(handle, cast(void**)&cbreak, "cbreak");
90 		dylib_bindSymbol(handle, cast(void**)&clearok, "clearok");
91 		dylib_bindSymbol(handle, cast(void**)&color_content, "color_content");
92 		dylib_bindSymbol(handle, cast(void**)&copywin, "copywin");
93 		dylib_bindSymbol(handle, cast(void**)&curs_set, "curs_set");
94 		dylib_bindSymbol(handle, cast(void**)&def_prog_mode, "def_prog_mode");
95 		dylib_bindSymbol(handle, cast(void**)&def_shell_mode, "def_shell_mode");
96 		dylib_bindSymbol(handle, cast(void**)&delay_output, "delay_output");
97 		dylib_bindSymbol(handle, cast(void**)&delscreen, "delscreen");
98 		dylib_bindSymbol(handle, cast(void**)&delwin, "delwin");
99 		dylib_bindSymbol(handle, cast(void**)&doupdate, "doupdate");
100 		dylib_bindSymbol(handle, cast(void**)&echo, "echo");
101 		dylib_bindSymbol(handle, cast(void**)&endwin, "endwin");
102 		dylib_bindSymbol(handle, cast(void**)&erasechar, "erasechar");
103 		dylib_bindSymbol(handle, cast(void**)&filter, "filter");
104 		dylib_bindSymbol(handle, cast(void**)&flash, "flash");
105 		dylib_bindSymbol(handle, cast(void**)&flushinp, "flushinp");
106 		dylib_bindSymbol(handle, cast(void**)&getbkgd, "getbkgd");
107 		dylib_bindSymbol(handle, cast(void**)&halfdelay, "halfdelay");
108 		dylib_bindSymbol(handle, cast(void**)&has_colors, "has_colors");
109 		dylib_bindSymbol(handle, cast(void**)&has_ic, "has_ic");
110 		dylib_bindSymbol(handle, cast(void**)&has_il, "has_il");
111 		dylib_bindSymbol(handle, cast(void**)&idcok, "idcok");
112 		dylib_bindSymbol(handle, cast(void**)&idlok, "idlok");
113 		dylib_bindSymbol(handle, cast(void**)&immedok, "immedok");
114 		dylib_bindSymbol(handle, cast(void**)&init_color, "init_color");
115 		dylib_bindSymbol(handle, cast(void**)&init_pair, "init_pair");
116 		dylib_bindSymbol(handle, cast(void**)&intrflush, "intrflush");
117 		dylib_bindSymbol(handle, cast(void**)&isendwin, "isendwin");
118 		dylib_bindSymbol(handle, cast(void**)&is_wintouched, "is_wintouched");
119 		dylib_bindSymbol(handle, cast(void**)&keypad, "keypad");
120 		dylib_bindSymbol(handle, cast(void**)&killchar, "killchar");
121 		dylib_bindSymbol(handle, cast(void**)&leaveok, "leaveok");
122 		dylib_bindSymbol(handle, cast(void**)&meta, "meta");
123 		dylib_bindSymbol(handle, cast(void**)&mvcur, "mvcur");
124 		dylib_bindSymbol(handle, cast(void**)&mvderwin, "mvderwin");
125 		dylib_bindSymbol(handle, cast(void**)&mvprintw, "mvprintw");
126 		dylib_bindSymbol(handle, cast(void**)&mvscanw, "mvscanw");
127 		dylib_bindSymbol(handle, cast(void**)&mvwaddch, "mvwaddch");
128 		dylib_bindSymbol(handle, cast(void**)&mvwaddchnstr, "mvwaddchnstr");
129 		dylib_bindSymbol(handle, cast(void**)&mvwaddchstr, "mvwaddchstr");
130 		dylib_bindSymbol(handle, cast(void**)&mvwaddnstr, "mvwaddnstr");
131 		dylib_bindSymbol(handle, cast(void**)&mvwaddstr, "mvwaddstr");
132 		dylib_bindSymbol(handle, cast(void**)&mvwchgat, "mvwchgat");
133 		dylib_bindSymbol(handle, cast(void**)&mvwdelch, "mvwdelch");
134 		dylib_bindSymbol(handle, cast(void**)&mvwgetch, "mvwgetch");
135 		dylib_bindSymbol(handle, cast(void**)&mvwgetnstr, "mvwgetnstr");
136 		dylib_bindSymbol(handle, cast(void**)&mvwgetstr, "mvwgetstr");
137 		dylib_bindSymbol(handle, cast(void**)&mvwhline, "mvwhline");
138 		dylib_bindSymbol(handle, cast(void**)&mvwin, "mvwin");
139 		dylib_bindSymbol(handle, cast(void**)&mvwprintw, "mvwprintw");
140 		dylib_bindSymbol(handle, cast(void**)&mvwscanw, "mvwscanw");
141 		dylib_bindSymbol(handle, cast(void**)&mvwvline, "mvwvline");
142 		dylib_bindSymbol(handle, cast(void**)&napms, "napms");
143 		dylib_bindSymbol(handle, cast(void**)&nl, "nl");
144 		dylib_bindSymbol(handle, cast(void**)&nocbreak, "nocbreak");
145 		dylib_bindSymbol(handle, cast(void**)&nodelay, "nodelay");
146 		dylib_bindSymbol(handle, cast(void**)&noecho, "noecho");
147 		dylib_bindSymbol(handle, cast(void**)&nonl, "nonl");
148 		dylib_bindSymbol(handle, cast(void**)&noqiflush, "noqiflush");
149 		dylib_bindSymbol(handle, cast(void**)&noraw, "noraw");
150 		dylib_bindSymbol(handle, cast(void**)&notimeout, "notimeout");
151 		dylib_bindSymbol(handle, cast(void**)&overlay, "overlay");
152 		dylib_bindSymbol(handle, cast(void**)&overwrite, "overwrite");
153 		dylib_bindSymbol(handle, cast(void**)&pair_content, "pair_content");
154 		dylib_bindSymbol(handle, cast(void**)&PAIR_NUMBER, "PAIR_NUMBER");
155 		dylib_bindSymbol(handle, cast(void**)&pechochar, "pechochar");
156 		dylib_bindSymbol(handle, cast(void**)&pnoutrefresh, "pnoutrefresh");
157 		dylib_bindSymbol(handle, cast(void**)&prefresh, "prefresh");
158 		dylib_bindSymbol(handle, cast(void**)&printw, "printw");
159 		dylib_bindSymbol(handle, cast(void**)&putwin, "putwin");
160 		dylib_bindSymbol(handle, cast(void**)&qiflush, "qiflush");
161 		dylib_bindSymbol(handle, cast(void**)&raw, "raw");
162 		dylib_bindSymbol(handle, cast(void**)&redrawwin, "redrawwin");
163 		dylib_bindSymbol(handle, cast(void**)&resetty, "resetty");
164 		dylib_bindSymbol(handle, cast(void**)&reset_prog_mode, "reset_prog_mode");
165 		dylib_bindSymbol(handle, cast(void**)&reset_shell_mode, "reset_shell_mode");
166 		dylib_bindSymbol(handle, cast(void**)&ripoffline, "ripoffline");
167 		dylib_bindSymbol(handle, cast(void**)&savetty, "savetty");
168 		dylib_bindSymbol(handle, cast(void**)&scanw, "scanw");
169 		dylib_bindSymbol(handle, cast(void**)&scr_dump, "scr_dump");
170 		dylib_bindSymbol(handle, cast(void**)&scr_init, "scr_init");
171 		dylib_bindSymbol(handle, cast(void**)&scrollok, "scrollok");
172 		dylib_bindSymbol(handle, cast(void**)&scr_restore, "scr_restore");
173 		dylib_bindSymbol(handle, cast(void**)&scr_set, "scr_set");
174 		dylib_bindSymbol(handle, cast(void**)&setscrreg, "setscrreg");
175 		dylib_bindSymbol(handle, cast(void**)&slk_attroff, "slk_attroff");
176 		dylib_bindSymbol(handle, cast(void**)&slk_attron, "slk_attron");
177 		dylib_bindSymbol(handle, cast(void**)&slk_attrset, "slk_attrset");
178 		dylib_bindSymbol(handle, cast(void**)&slk_attr, "slk_attr");
179 		dylib_bindSymbol(handle, cast(void**)&slk_attr_set, "slk_attr_set");
180 		dylib_bindSymbol(handle, cast(void**)&slk_clear, "slk_clear");
181 		dylib_bindSymbol(handle, cast(void**)&slk_color, "slk_color");
182 		dylib_bindSymbol(handle, cast(void**)&slk_init, "slk_init");
183 		dylib_bindSymbol(handle, cast(void**)&slk_noutrefresh, "slk_noutrefresh");
184 		dylib_bindSymbol(handle, cast(void**)&slk_refresh, "slk_refresh");
185 		dylib_bindSymbol(handle, cast(void**)&slk_restore, "slk_restore");
186 		dylib_bindSymbol(handle, cast(void**)&slk_set, "slk_set");
187 		dylib_bindSymbol(handle, cast(void**)&slk_touch, "slk_touch");
188 		dylib_bindSymbol(handle, cast(void**)&start_color, "start_color");
189 		dylib_bindSymbol(handle, cast(void**)&syncok, "syncok");
190 		dylib_bindSymbol(handle, cast(void**)&termattrs, "termattrs");
191 		dylib_bindSymbol(handle, cast(void**)&typeahead, "typeahead");
192 		dylib_bindSymbol(handle, cast(void**)&ungetch, "ungetch");
193 		dylib_bindSymbol(handle, cast(void**)&use_env, "use_env");
194 		dylib_bindSymbol(handle, cast(void**)&use_tioctl, "use_tioctl");
195 		dylib_bindSymbol(handle, cast(void**)&vidattr, "vidattr");
196 		dylib_bindSymbol(handle, cast(void**)&vidputs, "vidputs");
197 		dylib_bindSymbol(handle, cast(void**)&vwprintw, "vwprintw");
198 		dylib_bindSymbol(handle, cast(void**)&vw_printw, "vw_printw");
199 		dylib_bindSymbol(handle, cast(void**)&vwscanw, "vwscanw");
200 		dylib_bindSymbol(handle, cast(void**)&vw_scanw, "vw_scanw");
201 		dylib_bindSymbol(handle, cast(void**)&waddch, "waddch");
202 		dylib_bindSymbol(handle, cast(void**)&waddchnstr, "waddchnstr");
203 		dylib_bindSymbol(handle, cast(void**)&waddchstr, "waddchstr");
204 		dylib_bindSymbol(handle, cast(void**)&waddnstr, "waddnstr");
205 		dylib_bindSymbol(handle, cast(void**)&wattrset, "wattrset");
206 		dylib_bindSymbol(handle, cast(void**)&wattr_get, "wattr_get");
207 		dylib_bindSymbol(handle, cast(void**)&wattr_on, "wattr_on");
208 		dylib_bindSymbol(handle, cast(void**)&wattr_off, "wattr_off");
209 		dylib_bindSymbol(handle, cast(void**)&wattr_set, "wattr_set");
210 		dylib_bindSymbol(handle, cast(void**)&wbkgd, "wbkgd");
211 		dylib_bindSymbol(handle, cast(void**)&wbkgdset, "wbkgdset");
212 		dylib_bindSymbol(handle, cast(void**)&wborder, "wborder");
213 		dylib_bindSymbol(handle, cast(void**)&wchgat, "wchgat");
214 		dylib_bindSymbol(handle, cast(void**)&wclear, "wclear");
215 		dylib_bindSymbol(handle, cast(void**)&wclrtobot, "wclrtobot");
216 		dylib_bindSymbol(handle, cast(void**)&wclrtoeol, "wclrtoeol");
217 		dylib_bindSymbol(handle, cast(void**)&wcolor_set, "wcolor_set");
218 		dylib_bindSymbol(handle, cast(void**)&wcursyncup, "wcursyncup");
219 		dylib_bindSymbol(handle, cast(void**)&wdelch, "wdelch");
220 		dylib_bindSymbol(handle, cast(void**)&wechochar, "wechochar");
221 		dylib_bindSymbol(handle, cast(void**)&werase, "werase");
222 		dylib_bindSymbol(handle, cast(void**)&wgetch, "wgetch");
223 		dylib_bindSymbol(handle, cast(void**)&wgetnstr, "wgetnstr");
224 		dylib_bindSymbol(handle, cast(void**)&whline, "whline");
225 		dylib_bindSymbol(handle, cast(void**)&winch, "winch");
226 		dylib_bindSymbol(handle, cast(void**)&winchnstr, "winchnstr");
227 		dylib_bindSymbol(handle, cast(void**)&winnstr, "winnstr");
228 		dylib_bindSymbol(handle, cast(void**)&winsch, "winsch");
229 		dylib_bindSymbol(handle, cast(void**)&winsdelln, "winsdelln");
230 		dylib_bindSymbol(handle, cast(void**)&winsnstr, "winsnstr");
231 		dylib_bindSymbol(handle, cast(void**)&wmove, "wmove");
232 		dylib_bindSymbol(handle, cast(void**)&wnoutrefresh, "wnoutrefresh");
233 		dylib_bindSymbol(handle, cast(void**)&wprintw, "wprintw");
234 		dylib_bindSymbol(handle, cast(void**)&wredrawln, "wredrawln");
235 		dylib_bindSymbol(handle, cast(void**)&wrefresh, "wrefresh");
236 		dylib_bindSymbol(handle, cast(void**)&wscanw, "wscanw");
237 		dylib_bindSymbol(handle, cast(void**)&wscrl, "wscrl");
238 		dylib_bindSymbol(handle, cast(void**)&wsetscrreg, "wsetscrreg");
239 		dylib_bindSymbol(handle, cast(void**)&wsyncdown, "wsyncdown");
240 		dylib_bindSymbol(handle, cast(void**)&wsyncup, "wsyncup");
241 		dylib_bindSymbol(handle, cast(void**)&wtimeout, "wtimeout");
242 		dylib_bindSymbol(handle, cast(void**)&wtouchln, "wtouchln");
243 		dylib_bindSymbol(handle, cast(void**)&wvline, "wvline");
244 		dylib_bindSymbol(handle, cast(void**)&tigetflag, "tigetflag");
245 		dylib_bindSymbol(handle, cast(void**)&tigetnum, "tigetnum");
246 		dylib_bindSymbol(handle, cast(void**)&putp, "putp");
247 		dylib_bindSymbol(handle, cast(void**)&getattrs, "getattrs");
248 		dylib_bindSymbol(handle, cast(void**)&is_term_resized, "is_term_resized");
249 		dylib_bindSymbol(handle, cast(void**)&alloc_pair, "alloc_pair");
250 		dylib_bindSymbol(handle, cast(void**)&assume_default_colors, "assume_default_colors");
251 		dylib_bindSymbol(handle, cast(void**)&define_key, "define_key");
252 		dylib_bindSymbol(handle, cast(void**)&extended_color_content, "extended_color_content");
253 		dylib_bindSymbol(handle, cast(void**)&extended_pair_content, "extended_pair_content");
254 		dylib_bindSymbol(handle, cast(void**)&extended_slk_color, "extended_slk_color");
255 		dylib_bindSymbol(handle, cast(void**)&find_pair, "find_pair");
256 		dylib_bindSymbol(handle, cast(void**)&free_pair, "free_pair");
257 		dylib_bindSymbol(handle, cast(void**)&get_escdelay, "get_escdelay");
258 		dylib_bindSymbol(handle, cast(void**)&init_extended_color, "init_extended_color");
259 		dylib_bindSymbol(handle, cast(void**)&init_extended_pair, "init_extended_pair");
260 		dylib_bindSymbol(handle, cast(void**)&key_defined, "key_defined");
261 		dylib_bindSymbol(handle, cast(void**)&keyok, "keyok");
262 		dylib_bindSymbol(handle, cast(void**)&reset_color_pairs, "reset_color_pairs");
263 		dylib_bindSymbol(handle, cast(void**)&resize_term, "resize_term");
264 		dylib_bindSymbol(handle, cast(void**)&resizeterm, "resizeterm");
265 		dylib_bindSymbol(handle, cast(void**)&set_escdelay, "set_escdelay");
266 		dylib_bindSymbol(handle, cast(void**)&set_tabsize, "set_tabsize");
267 		dylib_bindSymbol(handle, cast(void**)&use_default_colors, "use_default_colors");
268 		dylib_bindSymbol(handle, cast(void**)&use_extended_names, "use_extended_names");
269 		dylib_bindSymbol(handle, cast(void**)&use_legacy_coding, "use_legacy_coding");
270 		dylib_bindSymbol(handle, cast(void**)&use_screen, "use_screen");
271 		dylib_bindSymbol(handle, cast(void**)&use_window, "use_window");
272 		dylib_bindSymbol(handle, cast(void**)&wresize, "wresize");
273 		dylib_bindSymbol(handle, cast(void**)&nofilter, "nofilter");
274 		dylib_bindSymbol(handle, cast(void**)&is_cleared, "is_cleared");
275 		dylib_bindSymbol(handle, cast(void**)&is_idcok, "is_idcok");
276 		dylib_bindSymbol(handle, cast(void**)&is_idlok, "is_idlok");
277 		dylib_bindSymbol(handle, cast(void**)&is_immedok, "is_immedok");
278 		dylib_bindSymbol(handle, cast(void**)&is_keypad, "is_keypad");
279 		dylib_bindSymbol(handle, cast(void**)&is_leaveok, "is_leaveok");
280 		dylib_bindSymbol(handle, cast(void**)&is_nodelay, "is_nodelay");
281 		dylib_bindSymbol(handle, cast(void**)&is_notimeout, "is_notimeout");
282 		dylib_bindSymbol(handle, cast(void**)&is_pad, "is_pad");
283 		dylib_bindSymbol(handle, cast(void**)&is_scrollok, "is_scrollok");
284 		dylib_bindSymbol(handle, cast(void**)&is_subwin, "is_subwin");
285 		dylib_bindSymbol(handle, cast(void**)&is_syncok, "is_syncok");
286 		dylib_bindSymbol(handle, cast(void**)&wgetdelay, "wgetdelay");
287 		dylib_bindSymbol(handle, cast(void**)&wgetscrreg, "wgetscrreg");
288 		dylib_bindSymbol(handle, cast(void**)&baudrate_sp, "baudrate_sp");
289 		dylib_bindSymbol(handle, cast(void**)&beep_sp, "beep_sp");
290 		dylib_bindSymbol(handle, cast(void**)&can_change_color_sp, "can_change_color_sp");
291 		dylib_bindSymbol(handle, cast(void**)&cbreak_sp, "cbreak_sp");
292 		dylib_bindSymbol(handle, cast(void**)&curs_set_sp, "curs_set_sp");
293 		dylib_bindSymbol(handle, cast(void**)&color_content_sp, "color_content_sp");
294 		dylib_bindSymbol(handle, cast(void**)&def_prog_mode_sp, "def_prog_mode_sp");
295 		dylib_bindSymbol(handle, cast(void**)&def_shell_mode_sp, "def_shell_mode_sp");
296 		dylib_bindSymbol(handle, cast(void**)&delay_output_sp, "delay_output_sp");
297 		dylib_bindSymbol(handle, cast(void**)&doupdate_sp, "doupdate_sp");
298 		dylib_bindSymbol(handle, cast(void**)&echo_sp, "echo_sp");
299 		dylib_bindSymbol(handle, cast(void**)&endwin_sp, "endwin_sp");
300 		dylib_bindSymbol(handle, cast(void**)&erasechar_sp, "erasechar_sp");
301 		dylib_bindSymbol(handle, cast(void**)&filter_sp, "filter_sp");
302 		dylib_bindSymbol(handle, cast(void**)&flash_sp, "flash_sp");
303 		dylib_bindSymbol(handle, cast(void**)&flushinp_sp, "flushinp_sp");
304 		dylib_bindSymbol(handle, cast(void**)&halfdelay_sp, "halfdelay_sp");
305 		dylib_bindSymbol(handle, cast(void**)&has_colors_sp, "has_colors_sp");
306 		dylib_bindSymbol(handle, cast(void**)&has_ic_sp, "has_ic_sp");
307 		dylib_bindSymbol(handle, cast(void**)&has_il_sp, "has_il_sp");
308 		dylib_bindSymbol(handle, cast(void**)&init_color_sp, "init_color_sp");
309 		dylib_bindSymbol(handle, cast(void**)&init_pair_sp, "init_pair_sp");
310 		dylib_bindSymbol(handle, cast(void**)&intrflush_sp, "intrflush_sp");
311 		dylib_bindSymbol(handle, cast(void**)&isendwin_sp, "isendwin_sp");
312 		dylib_bindSymbol(handle, cast(void**)&killchar_sp, "killchar_sp");
313 		dylib_bindSymbol(handle, cast(void**)&mvcur_sp, "mvcur_sp");
314 		dylib_bindSymbol(handle, cast(void**)&napms_sp, "napms_sp");
315 		dylib_bindSymbol(handle, cast(void**)&nl_sp, "nl_sp");
316 		dylib_bindSymbol(handle, cast(void**)&nocbreak_sp, "nocbreak_sp");
317 		dylib_bindSymbol(handle, cast(void**)&noecho_sp, "noecho_sp");
318 		dylib_bindSymbol(handle, cast(void**)&nonl_sp, "nonl_sp");
319 		dylib_bindSymbol(handle, cast(void**)&noqiflush_sp, "noqiflush_sp");
320 		dylib_bindSymbol(handle, cast(void**)&noraw_sp, "noraw_sp");
321 		dylib_bindSymbol(handle, cast(void**)&pair_content_sp, "pair_content_sp");
322 		dylib_bindSymbol(handle, cast(void**)&qiflush_sp, "qiflush_sp");
323 		dylib_bindSymbol(handle, cast(void**)&raw_sp, "raw_sp");
324 		dylib_bindSymbol(handle, cast(void**)&reset_prog_mode_sp, "reset_prog_mode_sp");
325 		dylib_bindSymbol(handle, cast(void**)&reset_shell_mode_sp, "reset_shell_mode_sp");
326 		dylib_bindSymbol(handle, cast(void**)&resetty_sp, "resetty_sp");
327 		dylib_bindSymbol(handle, cast(void**)&ripoffline_sp, "ripoffline_sp");
328 		dylib_bindSymbol(handle, cast(void**)&savetty_sp, "savetty_sp");
329 		dylib_bindSymbol(handle, cast(void**)&scr_init_sp, "scr_init_sp");
330 		dylib_bindSymbol(handle, cast(void**)&scr_restore_sp, "scr_restore_sp");
331 		dylib_bindSymbol(handle, cast(void**)&scr_set_sp, "scr_set_sp");
332 		dylib_bindSymbol(handle, cast(void**)&slk_attroff_sp, "slk_attroff_sp");
333 		dylib_bindSymbol(handle, cast(void**)&slk_attron_sp, "slk_attron_sp");
334 		dylib_bindSymbol(handle, cast(void**)&slk_attrset_sp, "slk_attrset_sp");
335 		dylib_bindSymbol(handle, cast(void**)&slk_attr_sp, "slk_attr_sp");
336 		dylib_bindSymbol(handle, cast(void**)&slk_attr_set_sp, "slk_attr_set_sp");
337 		dylib_bindSymbol(handle, cast(void**)&slk_clear_sp, "slk_clear_sp");
338 		dylib_bindSymbol(handle, cast(void**)&slk_color_sp, "slk_color_sp");
339 		dylib_bindSymbol(handle, cast(void**)&slk_init_sp, "slk_init_sp");
340 		dylib_bindSymbol(handle, cast(void**)&slk_noutrefresh_sp, "slk_noutrefresh_sp");
341 		dylib_bindSymbol(handle, cast(void**)&slk_refresh_sp, "slk_refresh_sp");
342 		dylib_bindSymbol(handle, cast(void**)&slk_restore_sp, "slk_restore_sp");
343 		dylib_bindSymbol(handle, cast(void**)&slk_set_sp, "slk_set_sp");
344 		dylib_bindSymbol(handle, cast(void**)&slk_touch_sp, "slk_touch_sp");
345 		dylib_bindSymbol(handle, cast(void**)&start_color_sp, "start_color_sp");
346 		dylib_bindSymbol(handle, cast(void**)&termattrs_sp, "termattrs_sp");
347 		dylib_bindSymbol(handle, cast(void**)&typeahead_sp, "typeahead_sp");
348 		dylib_bindSymbol(handle, cast(void**)&ungetch_sp, "ungetch_sp");
349 		dylib_bindSymbol(handle, cast(void**)&use_env_sp, "use_env_sp");
350 		dylib_bindSymbol(handle, cast(void**)&use_tioctl_sp, "use_tioctl_sp");
351 		dylib_bindSymbol(handle, cast(void**)&vidattr_sp, "vidattr_sp");
352 		dylib_bindSymbol(handle, cast(void**)&vidputs_sp, "vidputs_sp");
353 		dylib_bindSymbol(handle, cast(void**)&keybound_sp, "keybound_sp");
354 		dylib_bindSymbol(handle, cast(void**)&alloc_pair_sp, "alloc_pair_sp");
355 		dylib_bindSymbol(handle, cast(void**)&assume_default_colors_sp, "assume_default_colors_sp");
356 		dylib_bindSymbol(handle, cast(void**)&define_key_sp, "define_key_sp");
357 		dylib_bindSymbol(handle, cast(void**)&extended_color_content_sp, "extended_color_content_sp");
358 		dylib_bindSymbol(handle, cast(void**)&extended_pair_content_sp, "extended_pair_content_sp");
359 		dylib_bindSymbol(handle, cast(void**)&extended_slk_color_sp, "extended_slk_color_sp");
360 		dylib_bindSymbol(handle, cast(void**)&get_escdelay_sp, "get_escdelay_sp");
361 		dylib_bindSymbol(handle, cast(void**)&find_pair_sp, "find_pair_sp");
362 		dylib_bindSymbol(handle, cast(void**)&free_pair_sp, "free_pair_sp");
363 		dylib_bindSymbol(handle, cast(void**)&init_extended_color_sp, "init_extended_color_sp");
364 		dylib_bindSymbol(handle, cast(void**)&init_extended_pair_sp, "init_extended_pair_sp");
365 		dylib_bindSymbol(handle, cast(void**)&is_term_resized_sp, "is_term_resized_sp");
366 		dylib_bindSymbol(handle, cast(void**)&key_defined_sp, "key_defined_sp");
367 		dylib_bindSymbol(handle, cast(void**)&keyok_sp, "keyok_sp");
368 		dylib_bindSymbol(handle, cast(void**)&nofilter_sp, "nofilter_sp");
369 		dylib_bindSymbol(handle, cast(void**)&reset_color_pairs_sp, "reset_color_pairs_sp");
370 		dylib_bindSymbol(handle, cast(void**)&resize_term_sp, "resize_term_sp");
371 		dylib_bindSymbol(handle, cast(void**)&resizeterm_sp, "resizeterm_sp");
372 		dylib_bindSymbol(handle, cast(void**)&set_escdelay_sp, "set_escdelay_sp");
373 		dylib_bindSymbol(handle, cast(void**)&set_tabsize_sp, "set_tabsize_sp");
374 		dylib_bindSymbol(handle, cast(void**)&use_default_colors_sp, "use_default_colors_sp");
375 		dylib_bindSymbol(handle, cast(void**)&use_legacy_coding_sp, "use_legacy_coding_sp");
376 		dylib_bindSymbol(handle, cast(void**)&has_mouse, "has_mouse");
377 		dylib_bindSymbol(handle, cast(void**)&getmouse, "getmouse");
378 		dylib_bindSymbol(handle, cast(void**)&ungetmouse, "ungetmouse");
379 		dylib_bindSymbol(handle, cast(void**)&mousemask, "mousemask");
380 		dylib_bindSymbol(handle, cast(void**)&wenclose, "wenclose");
381 		dylib_bindSymbol(handle, cast(void**)&mouseinterval, "mouseinterval");
382 		dylib_bindSymbol(handle, cast(void**)&wmouse_trafo, "wmouse_trafo");
383 		dylib_bindSymbol(handle, cast(void**)&has_mouse_sp, "has_mouse_sp");
384 		dylib_bindSymbol(handle, cast(void**)&getmouse_sp, "getmouse_sp");
385 		dylib_bindSymbol(handle, cast(void**)&ungetmouse_sp, "ungetmouse_sp");
386 		dylib_bindSymbol(handle, cast(void**)&mousemask_sp, "mousemask_sp");
387 		dylib_bindSymbol(handle, cast(void**)&mouseinterval_sp, "mouseinterval_sp");
388 		dylib_bindSymbol(handle, cast(void**)&mcprint, "mcprint");
389 		dylib_bindSymbol(handle, cast(void**)&has_key, "has_key");
390 		dylib_bindSymbol(handle, cast(void**)&has_key_sp, "has_key_sp");
391 		dylib_bindSymbol(handle, cast(void**)&mcprint_sp, "mcprint_sp");
392 		dylib_bindSymbol(handle, cast(void**)&_tracef, "_tracef");
393 		dylib_bindSymbol(handle, cast(void**)&_traceattr, "_traceattr");
394 		dylib_bindSymbol(handle, cast(void**)&_traceattr2, "_traceattr2");
395 		dylib_bindSymbol(handle, cast(void**)&_tracechar, "_tracechar");
396 		dylib_bindSymbol(handle, cast(void**)&_tracechtype, "_tracechtype");
397 		dylib_bindSymbol(handle, cast(void**)&_tracechtype2, "_tracechtype2");
398 		dylib_bindSymbol(handle, cast(void**)&trace, "trace");
399 		dylib_bindSymbol(handle, cast(void**)&unctrl, "unctrl");
400 		dylib_bindSymbol(handle, cast(void**)&wunctrl, "wunctrl");
401 
402 		dylib_bindSymbol(handle, cast(void**)&cursrc, "cursrc");
403 		dylib_bindSymbol(handle, cast(void**)&newscr, "newscr");
404 		dylib_bindSymbol(handle, cast(void**)&stdscr, "stdscr");
405 		dylib_bindSymbol(handle, cast(void**)&ttytype, "ttytype");
406 		dylib_bindSymbol(handle, cast(void**)&COLORS, "COLORS");
407 		dylib_bindSymbol(handle, cast(void**)&COLOR_PAIRS, "COLOR_PAIRS");
408 		dylib_bindSymbol(handle, cast(void**)&COLS, "COLS");
409 		dylib_bindSymbol(handle, cast(void**)&ESCDELAY, "ESCDELAY");
410 		dylib_bindSymbol(handle, cast(void**)&LINES, "LINES");
411 		dylib_bindSymbol(handle, cast(void**)&TABSIZE, "TABSIZE");
412 
413 		return handle;
414 	}
415 }
416 else
417 {
418 	version(Posix) private enum string[] _libs = ["libncursesw.so"];
419 
420 	mixin(DylibLoaderBuilder!("NCurses", _libs, riverd.ncurses.dynfun));
421 }
422 
423 @system
424 unittest {
425 	void* _handle = dylib_load_ncurses();
426 	assert(dylib_is_loaded(_handle));
427 
428 	dylib_unload(_handle);
429 }