#![allow(dead_code)]
#![allow(unused_imports)]
use libc::{ c_char, c_int, c_short, c_uint, c_ulong, c_void, FILE };
pub type c_bool = ::libc::c_uchar;
#[cfg(feature="wide_chtype")]
pub type chtype = u64;
#[cfg(not(feature="wide_chtype"))]
pub type chtype = u32;
pub type winttype = c_uint;
pub type mmask_t = chtype;
pub type attr_t = chtype;
pub type NCURSES_ATTR_T = attr_t;
pub type attr_t_p = *mut attr_t;
pub type short_p = *mut c_short;
pub type int_p = *mut c_int;
pub type void_p = *const c_void;
pub type char_p = *const c_char;
pub type chtype_p = *const chtype;
pub type WINDOW = *mut i8;
pub type SCREEN = *mut i8;
pub type FILE_p = *mut FILE;
pub type va_list = *mut u8;
#[repr(C)]
#[derive(Debug, Clone, Copy)]
pub struct MEVENT { pub id: c_short, pub x: c_int, pub y: c_int, pub z: c_int, pub bstate: mmask_t}
extern {
pub fn addch(_:chtype) -> c_int;
pub fn addchnstr(_:*const chtype, _:c_int) -> c_int;
pub fn addchstr(_:*const chtype) -> c_int;
pub fn addnstr(_:*const c_char, _:c_int) -> c_int;
pub fn addstr(_:*const c_char) -> c_int;
pub fn assume_default_colors(_:c_int, _:c_int) -> c_int;
pub fn attroff(_:NCURSES_ATTR_T) -> c_int;
pub fn attron(_:NCURSES_ATTR_T) -> c_int;
pub fn attrset(_:NCURSES_ATTR_T) -> c_int;
pub fn attr_get(_:attr_t_p, _:short_p, _:void_p) -> c_int;
pub fn attr_off(_:attr_t, _:void_p) -> c_int;
pub fn attr_on(_:attr_t, _:void_p) -> c_int;
pub fn attr_set(_:attr_t, _:c_short, _:void_p) -> c_int;
pub fn baudrate() -> c_int;
pub fn beep() -> c_int;
pub fn bkgd(_:chtype) -> c_int;
pub fn bkgdset(_:chtype);
pub fn border(_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int;
pub fn box_(_:WINDOW, _:chtype, _:chtype) -> c_int;
pub fn can_change_color() -> c_bool;
pub fn cbreak() -> c_int;
pub fn chgat(_:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
pub fn clear() -> c_int;
pub fn clearok(_:WINDOW,_:c_bool) -> c_int;
pub fn clrtobot() -> c_int;
pub fn clrtoeol() -> c_int;
pub fn color_content(_:c_short,_:short_p,_:short_p,_:short_p) -> c_int;
pub fn color_set(_:c_short,_:void_p) -> c_int;
pub fn COLOR_PAIR(_:c_int) -> c_int;
pub fn copywin(_:WINDOW,_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
pub fn curs_set(_:c_int) -> c_int;
pub fn def_prog_mode() -> c_int;
pub fn def_shell_mode() -> c_int;
pub fn delay_output(_:c_int) -> c_int;
pub fn delch() -> c_int;
pub fn delscreen(_:SCREEN);
pub fn delwin(_:WINDOW) -> c_int;
pub fn deleteln() -> c_int;
pub fn derwin(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW;
pub fn doupdate() -> c_int;
pub fn dupwin(_:WINDOW) -> WINDOW;
pub fn echo() -> c_int;
pub fn echochar(_:chtype) -> c_int;
pub fn erase() -> c_int;
pub fn endwin() -> c_int;
pub fn erasechar() -> c_char;
pub fn filter();
pub fn flash() -> c_int;
pub fn flushinp() -> c_int;
pub fn getbkgd(_:WINDOW) -> chtype;
pub fn getch() -> c_int;
pub fn getnstr(_:*mut c_char, _:c_int) -> c_int;
pub fn getstr(_:char_p) -> c_int;
pub fn getwin(_:FILE_p) -> WINDOW;
pub fn halfdelay(_:c_int) -> c_int;
pub fn has_colors() -> c_bool;
pub fn has_ic() -> c_bool;
pub fn has_il() -> c_bool;
pub fn hline(_:chtype, _:c_int) -> c_int;
pub fn idcok(_:WINDOW, _:c_bool);
pub fn idlok(_:WINDOW, _:c_bool) -> c_int;
pub fn immedok(_:WINDOW, _:c_bool);
pub fn inch() -> chtype;
pub fn inchnstr(_:chtype_p, _:c_int) -> c_int;
pub fn inchstr(_:chtype_p) -> c_int;
pub fn initscr() -> WINDOW;
pub fn init_color(_:c_short,_:c_short,_:c_short,_:c_short) -> c_int;
pub fn init_pair(_:c_short,_:c_short,_:c_short) -> c_int;
pub fn innstr(_:char_p, _:c_int) -> c_int;
pub fn insch(_:chtype) -> c_int;
pub fn insdelln(_:c_int) -> c_int;
pub fn insertln() -> c_int;
pub fn insnstr(_:char_p, _:c_int) -> c_int;
pub fn insstr(_:char_p) -> c_int;
pub fn instr(_:char_p) -> c_int;
pub fn intrflush(_:WINDOW,_:c_bool) -> c_int;
pub fn isendwin() -> c_bool;
pub fn is_linetouched(_:WINDOW,_:c_int) -> c_bool;
pub fn is_term_resized(_:c_int, _:c_int) -> c_bool;
pub fn is_wintouched(_:WINDOW) -> c_bool;
pub fn keyname(_:c_int) -> *const c_char;
pub fn keypad(_:WINDOW, _:c_bool) -> c_int;
pub fn killchar() -> c_char;
pub fn leaveok(_:WINDOW,_:c_bool) -> c_int;
pub fn longname() -> *mut c_char;
pub fn meta(_:WINDOW,_:c_bool) -> c_int;
#[link_name = "move"]
pub fn mv(_:c_int, _:c_int) -> c_int;
pub fn mvaddch(_:c_int, _:c_int, _:chtype) -> c_int;
pub fn mvaddchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
pub fn mvaddchstr(_:c_int, _:c_int, _:chtype_p) -> c_int;
pub fn mvaddnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvaddstr(_:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvchgat(_:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
pub fn mvcur(_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
pub fn mvdelch(_:c_int, _:c_int) -> c_int;
pub fn mvderwin(_:WINDOW, _:c_int, _:c_int) -> c_int;
pub fn mvgetch(_:c_int, _:c_int) -> c_int;
pub fn mvgetnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvgetstr(_:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvhline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
pub fn mvinch(_:c_int, _:c_int) -> chtype;
pub fn mvinchnstr(_:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
pub fn mvinchstr(_:c_int, _:c_int, _:chtype_p) -> c_int;
pub fn mvinnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvinsch(_:c_int, _:c_int, _:chtype) -> c_int;
pub fn mvinsnstr(_:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvinsstr(_:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvinstr(_:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvprintw(_:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvvline(_:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
pub fn mvwaddch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int;
pub fn mvwaddchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
pub fn mvwaddchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int;
pub fn mvwaddnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvwaddstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvwchgat(_:WINDOW, _:c_int, _:c_int, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
pub fn mvwdelch(_:WINDOW, _:c_int, _:c_int) -> c_int;
pub fn mvwgetch(_:WINDOW, _:c_int, _:c_int) -> c_int;
pub fn mvwgetnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvwgetstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvwhline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
pub fn mvwin(_:WINDOW,_:c_int,_:c_int) -> c_int;
pub fn mvwinch(_:WINDOW, _:c_int, _:c_int) -> chtype;
pub fn mvwinchnstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p, _:c_int) -> c_int;
pub fn mvwinchstr(_:WINDOW, _:c_int, _:c_int, _:chtype_p) -> c_int;
pub fn mvwinnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvwinsch(_:WINDOW, _:c_int, _:c_int, _:chtype) -> c_int;
pub fn mvwinsnstr(_:WINDOW, _:c_int, _:c_int, _:char_p, _:c_int) -> c_int;
pub fn mvwinsstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvwinstr(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvwprintw(_:WINDOW, _:c_int, _:c_int, _:char_p) -> c_int;
pub fn mvwvline(_:WINDOW, _:c_int, _:c_int, _:chtype, _:c_int) -> c_int;
pub fn napms(_:c_int) -> c_int;
pub fn newpad(_:c_int,_:c_int) -> WINDOW;
pub fn newterm(_:char_p,_:FILE_p,_:FILE_p) -> SCREEN;
pub fn newwin(_:c_int,_:c_int,_:c_int,_:c_int) -> WINDOW;
pub fn nl() -> c_int;
pub fn nocbreak() -> c_int;
pub fn nodelay(_:WINDOW,_:c_bool) -> c_int;
pub fn noecho() -> c_int;
pub fn nonl() -> c_int;
pub fn noqiflush();
pub fn noraw() -> c_int;
pub fn notimeout(_:WINDOW,_:c_bool) -> c_int;
pub fn overlay(_:WINDOW,_:WINDOW) -> c_int;
pub fn overwrite(_:WINDOW,_:WINDOW) -> c_int;
pub fn pair_content(_:c_short,_:short_p,_:short_p) -> c_int;
pub fn PAIR_NUMBER(_:c_int) -> c_int;
pub fn pechochar(_:WINDOW, _:chtype) -> c_int;
pub fn pnoutrefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
pub fn prefresh(_:WINDOW,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int,_:c_int) -> c_int;
pub fn printw(_:char_p) -> c_int;
pub fn putwin(_:WINDOW, _:FILE_p) -> c_int;
pub fn qiflush();
pub fn raw() -> c_int;
pub fn redrawwin(_:WINDOW) -> c_int;
pub fn refresh() -> c_int;
pub fn resizeterm(_:c_int, _:c_int) -> c_int;
pub fn resize_term(_:c_int, _:c_int) -> c_int;
pub fn resetty() -> c_int;
pub fn reset_prog_mode() -> c_int;
pub fn reset_shell_mode() -> c_int;
pub fn savetty() -> c_int;
pub fn scr_dump(_:char_p) -> c_int;
pub fn scr_init(_:char_p) -> c_int;
pub fn scrl(_:c_int) -> c_int;
pub fn scroll(_:WINDOW) -> c_int;
pub fn scrollok(_:WINDOW,_:c_bool) -> c_int;
pub fn scr_restore(_:char_p) -> c_int;
pub fn scr_set(_:char_p) -> c_int;
pub fn setlocale(_:c_int, _:char_p) -> char_p;
pub fn setscrreg(_:c_int,_:c_int) -> c_int;
pub fn set_term(_:SCREEN) -> SCREEN;
pub fn set_escdelay(_:c_int) -> c_int;
pub fn set_tabsize(_:c_int) -> c_int;
pub fn slk_attroff(_:chtype) -> c_int;
pub fn slk_attr_off(_:attr_t, _:void_p) -> c_int;
pub fn slk_attron(_:chtype) -> c_int;
pub fn slk_attr_on(_:attr_t,_:void_p) -> c_int;
pub fn slk_attrset(_:chtype) -> c_int;
pub fn slk_attr() -> attr_t;
pub fn slk_attr_set(_:attr_t,_:c_short,_:void_p) -> c_int;
pub fn slk_clear() -> c_int;
pub fn slk_color(_:c_short) -> c_int;
pub fn slk_init(_:c_int) -> c_int;
pub fn slk_label(_:c_int) -> char_p;
pub fn slk_noutrefresh() -> c_int;
pub fn slk_refresh() -> c_int;
pub fn slk_restore() -> c_int;
pub fn slk_set(_:c_int,_:char_p,_:c_int) -> c_int;
pub fn slk_touch() -> c_int;
pub fn standout() -> c_int;
pub fn standend() -> c_int;
pub fn start_color() -> c_int;
pub fn subpad(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW;
pub fn subwin(_:WINDOW, _:c_int, _:c_int, _:c_int, _:c_int) -> WINDOW;
pub fn syncok(_:WINDOW, _:c_bool) -> c_int;
pub fn termattrs() -> chtype;
pub fn termname() -> char_p;
pub fn timeout(_:c_int);
pub fn touchline(_:WINDOW, _:c_int, _:c_int) -> c_int;
pub fn touchwin(_:WINDOW) -> c_int;
pub fn typeahead(_:c_int) -> c_int;
pub fn ungetch(_:c_int) -> c_int;
pub fn untouchwin(_:WINDOW) -> c_int;
pub fn use_env(_:c_bool);
pub fn use_default_colors() -> c_int;
pub fn vidattr(_:chtype) -> c_int;
pub fn vline(_:chtype, _:c_int) -> c_int;
pub fn vwprintw(_:WINDOW, _:char_p, _:va_list) -> c_int;
pub fn vw_printw(_:WINDOW, _:char_p,_:va_list) -> c_int;
pub fn waddch(_:WINDOW, _:chtype) -> c_int;
pub fn waddchnstr(_:WINDOW,_:chtype_p,_:c_int) -> c_int;
pub fn waddchstr(_:WINDOW,_:chtype_p) -> c_int;
pub fn waddnstr(_:WINDOW,_:char_p,_:c_int) -> c_int;
pub fn waddstr(_:WINDOW,_:char_p) -> c_int;
pub fn wattron(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
pub fn wattroff(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
pub fn wattrset(_:WINDOW, _:NCURSES_ATTR_T) -> c_int;
pub fn wattr_get(_:WINDOW, _:attr_t_p, _:short_p, _:void_p) -> c_int;
pub fn wattr_on(_:WINDOW, _:attr_t, _:void_p) -> c_int;
pub fn wattr_off(_:WINDOW, _:attr_t, _:void_p) -> c_int;
pub fn wattr_set(_:WINDOW, _:attr_t, _:c_short, _:void_p) -> c_int;
pub fn wbkgd(_:WINDOW, _:chtype) -> c_int;
pub fn wbkgdset(_:WINDOW,_:chtype);
pub fn wborder(_:WINDOW,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype,_:chtype) -> c_int;
pub fn wchgat(_:WINDOW, _:c_int, _:attr_t, _:c_short, _:void_p) -> c_int;
pub fn wclear(_:WINDOW) -> c_int;
pub fn wclrtobot(_:WINDOW) -> c_int;
pub fn wclrtoeol(_:WINDOW) -> c_int;
pub fn wcolor_set(_:WINDOW,_:c_short,_:void_p) -> c_int;
pub fn wcursyncup(_:WINDOW);
pub fn wdelch(_:WINDOW) -> c_int;
pub fn wdeleteln(_:WINDOW) -> c_int;
pub fn wechochar(_:WINDOW, _:chtype) -> c_int;
pub fn werase(_:WINDOW) -> c_int;
pub fn wgetch(_:WINDOW) -> c_int;
pub fn wget_wch(_:WINDOW, _:*mut winttype) -> c_int;
pub fn mvwget_wch(_:WINDOW, _:c_int, _:c_int, _:*mut winttype) -> c_int;
pub fn mvget_wch(_:c_int, _: c_int, _:*mut winttype) -> c_int;
pub fn get_wch(_:*mut winttype) -> c_int;
pub fn unget_wch(_:winttype) -> c_int;
pub fn wgetnstr(_:WINDOW,_:*const u8,_:c_int) -> c_int;
pub fn wgetstr(_:WINDOW, _:char_p) -> c_int;
pub fn whline(_:WINDOW, _:chtype, _:c_int) -> c_int;
pub fn winch(_:WINDOW) -> chtype;
pub fn winchnstr(_:WINDOW, _:chtype_p, _:c_int) -> c_int;
pub fn winchstr(_:WINDOW, _:chtype_p) -> c_int;
pub fn winnstr(_:WINDOW, _:char_p, _:c_int) -> c_int;
pub fn winsch(_:WINDOW, _:chtype) -> c_int;
pub fn winsdelln(_:WINDOW,_:c_int) -> c_int;
pub fn winsertln(_:WINDOW) -> c_int;
pub fn winsnstr(_:WINDOW, _:char_p,_:c_int) -> c_int;
pub fn winsstr(_:WINDOW, _:char_p) -> c_int;
pub fn winstr(_:WINDOW, _:char_p) -> c_int;
pub fn wmove(_:WINDOW,_:c_int,_:c_int) -> c_int;
pub fn wnoutrefresh(_:WINDOW) -> c_int;
pub fn wprintw(_:WINDOW, _:char_p) -> c_int;
pub fn wredrawln(_:WINDOW,_:c_int,_:c_int) -> c_int;
pub fn wrefresh(_:WINDOW) -> c_int;
pub fn wresize(_:WINDOW, _:c_int, _:c_int) -> c_int;
pub fn wscrl(_:WINDOW,_:c_int) -> c_int;
pub fn wsetscrreg(_:WINDOW,_:c_int,_:c_int) -> c_int;
pub fn wstandout(_:WINDOW) -> c_int;
pub fn wstandend(_:WINDOW) -> c_int;
pub fn wsyncdown(_:WINDOW);
pub fn wsyncup(_:WINDOW);
pub fn wtimeout(_:WINDOW,_:c_int);
pub fn wtouchln(_:WINDOW,_:c_int,_:c_int,_:c_int) -> c_int;
pub fn wvline(_:WINDOW,_:chtype,_:c_int) -> c_int;
pub fn tigetflag(_:char_p) -> c_int;
pub fn tigetnum(_:char_p) -> c_int;
pub fn tigetstr(_:char_p) -> *mut c_char;
pub fn putp(_:char_p) -> c_int;
pub fn tparm(_:char_p) -> *mut c_char;
pub fn getattrs(_:WINDOW) -> c_int;
pub fn getcurx(_:WINDOW) -> c_int;
pub fn getcury(_:WINDOW) -> c_int;
pub fn getbegx(_:WINDOW) -> c_int;
pub fn getbegy(_:WINDOW) -> c_int;
pub fn getmaxx(_:WINDOW) -> c_int;
pub fn getmaxy(_:WINDOW) -> c_int;
pub fn getparx(_:WINDOW) -> c_int;
pub fn getpary(_:WINDOW) -> c_int;
pub fn wgetparent(_:WINDOW) -> WINDOW;
pub fn is_cleared(_:WINDOW) -> c_bool;
pub fn is_idcok(_:WINDOW) -> c_bool;
pub fn is_idlok(_:WINDOW) -> c_bool;
pub fn is_immedok(_:WINDOW) -> c_bool;
pub fn is_keypad(_:WINDOW) -> c_bool;
pub fn is_leaveok(_:WINDOW) -> c_bool;
pub fn is_nodelay(_:WINDOW) -> c_bool;
pub fn is_notimeout(_:WINDOW) -> c_bool;
pub fn is_scrollok(_:WINDOW) -> c_bool;
pub fn is_syncok(_:WINDOW) -> c_bool;
pub fn wgetscrreg(_:WINDOW, _:*mut c_int, _:*mut c_int) -> c_int;
pub fn has_mouse() -> c_bool;
pub fn getmouse(_:*mut MEVENT) -> c_int;
pub fn ungetmouse(_:*mut MEVENT) -> c_int;
pub fn mousemask(_:mmask_t,_:*mut mmask_t) -> mmask_t;
pub fn wenclose(_:WINDOW,_:c_int,_:c_int) -> c_bool;
pub fn mouseinterval(_:c_int) -> c_int;
pub fn wmouse_trafo(_:WINDOW,_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool;
pub fn mouse_trafo(_:*mut c_int,_:*mut c_int,_:c_bool) -> c_bool;
}
#[cfg(feature = "extended_colors")]
extern {
pub fn init_extended_color(_: c_int, _: c_int, _: c_int, _: c_int) -> c_int;
pub fn init_extended_pair(_: c_int, _: c_int, _: c_int) -> c_int;
pub fn extended_color_content(_: c_int, _: int_p, _: int_p, _: int_p) -> c_int;
pub fn extended_pair_content(_: c_int, _: int_p, _: int_p) -> c_int;
}