1 #![allow(dead_code)]
2 #![allow(unused_imports)]
3 /*
4 Copyright © 2013 Free Software Foundation, Inc
5 See licensing in LICENSE file
6 
7 File: ll.rs
8 Author: Jesse 'Jeaye' Wilkerson
9 Description:
10 Low-level interface to foreign
11 ncurses functions.
12  */
13 
14 use libc::{ c_char, c_int, c_short, c_uint, c_ulong, c_void, FILE };
15 
16 pub type c_bool = ::libc::c_uchar;
17 
18 /* Intrinsic types. */
19 #[cfg(feature="wide_chtype")]
20 pub type chtype = u64;
21 #[cfg(not(feature="wide_chtype"))]
22 pub type chtype = u32;
23 pub type winttype = c_uint;
24 
25 pub type mmask_t = chtype;
26 pub type attr_t = chtype;
27 pub type NCURSES_ATTR_T = attr_t;
28 
29 /* Pointer types. */
30 pub type attr_t_p = *mut attr_t;
31 pub type short_p = *mut c_short;
32 pub type int_p = *mut c_int;
33 pub type void_p = *const c_void;
34 pub type char_p = *const c_char;
35 pub type chtype_p = *const chtype;
36 pub type WINDOW = *mut i8;
37 pub type SCREEN = *mut i8;
38 pub type FILE_p = *mut FILE;
39 pub type va_list = *mut u8;
40 
41 /* Custom Types. */
42 #[repr(C)]
43 #[derive(Debug, Clone, Copy)]
44 pub struct MEVENT { pub id: c_short, pub x: c_int, pub y: c_int, pub z: c_int, pub bstate: mmask_t}
45 
46 extern {
addch(_:chtype) -> c_int47     pub fn addch(_:chtype) -> c_int;
addchnstr(_:*const chtype, _:c_int) -> c_int48     pub fn addchnstr(_:*const chtype, _:c_int) -> c_int;
addchstr(_:*const chtype) -> c_int49     pub fn addchstr(_:*const chtype) -> c_int;
addnstr(_:*const c_char, _:c_int) -> c_int50     pub fn addnstr(_:*const c_char, _:c_int) -> c_int;
addstr(_:*const c_char) -> c_int51     pub fn addstr(_:*const c_char) -> c_int;
assume_default_colors(_:c_int, _:c_int) -> c_int52     pub fn assume_default_colors(_:c_int, _:c_int) -> c_int;
attroff(_:NCURSES_ATTR_T) -> c_int53     pub fn attroff(_:NCURSES_ATTR_T) -> c_int;
attron(_:NCURSES_ATTR_T) -> c_int54     pub fn attron(_:NCURSES_ATTR_T) -> c_int;
attrset(_:NCURSES_ATTR_T) -> c_int55     pub fn attrset(_:NCURSES_ATTR_T) -> c_int;
attr_get(_:attr_t_p, _:short_p, _:void_p) -> c_int56     pub fn attr_get(_:attr_t_p, _:short_p, _:void_p) -> c_int;
attr_off(_:attr_t, _:void_p) -> c_int57     pub fn attr_off(_:attr_t, _:void_p) -> c_int;
attr_on(_:attr_t, _:void_p) -> c_int58     pub fn attr_on(_:attr_t, _:void_p) -> c_int;
attr_set(_:attr_t, _:c_short, _:void_p) -> c_int59     pub fn attr_set(_:attr_t, _:c_short, _:void_p) -> c_int;
baudrate() -> c_int60     pub fn baudrate() -> c_int;
beep() -> c_int61     pub fn beep() -> c_int;
bkgd(_:chtype) -> c_int62     pub fn bkgd(_:chtype) -> c_int;
bkgdset(_:chtype)63     pub fn bkgdset(_:chtype);
border(_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int64     pub fn border(_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int;
box_(_:WINDOW, _:chtype, _:chtype) -> c_int65     pub fn box_(_:WINDOW, _:chtype, _:chtype) -> c_int;
can_change_color() -> c_bool66     pub fn can_change_color() -> c_bool;
cbreak() -> c_int67     pub fn cbreak() -> c_int;
chgat(_:c_int, _:attr_t, _:c_short, _:void_p) -> c_int68     pub fn chgat(_:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
clear() -> c_int69     pub fn clear() -> c_int;
clearok(_:WINDOW,_:c_bool) -> c_int70     pub fn clearok(_:WINDOW,_:c_bool) -> c_int;
clrtobot() -> c_int71     pub fn clrtobot() -> c_int;
clrtoeol() -> c_int72     pub fn clrtoeol() -> c_int;
color_content(_:c_short,_:short_p,_:short_p,_:short_p) -> c_int73     pub fn color_content(_:c_short,_:short_p,_:short_p,_:short_p) -> c_int;
color_set(_:c_short,_:void_p) -> c_int74     pub fn color_set(_:c_short,_:void_p) -> c_int;
COLOR_PAIR(_:c_int) -> c_int75     pub fn COLOR_PAIR(_:c_int) -> c_int;
copywin(_:WINDOW,_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int76     pub fn copywin(_:WINDOW,_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
curs_set(_:c_int) -> c_int77     pub fn curs_set(_:c_int) -> c_int;
def_prog_mode() -> c_int78     pub fn def_prog_mode() -> c_int;
def_shell_mode() -> c_int79     pub fn def_shell_mode() -> c_int;
delay_output(_:c_int) -> c_int80     pub fn delay_output(_:c_int) -> c_int;
delch() -> c_int81     pub fn delch() -> c_int;
delscreen(_:SCREEN)82     pub fn delscreen(_:SCREEN);
delwin(_:WINDOW) -> c_int83     pub fn delwin(_:WINDOW) -> c_int;
deleteln() -> c_int84     pub fn deleteln() -> c_int;
derwin(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW85     pub fn derwin(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW;
doupdate() -> c_int86     pub fn doupdate() -> c_int;
dupwin(_:WINDOW) -> WINDOW87     pub fn dupwin(_:WINDOW) -> WINDOW;
echo() -> c_int88     pub fn echo() -> c_int;
echochar(_:chtype) -> c_int89     pub fn echochar(_:chtype) -> c_int;
erase() -> c_int90     pub fn erase() -> c_int;
endwin() -> c_int91     pub fn endwin() -> c_int;
erasechar() -> c_char92     pub fn erasechar() -> c_char;
filter()93     pub fn filter();
flash() -> c_int94     pub fn flash() -> c_int;
flushinp() -> c_int95     pub fn flushinp() -> c_int;
getbkgd(_:WINDOW) -> chtype96     pub fn getbkgd(_:WINDOW) -> chtype;
getch() -> c_int97     pub fn getch() -> c_int;
getnstr(_:*mut c_char, _:c_int) -> c_int98     pub fn getnstr(_:*mut c_char, _:c_int) -> c_int;
getstr(_:char_p) -> c_int99     pub fn getstr(_:char_p) -> c_int;
getwin(_:FILE_p) -> WINDOW100     pub fn getwin(_:FILE_p) -> WINDOW;
halfdelay(_:c_int) -> c_int101     pub fn halfdelay(_:c_int) -> c_int;
has_colors() -> c_bool102     pub fn has_colors() -> c_bool;
has_ic() -> c_bool103     pub fn has_ic() -> c_bool;
has_il() -> c_bool104     pub fn has_il() -> c_bool;
hline(_:chtype, _:c_int) -> c_int105     pub fn hline(_:chtype, _:c_int) -> c_int;
idcok(_:WINDOW, _:c_bool)106     pub fn idcok(_:WINDOW, _:c_bool);
idlok(_:WINDOW, _:c_bool) -> c_int107     pub fn idlok(_:WINDOW, _:c_bool) -> c_int;
immedok(_:WINDOW, _:c_bool)108     pub fn immedok(_:WINDOW, _:c_bool);
inch() -> chtype109     pub fn inch() -> chtype;
inchnstr(_:chtype_p, _:c_int) -> c_int110     pub fn inchnstr(_:chtype_p, _:c_int) -> c_int;
inchstr(_:chtype_p) -> c_int111     pub fn inchstr(_:chtype_p) -> c_int;
initscr() -> WINDOW112     pub fn initscr() -> WINDOW;
init_color(_:c_short,_:c_short,_:c_short,_:c_short) -> c_int113     pub fn init_color(_:c_short,_:c_short,_:c_short,_:c_short) -> c_int;
init_pair(_:c_short,_:c_short,_:c_short) -> c_int114     pub fn init_pair(_:c_short,_:c_short,_:c_short) -> c_int;
innstr(_:char_p, _:c_int) -> c_int115     pub fn innstr(_:char_p, _:c_int) -> c_int;
insch(_:chtype) -> c_int116     pub fn insch(_:chtype) -> c_int;
insdelln(_:c_int) -> c_int117     pub fn insdelln(_:c_int) -> c_int;
insertln() -> c_int118     pub fn insertln() -> c_int;
insnstr(_:char_p, _:c_int) -> c_int119     pub fn insnstr(_:char_p, _:c_int) -> c_int;
insstr(_:char_p) -> c_int120     pub fn insstr(_:char_p) -> c_int;
instr(_:char_p) -> c_int121     pub fn instr(_:char_p) -> c_int;
intrflush(_:WINDOW,_:c_bool) -> c_int122     pub fn intrflush(_:WINDOW,_:c_bool) -> c_int;
isendwin() -> c_bool123     pub fn isendwin() -> c_bool;
is_linetouched(_:WINDOW,_:c_int) -> c_bool124     pub fn is_linetouched(_:WINDOW,_:c_int) -> c_bool;
is_term_resized(_:c_int, _:c_int) -> c_bool125     pub fn is_term_resized(_:c_int, _:c_int) -> c_bool;
is_wintouched(_:WINDOW) -> c_bool126     pub fn is_wintouched(_:WINDOW) -> c_bool;
keyname(_:c_int) -> *const c_char127     pub fn keyname(_:c_int) -> *const c_char;
keypad(_:WINDOW, _:c_bool) -> c_int128     pub fn keypad(_:WINDOW, _:c_bool) -> c_int;
killchar() -> c_char129     pub fn killchar() -> c_char;
leaveok(_:WINDOW,_:c_bool) -> c_int130     pub fn leaveok(_:WINDOW,_:c_bool) -> c_int;
longname() -> *mut c_char131     pub fn longname() -> *mut c_char;
meta(_:WINDOW,_:c_bool) -> c_int132     pub fn meta(_:WINDOW,_:c_bool) -> c_int;
133     #[link_name = "move"]
mv(_:c_int, _:c_int) -> c_int134     pub fn mv(_:c_int, _:c_int) -> c_int;
mvaddch(_:c_int, _:c_int, _:chtype) -> c_int135     pub fn mvaddch(_:c_int, _:c_int, _:chtype) -> c_int;
mvaddchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int136     pub fn mvaddchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
mvaddchstr(_:c_int, _:c_int, _:chtype_p) -> c_int137     pub fn mvaddchstr(_:c_int, _:c_int, _:chtype_p) -> c_int;
mvaddnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int138     pub fn mvaddnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvaddstr(_:c_int, _:c_int, _:char_p) -> c_int139     pub fn mvaddstr(_:c_int, _:c_int, _:char_p) -> c_int;
mvchgat(_:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int140     pub fn mvchgat(_:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
mvcur(_:c_int,_:c_int,_:c_int,_:c_int) -> c_int141     pub fn mvcur(_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
mvdelch(_:c_int, _:c_int) -> c_int142     pub fn mvdelch(_:c_int, _:c_int) -> c_int;
mvderwin(_:WINDOW, _:c_int, _:c_int) -> c_int143     pub fn mvderwin(_:WINDOW, _:c_int, _:c_int) -> c_int;
mvgetch(_:c_int, _:c_int) -> c_int144     pub fn mvgetch(_:c_int, _:c_int) -> c_int;
mvgetnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int145     pub fn mvgetnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvgetstr(_:c_int, _:c_int, _:char_p) -> c_int146     pub fn mvgetstr(_:c_int, _:c_int, _:char_p) -> c_int;
mvhline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int147     pub fn mvhline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
mvinch(_:c_int, _:c_int) -> chtype148     pub fn mvinch(_:c_int, _:c_int) -> chtype;
mvinchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int149     pub fn mvinchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
mvinchstr(_:c_int, _:c_int, _:chtype_p) -> c_int150     pub fn mvinchstr(_:c_int, _:c_int, _:chtype_p) -> c_int;
mvinnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int151     pub fn mvinnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvinsch(_:c_int, _:c_int, _:chtype) -> c_int152     pub fn mvinsch(_:c_int, _:c_int, _:chtype) -> c_int;
mvinsnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int153     pub fn mvinsnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvinsstr(_:c_int, _:c_int, _:char_p) -> c_int154     pub fn mvinsstr(_:c_int, _:c_int, _:char_p) -> c_int;
mvinstr(_:c_int, _:c_int, _:char_p) -> c_int155     pub fn mvinstr(_:c_int, _:c_int, _:char_p) -> c_int;
mvprintw(_:c_int, _:c_int, _:char_p) -> c_int156     pub fn mvprintw(_:c_int, _:c_int, _:char_p) -> c_int;
157     //  fn mvscanw(_:c_int,_:c_int, _:char_p) -> c_int;
mvvline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int158     pub fn mvvline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
mvwaddch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int159     pub fn mvwaddch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int;
mvwaddchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int160     pub fn mvwaddchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
mvwaddchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int161     pub fn mvwaddchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int;
mvwaddnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int162     pub fn mvwaddnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvwaddstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int163     pub fn mvwaddstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
mvwchgat(_:WINDOW, _:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int164     pub fn mvwchgat(_:WINDOW, _:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
mvwdelch(_:WINDOW, _:c_int, _:c_int) -> c_int165     pub fn mvwdelch(_:WINDOW, _:c_int, _:c_int) -> c_int;
mvwgetch(_:WINDOW, _:c_int, _:c_int) -> c_int166     pub fn mvwgetch(_:WINDOW, _:c_int, _:c_int) -> c_int;
mvwgetnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int167     pub fn mvwgetnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvwgetstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int168     pub fn mvwgetstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
mvwhline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int169     pub fn mvwhline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
mvwin(_:WINDOW,_:c_int,_:c_int) -> c_int170     pub fn mvwin(_:WINDOW,_:c_int,_:c_int) -> c_int;
mvwinch(_:WINDOW, _:c_int, _:c_int) -> chtype171     pub fn mvwinch(_:WINDOW, _:c_int, _:c_int) -> chtype;
mvwinchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int172     pub fn mvwinchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
mvwinchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int173     pub fn mvwinchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int;
mvwinnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int174     pub fn mvwinnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvwinsch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int175     pub fn mvwinsch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int;
mvwinsnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int176     pub fn mvwinsnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
mvwinsstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int177     pub fn mvwinsstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
mvwinstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int178     pub fn mvwinstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
mvwprintw(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int179     pub fn mvwprintw(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
180 
181     //  fn mvwscanw(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
mvwvline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int182     pub fn mvwvline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
napms(_:c_int) -> c_int183     pub fn napms(_:c_int) -> c_int;
newpad(_:c_int,_:c_int) -> WINDOW184     pub fn newpad(_:c_int,_:c_int) -> WINDOW;
newterm(_:char_p,_:FILE_p,_:FILE_p) -> SCREEN185     pub fn newterm(_:char_p,_:FILE_p,_:FILE_p) -> SCREEN;
newwin(_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW186     pub fn newwin(_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW;
nl() -> c_int187     pub fn nl() -> c_int;
nocbreak() -> c_int188     pub fn nocbreak() -> c_int;
nodelay(_:WINDOW,_:c_bool) -> c_int189     pub fn nodelay(_:WINDOW,_:c_bool) -> c_int;
noecho() -> c_int190     pub fn noecho() -> c_int;
nonl() -> c_int191     pub fn nonl() -> c_int;
noqiflush()192     pub fn noqiflush();
noraw() -> c_int193     pub fn noraw() -> c_int;
notimeout(_:WINDOW,_:c_bool) -> c_int194     pub fn notimeout(_:WINDOW,_:c_bool) -> c_int;
overlay(_:WINDOW,_:WINDOW) -> c_int195     pub fn overlay(_:WINDOW,_:WINDOW) -> c_int;
overwrite(_:WINDOW,_:WINDOW) -> c_int196     pub fn overwrite(_:WINDOW,_:WINDOW) -> c_int;
pair_content(_:c_short,_:short_p,_:short_p) -> c_int197     pub fn pair_content(_:c_short,_:short_p,_:short_p) -> c_int;
PAIR_NUMBER(_:c_int) -> c_int198     pub fn PAIR_NUMBER(_:c_int) -> c_int;
pechochar(_:WINDOW, _:chtype) -> c_int199     pub fn pechochar(_:WINDOW, _:chtype) -> c_int;
pnoutrefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int200     pub fn pnoutrefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
prefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int201     pub fn prefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
202 
printw(_:char_p) -> c_int203     pub fn printw(_:char_p) -> c_int;
putwin(_:WINDOW, _:FILE_p) -> c_int204     pub fn putwin(_:WINDOW, _:FILE_p) -> c_int;
qiflush()205     pub fn qiflush();
raw() -> c_int206     pub fn raw() -> c_int;
redrawwin(_:WINDOW) -> c_int207     pub fn redrawwin(_:WINDOW) -> c_int;
refresh() -> c_int208     pub fn refresh() -> c_int;
resizeterm(_:c_int, _:c_int) -> c_int209     pub fn resizeterm(_:c_int, _:c_int) -> c_int;
resize_term(_:c_int, _:c_int) -> c_int210     pub fn resize_term(_:c_int, _:c_int) -> c_int;
resetty() -> c_int211     pub fn resetty() -> c_int;
reset_prog_mode() -> c_int212     pub fn reset_prog_mode() -> c_int;
reset_shell_mode() -> c_int213     pub fn reset_shell_mode() -> c_int;
214     // fn ripoffline(_:c_int, extern  fn f(WINDOW, c_int) -> c_int) -> c_int;
savetty() -> c_int215     pub fn savetty() -> c_int;
216     // fn scanw(_:NCURSES_CONST char_p,...) -> c_int;
scr_dump(_:char_p) -> c_int217     pub fn scr_dump(_:char_p) -> c_int;
scr_init(_:char_p) -> c_int218     pub fn scr_init(_:char_p) -> c_int;
scrl(_:c_int) -> c_int219     pub fn scrl(_:c_int) -> c_int;
scroll(_:WINDOW) -> c_int220     pub fn scroll(_:WINDOW) -> c_int;
scrollok(_:WINDOW,_:c_bool) -> c_int221     pub fn scrollok(_:WINDOW,_:c_bool) -> c_int;
scr_restore(_:char_p) -> c_int222     pub fn scr_restore(_:char_p) -> c_int;
scr_set(_:char_p) -> c_int223     pub fn scr_set(_:char_p) -> c_int;
setscrreg(_:c_int,_:c_int) -> c_int224     pub fn setscrreg(_:c_int,_:c_int) -> c_int;
set_term(_:SCREEN) -> SCREEN225     pub fn set_term(_:SCREEN) -> SCREEN;
set_escdelay(_:c_int) -> c_int226     pub fn set_escdelay(_:c_int) -> c_int;
set_tabsize(_:c_int) -> c_int227     pub fn set_tabsize(_:c_int) -> c_int;
slk_attroff(_:chtype) -> c_int228     pub fn slk_attroff(_:chtype) -> c_int;
slk_attr_off(_:attr_t, _:void_p) -> c_int229     pub fn slk_attr_off(_:attr_t, _:void_p) -> c_int;
slk_attron(_:chtype) -> c_int230     pub fn slk_attron(_:chtype) -> c_int;
slk_attr_on(_:attr_t,_:void_p) -> c_int231     pub fn slk_attr_on(_:attr_t,_:void_p) -> c_int;
slk_attrset(_:chtype) -> c_int232     pub fn slk_attrset(_:chtype) -> c_int;
slk_attr() -> attr_t233     pub fn slk_attr() -> attr_t;
slk_attr_set(_:attr_t,_:c_short,_:void_p) -> c_int234     pub fn slk_attr_set(_:attr_t,_:c_short,_:void_p) -> c_int;
slk_clear() -> c_int235     pub fn slk_clear() -> c_int;
slk_color(_:c_short) -> c_int236     pub fn slk_color(_:c_short) -> c_int;
slk_init(_:c_int) -> c_int237     pub fn slk_init(_:c_int) -> c_int;
slk_label(_:c_int) -> char_p238     pub fn slk_label(_:c_int) -> char_p;
slk_noutrefresh() -> c_int239     pub fn slk_noutrefresh() -> c_int;
slk_refresh() -> c_int240     pub fn slk_refresh() -> c_int;
slk_restore() -> c_int241     pub fn slk_restore() -> c_int;
slk_set(_:c_int,_:char_p,_:c_int) -> c_int242     pub fn slk_set(_:c_int,_:char_p,_:c_int) -> c_int;
slk_touch() -> c_int243     pub fn slk_touch() -> c_int;
standout() -> c_int244     pub fn standout() -> c_int;
standend() -> c_int245     pub fn standend() -> c_int;
start_color() -> c_int246     pub fn start_color() -> c_int;
subpad(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW247     pub fn subpad(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW;
subwin(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW248     pub fn subwin(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW;
syncok(_:WINDOW, _:c_bool) -> c_int249     pub fn syncok(_:WINDOW, _:c_bool) -> c_int;
termattrs() -> chtype250     pub fn termattrs() -> chtype;
termname() -> char_p251     pub fn termname() -> char_p;
timeout(_:c_int)252     pub fn timeout(_:c_int);
touchline(_:WINDOW, _:c_int, _:c_int) -> c_int253     pub fn touchline(_:WINDOW, _:c_int, _:c_int) -> c_int;
touchwin(_:WINDOW) -> c_int254     pub fn touchwin(_:WINDOW) -> c_int;
typeahead(_:c_int) -> c_int255     pub fn typeahead(_:c_int) -> c_int;
ungetch(_:c_int) -> c_int256     pub fn ungetch(_:c_int) -> c_int;
untouchwin(_:WINDOW) -> c_int257     pub fn untouchwin(_:WINDOW) -> c_int;
use_env(_:c_bool)258     pub fn use_env(_:c_bool);
use_default_colors() -> c_int259     pub fn use_default_colors() -> c_int;
vidattr(_:chtype) -> c_int260     pub fn vidattr(_:chtype) -> c_int;
261     //  fn vidputs(_:chtype, extern  fn f(c_int) -> c_int) -> c_int;
262     //pub fn vidputs(_:chtype, f:*mut c_char) -> c_int;
vline(_:chtype, _:c_int) -> c_int263     pub fn vline(_:chtype, _:c_int) -> c_int;
vwprintw(_:WINDOW, _:char_p, _:va_list) -> c_int264     pub fn vwprintw(_:WINDOW, _:char_p, _:va_list) -> c_int;
vw_printw(_:WINDOW, _:char_p,_:va_list) -> c_int265     pub fn vw_printw(_:WINDOW, _:char_p,_:va_list) -> c_int;
266     //  fn vwscanw(_:WINDOW, _:char_p, _:va_list) -> c_int;
267     //  fn vw_scanw(_:WINDOW, _:char_p, _:va_list) -> c_int;
waddch(_:WINDOW, _:chtype) -> c_int268     pub fn waddch(_:WINDOW, _:chtype) -> c_int;
waddchnstr(_:WINDOW,_:chtype_p,_:c_int) -> c_int269     pub fn waddchnstr(_:WINDOW,_:chtype_p,_:c_int) -> c_int;
waddchstr(_:WINDOW,_:chtype_p) -> c_int270     pub fn waddchstr(_:WINDOW,_:chtype_p) -> c_int;
waddnstr(_:WINDOW,_:char_p,_:c_int) -> c_int271     pub fn waddnstr(_:WINDOW,_:char_p,_:c_int) -> c_int;
waddstr(_:WINDOW,_:char_p) -> c_int272     pub fn waddstr(_:WINDOW,_:char_p) -> c_int;
wattron(_:WINDOW, _:NCURSES_ATTR_T) -> c_int273     pub fn wattron(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
wattroff(_:WINDOW, _:NCURSES_ATTR_T) -> c_int274     pub fn wattroff(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
wattrset(_:WINDOW, _:NCURSES_ATTR_T) -> c_int275     pub fn wattrset(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
wattr_get(_:WINDOW, _:attr_t_p, _:short_p, _:void_p) -> c_int276     pub fn wattr_get(_:WINDOW, _:attr_t_p, _:short_p, _:void_p) -> c_int;
wattr_on(_:WINDOW, _:attr_t, _:void_p) -> c_int277     pub fn wattr_on(_:WINDOW, _:attr_t, _:void_p) -> c_int;
wattr_off(_:WINDOW, _:attr_t, _:void_p) -> c_int278     pub fn wattr_off(_:WINDOW, _:attr_t, _:void_p) -> c_int;
wattr_set(_:WINDOW, _:attr_t, _:c_short, _:void_p) -> c_int279     pub fn wattr_set(_:WINDOW, _:attr_t, _:c_short, _:void_p) -> c_int;
wbkgd(_:WINDOW, _:chtype) -> c_int280     pub fn wbkgd(_:WINDOW, _:chtype) -> c_int;
wbkgdset(_:WINDOW,_:chtype)281     pub fn wbkgdset(_:WINDOW,_:chtype);
wborder(_:WINDOW,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int282     pub fn wborder(_:WINDOW,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int;
wchgat(_:WINDOW, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int283     pub fn wchgat(_:WINDOW, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
wclear(_:WINDOW) -> c_int284     pub fn wclear(_:WINDOW) -> c_int;
wclrtobot(_:WINDOW) -> c_int285     pub fn wclrtobot(_:WINDOW) -> c_int;
wclrtoeol(_:WINDOW) -> c_int286     pub fn wclrtoeol(_:WINDOW) -> c_int;
wcolor_set(_:WINDOW,_:c_short,_:void_p) -> c_int287     pub fn wcolor_set(_:WINDOW,_:c_short,_:void_p) -> c_int;
wcursyncup(_:WINDOW)288     pub fn wcursyncup(_:WINDOW);
wdelch(_:WINDOW) -> c_int289     pub fn wdelch(_:WINDOW) -> c_int;
wdeleteln(_:WINDOW) -> c_int290     pub fn wdeleteln(_:WINDOW) -> c_int;
wechochar(_:WINDOW, _:chtype) -> c_int291     pub fn wechochar(_:WINDOW, _:chtype) -> c_int;
werase(_:WINDOW) -> c_int292     pub fn werase(_:WINDOW) -> c_int;
wgetch(_:WINDOW) -> c_int293     pub fn wgetch(_:WINDOW) -> c_int;
wget_wch(_:WINDOW, _:*mut winttype) -> c_int294     pub fn wget_wch(_:WINDOW, _:*mut winttype) -> c_int;
mvwget_wch(_:WINDOW, _:c_int, _:c_int, _:*mut winttype) -> c_int295     pub fn mvwget_wch(_:WINDOW, _:c_int, _:c_int, _:*mut winttype) -> c_int;
mvget_wch(_:c_int, _: c_int, _:*mut winttype) -> c_int296     pub fn mvget_wch(_:c_int, _: c_int, _:*mut winttype) -> c_int;
get_wch(_:*mut winttype) -> c_int297     pub fn get_wch(_:*mut winttype) -> c_int;
unget_wch(_:winttype) -> c_int298     pub fn unget_wch(_:winttype) -> c_int;
wgetnstr(_:WINDOW,_:*const u8,_:c_int) -> c_int299     pub fn wgetnstr(_:WINDOW,_:*const u8,_:c_int) -> c_int;
wgetstr(_:WINDOW, _:char_p) -> c_int300     pub fn wgetstr(_:WINDOW, _:char_p) -> c_int;
whline(_:WINDOW, _:chtype, _:c_int) -> c_int301     pub fn whline(_:WINDOW, _:chtype, _:c_int) -> c_int;
winch(_:WINDOW) -> chtype302     pub fn winch(_:WINDOW) -> chtype;
winchnstr(_:WINDOW, _:chtype_p, _:c_int) -> c_int303     pub fn winchnstr(_:WINDOW, _:chtype_p, _:c_int) -> c_int;
winchstr(_:WINDOW, _:chtype_p) -> c_int304     pub fn winchstr(_:WINDOW, _:chtype_p) -> c_int;
winnstr(_:WINDOW, _:char_p, _:c_int) -> c_int305     pub fn winnstr(_:WINDOW, _:char_p, _:c_int) -> c_int;
winsch(_:WINDOW, _:chtype) -> c_int306     pub fn winsch(_:WINDOW, _:chtype) -> c_int;
winsdelln(_:WINDOW,_:c_int) -> c_int307     pub fn winsdelln(_:WINDOW,_:c_int) -> c_int;
winsertln(_:WINDOW) -> c_int308     pub fn winsertln(_:WINDOW) -> c_int;
winsnstr(_:WINDOW, _:char_p,_:c_int) -> c_int309     pub fn winsnstr(_:WINDOW, _:char_p,_:c_int) -> c_int;
winsstr(_:WINDOW, _:char_p) -> c_int310     pub fn winsstr(_:WINDOW, _:char_p) -> c_int;
winstr(_:WINDOW, _:char_p) -> c_int311     pub fn winstr(_:WINDOW, _:char_p) -> c_int;
wmove(_:WINDOW,_:c_int,_:c_int) -> c_int312     pub fn wmove(_:WINDOW,_:c_int,_:c_int) -> c_int;
wnoutrefresh(_:WINDOW) -> c_int313     pub fn wnoutrefresh(_:WINDOW) -> c_int;
wprintw(_:WINDOW, _:char_p) -> c_int314     pub fn wprintw(_:WINDOW, _:char_p) -> c_int;
wredrawln(_:WINDOW,_:c_int,_:c_int) -> c_int315     pub fn wredrawln(_:WINDOW,_:c_int,_:c_int) -> c_int;
wrefresh(_:WINDOW) -> c_int316     pub fn wrefresh(_:WINDOW) -> c_int;
wresize(_:WINDOW, _:c_int, _:c_int) -> c_int317     pub fn wresize(_:WINDOW, _:c_int, _:c_int) -> c_int;
318     //  fn wscanw(_:WINDOW, _:NCURSES_CONST char_p) -> c_int;
wscrl(_:WINDOW,_:c_int) -> c_int319     pub fn wscrl(_:WINDOW,_:c_int) -> c_int;
wsetscrreg(_:WINDOW,_:c_int,_:c_int) -> c_int320     pub fn wsetscrreg(_:WINDOW,_:c_int,_:c_int) -> c_int;
wstandout(_:WINDOW) -> c_int321     pub fn wstandout(_:WINDOW) -> c_int;
wstandend(_:WINDOW) -> c_int322     pub fn wstandend(_:WINDOW) -> c_int;
wsyncdown(_:WINDOW)323     pub fn wsyncdown(_:WINDOW);
wsyncup(_:WINDOW)324     pub fn wsyncup(_:WINDOW);
wtimeout(_:WINDOW,_:c_int)325     pub fn wtimeout(_:WINDOW,_:c_int);
wtouchln(_:WINDOW,_:c_int,_:c_int,_:c_int) -> c_int326     pub fn wtouchln(_:WINDOW,_:c_int,_:c_int,_:c_int) -> c_int;
wvline(_:WINDOW,_:chtype,_:c_int) -> c_int327     pub fn wvline(_:WINDOW,_:chtype,_:c_int) -> c_int;
328 
329     /*
330      * These are also declared in <term.h>:
331      */
tigetflag(_:char_p) -> c_int332     pub fn tigetflag(_:char_p) -> c_int;
tigetnum(_:char_p) -> c_int333     pub fn tigetnum(_:char_p) -> c_int;
tigetstr(_:char_p) -> *mut c_char334     pub fn tigetstr(_:char_p) -> *mut c_char;
putp(_:char_p) -> c_int335     pub fn putp(_:char_p) -> c_int;
336 
tparm(_:char_p) -> *mut c_char337     pub fn tparm(_:char_p) -> *mut c_char;
338 
339     /*
340      * These functions are not in X/Open, but we use them in macro definitions:
341      */
getattrs(_:WINDOW) -> c_int342     pub fn getattrs(_:WINDOW) -> c_int;
getcurx(_:WINDOW) -> c_int343     pub fn getcurx(_:WINDOW) -> c_int;
getcury(_:WINDOW) -> c_int344     pub fn getcury(_:WINDOW) -> c_int;
getbegx(_:WINDOW) -> c_int345     pub fn getbegx(_:WINDOW) -> c_int;
getbegy(_:WINDOW) -> c_int346     pub fn getbegy(_:WINDOW) -> c_int;
getmaxx(_:WINDOW) -> c_int347     pub fn getmaxx(_:WINDOW) -> c_int;
getmaxy(_:WINDOW) -> c_int348     pub fn getmaxy(_:WINDOW) -> c_int;
getparx(_:WINDOW) -> c_int349     pub fn getparx(_:WINDOW) -> c_int;
getpary(_:WINDOW) -> c_int350     pub fn getpary(_:WINDOW) -> c_int;
351 
352     /*
353      * These extensions provide access to information stored in the WINDOW even
354      * when NCURSES_OPAQUE is set:
355      */
wgetparent(_:WINDOW) -> WINDOW356     pub fn wgetparent(_:WINDOW) -> WINDOW;
is_cleared(_:WINDOW) -> c_bool357     pub fn is_cleared(_:WINDOW) -> c_bool;
is_idcok(_:WINDOW) -> c_bool358     pub fn is_idcok(_:WINDOW) -> c_bool;
is_idlok(_:WINDOW) -> c_bool359     pub fn is_idlok(_:WINDOW) -> c_bool;
is_immedok(_:WINDOW) -> c_bool360     pub fn is_immedok(_:WINDOW) -> c_bool;
is_keypad(_:WINDOW) -> c_bool361     pub fn is_keypad(_:WINDOW) -> c_bool;
is_leaveok(_:WINDOW) -> c_bool362     pub fn is_leaveok(_:WINDOW) -> c_bool;
is_nodelay(_:WINDOW) -> c_bool363     pub fn is_nodelay(_:WINDOW) -> c_bool;
is_notimeout(_:WINDOW) -> c_bool364     pub fn is_notimeout(_:WINDOW) -> c_bool;
is_scrollok(_:WINDOW) -> c_bool365     pub fn is_scrollok(_:WINDOW) -> c_bool;
is_syncok(_:WINDOW) -> c_bool366     pub fn is_syncok(_:WINDOW) -> c_bool;
wgetscrreg(_:WINDOW, _:*mut c_int, _:*mut c_int) -> c_int367     pub fn wgetscrreg(_:WINDOW, _:*mut c_int, _:*mut c_int) -> c_int;
368     /*
369      * Added mouse support
370      */
has_mouse() -> c_bool371     pub fn has_mouse() -> c_bool;
getmouse(_:*mut MEVENT) -> c_int372     pub fn getmouse(_:*mut MEVENT) -> c_int;
ungetmouse(_:*mut MEVENT) -> c_int373     pub fn ungetmouse(_:*mut MEVENT) -> c_int;
mousemask(_:mmask_t,_:*mut mmask_t) -> mmask_t374     pub fn mousemask(_:mmask_t,_:*mut mmask_t) -> mmask_t;
wenclose(_:WINDOW,_:c_int,_:c_int) -> c_bool375     pub fn wenclose(_:WINDOW,_:c_int,_:c_int) -> c_bool;
mouseinterval(_:c_int) -> c_int376     pub fn mouseinterval(_:c_int) -> c_int;
wmouse_trafo(_:WINDOW,_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool377     pub fn wmouse_trafo(_:WINDOW,_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool;
mouse_trafo(_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool378     pub fn mouse_trafo(_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool;
379 }
380 
381 /// Extended color support. Requires ncurses6.
382 #[cfg(feature = "extended_colors")]
383 extern {
init_extended_color(_: c_int, _: c_int, _: c_int, _: c_int) -> c_int384     pub fn init_extended_color(_: c_int, _: c_int, _: c_int, _: c_int) -> c_int;
init_extended_pair(_: c_int, _: c_int, _: c_int) -> c_int385     pub fn init_extended_pair(_: c_int, _: c_int, _: c_int) -> c_int;
extended_color_content(_: c_int, _: int_p, _: int_p, _: int_p) -> c_int386     pub fn extended_color_content(_: c_int, _: int_p, _: int_p, _: int_p) -> c_int;
extended_pair_content(_: c_int, _: int_p, _: int_p) -> c_int387     pub fn extended_pair_content(_: c_int, _: int_p, _: int_p) -> c_int;
388 }
389