"""
cast_map :: (#type struct {type: type_expr; name: str;}).[
.{ WINDOW, "WINDOW *" },
- ]
+ ]
*/
// initscr
newterm :: (type: cstr, out_fd, in_fd: ^u32) -> SCREEN ---
set_term :: (new: SCREEN) -> SCREEN ---
delscreen :: (sp: SCREEN) -> void ---
+ exit_curses :: (code: i32) -> void ---
// color
start_color :: () -> i32 ---
mvvline :: (y, x: i32, ch: chtype, n: i32) -> i32 ---
mvwvline :: (w: WINDOW, y, x: i32, ch: chtype, n: i32) -> i32 ---
+ // new_pair
+ allow_pair :: (fg, bg: i32) -> i32 ---
+ find_pair :: (fg, bg: i32) -> i32 ---
+ free_pair :: (pair: i32) -> i32 ---
+
+ // default_colors
+ use_default_colors :: () -> i32 ---
+ assume_default_colors :: (fg, bg: i32) -> i32 ---
+
+ // termattrs
+ buadrate :: () -> i32 ---
+ erasechar :: () -> u8 ---
+ has_ic :: () -> bool ---
+ has_il :: () -> bool ---
+ killchar :: () -> u8 ---
+ longname :: () -> cptr(u8) ---
+ term_attrs :: () -> attr_t ---
+ termattrs :: () -> chtype ---
+ termname :: () -> void ---
+
+ // beep
+ beep :: () -> void ---
+ flash :: () -> void ---
+
+ // overlay
+ overlay :: (srcwin: WINDOW, dstwin: WINDOW) -> i32 ---
+ overwrite :: (srcwin: WINDOW, dstwin: WINDOW) -> i32 ---
+ copywin :: (srcwin: WINDOW, dstwin: WINDOW, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, overlay: i32) -> i32 ---
+
+ // pad
+ newpad :: (nlines, ncols: i32) -> WINDOW ---
+ subpad :: (orig: WINDOW, nlines, ncols: i32, begin_y, begin_x: i32) -> WINDOW ---
+ prefresh :: (pad: WINDOW, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol: i32) -> i32 ---
+ pnoutrefresh :: (pad: WINDOW, pminrow, pmincol, sminrow, smincol, smaxrow, smaxcol: i32) -> i32 ---
+ pechochar :: (pad: WINDOW, ch: chtype) -> i32 ---
+
+ // define_key
+ define_key :: (definition: cstr, keycode: i32) -> i32 ---
+ keyok :: (keycode: i32, enable: bool) -> i32 ---
+ key_defined :: (definition: cstr) -> i32 ---
+
+ // delch
+ delch :: () -> i32 ---
+ wdelch :: (w: WINDOW) -> i32 ---
+ mvdelch :: (y, x: i32) -> i32 ---
+ mvwdelch :: (w: WINDOW, y, x: i32) -> i32 ---
+
+ // deleteln
+ deleteln :: () -> i32 ---
+ wdeleteln :: (w: WINDOW) -> i32 ---
+ insdelln :: (n: i32) -> i32 ---
+ winsdelln :: (w: WINDOW, n: i32) -> i32 ---
+ insertln :: () -> i32 ---
+ winsertln :: (w: WINDOW) -> i32 ---
+
+ // slk
+ slk_init :: (fmt: i32) -> i32 ---
+ slk_set :: (labnum: i32, label: cstr, fmt: i32) -> i32 ---
+ slk_label :: (labnum: i32) -> cptr(u8) ---
+ slk_refresh :: () -> i32 ---
+ slk_noutrefresh :: () -> i32 ---
+ slk_clear :: () -> i32 ---
+ slk_restore :: () -> i32 ---
+ slk_touch :: () -> i32 ---
+ slk_attron :: (attrs: chtype) -> i32 ---
+ slk_attroff :: (attrs: chtype) -> i32 ---
+ slk_attrset :: (attrs: chtype) -> i32 ---
+ slk_attr :: () -> attr_t ---
+ slk_color :: (pair: i32) -> i32 ---
+
+ // legacy
+ getattrs :: (w: WINDOW) -> i32 ---
+ getbegx :: (w: WINDOW) -> i32 ---
+ getbegy :: (w: WINDOW) -> i32 ---
+ getcurx :: (w: WINDOW) -> i32 ---
+ getcury :: (w: WINDOW) -> i32 ---
+ getmaxx :: (w: WINDOW) -> i32 ---
+ getmaxy :: (w: WINDOW) -> i32 ---
+ getparx :: (w: WINDOW) -> i32 ---
+ getpary :: (w: WINDOW) -> i32 ---
+
+ // mouse
+ has_mouse :: () -> bool ---
+ getmouse :: (@out event: ^MEvent) -> i32 ---
+ ungetmouse :: (@out event: ^MEvent) -> i32 ---
+ mousemask :: (newmask: mmask_t, @out oldmask: ^mmask_t) -> mmask_t ---
+ wenclone :: (w: WINDOW, y, x: i32) -> bool ---
+ mouse_trafo :: (py, px: ^i32, to_screen: bool) -> bool ---
+ wmouse_trafo :: (w: WINDOW, py, px: ^i32, to_screen: bool) -> bool ---
+ mouseinterval :: (erval: i32) -> i32 ---
+
+ // resizeterm
+ is_term_resized :: (lines, columns: i32) -> bool ---
+ resize_term :: (lines, columns: i32) -> bool ---
+ resizeterm :: (lines, columns: i32) -> bool ---
+
+ // scroll
+ scroll :: (w: WINDOW) -> i32 ---
+ scrl :: (n: i32) -> i32 ---
+ wscrl :: (w: WINDOW, n: i32) -> i32 ---
// variables
__get_stdscr :: () -> WINDOW ---
NCURSES_ACS :: (a: i32) -> chtype ---
}
+
stdscr :: __get_stdscr
getyx :: __get_yx
getparyx :: __get_par_yx
chtype :: u32
attr_t :: u32
+mmask_t :: u64
+MEvent :: struct {
+ id: u16;
+ x, y, z: i32;
+ bstate: mmask_t;
+}
+
+BUTTON1_RELEASED :: 0x01 << (0 * 6)
+BUTTON1_PRESSED :: 0x02 << (0 * 6)
+BUTTON1_CLICKED :: 0x04 << (0 * 6)
+BUTTON1_DOUBLE_CLICKED :: 0x08 << (0 * 6)
+BUTTON1_TRIPLE_CLICKED :: 0x10 << (0 * 6)
+BUTTON2_RELEASED :: 0x01 << (1 * 6)
+BUTTON2_PRESSED :: 0x02 << (1 * 6)
+BUTTON2_CLICKED :: 0x04 << (1 * 6)
+BUTTON2_DOUBLE_CLICKED :: 0x08 << (1 * 6)
+BUTTON2_TRIPLE_CLICKED :: 0x10 << (1 * 6)
+BUTTON3_RELEASED :: 0x01 << (2 * 6)
+BUTTON3_PRESSED :: 0x02 << (2 * 6)
+BUTTON3_CLICKED :: 0x04 << (2 * 6)
+BUTTON3_DOUBLE_CLICKED :: 0x08 << (2 * 6)
+BUTTON3_TRIPLE_CLICKED :: 0x10 << (2 * 6)
+BUTTON4_RELEASED :: 0x01 << (3 * 6)
+BUTTON4_PRESSED :: 0x02 << (3 * 6)
+BUTTON4_CLICKED :: 0x04 << (3 * 6)
+BUTTON4_DOUBLE_CLICKED :: 0x08 << (3 * 6)
+BUTTON4_TRIPLE_CLICKED :: 0x10 << (3 * 6)
+BUTTON5_RELEASED :: 0x01 << (4 * 6)
+BUTTON5_PRESSED :: 0x02 << (4 * 6)
+BUTTON5_CLICKED :: 0x04 << (4 * 6)
+BUTTON5_DOUBLE_CLICKED :: 0x08 << (4 * 6)
+BUTTON5_TRIPLE_CLICKED :: 0x10 << (4 * 6)
+BUTTON_CTRL :: 0x01 << (6 * 6)
+BUTTON_SHIFT :: 0x02 << (6 * 6)
+BUTTON_ALT :: 0x04 << (6 * 6)
+REPORT_MOUSE_POSITION :: 0x08 << (6 * 6)
+
+BUTTON_RELEASE :: macro (e: mmask_t, button: i32) => (e & (1 << (button * 6))) != 0;
+BUTTON_PRESS :: macro (e: mmask_t, button: i32) => (e & (2 << (button * 6))) != 0;
+BUTTON_CLICK :: macro (e: mmask_t, button: i32) => (e & (4 << (button * 6))) != 0;
+BUTTON_DOUBLE_CLICK :: macro (e: mmask_t, button: i32) => (e & (8 << (button * 6))) != 0;
+BUTTON_TRIPLE_CLICK :: macro (e: mmask_t, button: i32) => (e & (16 << (button * 6))) != 0;
+
+ALL_MOUSE_EVENTS :: (1 << (7 * 6)) - 1
+
A_NORMAL :: 0
A_ATTRIBUTES :: 0xffffff00
A_CHARTEXT :: 0xff
COLOR_CYAN :: 6
COLOR_WHITE :: 7
+
+KEY_DOWN :: 0402 /* down-arrow key */
+KEY_UP :: 0403 /* up-arrow key */
+KEY_LEFT :: 0404 /* left-arrow key */
+KEY_RIGHT :: 0405 /* right-arrow key */
+KEY_HOME :: 0406 /* home key */
+KEY_BACKSPACE :: 0407 /* backspace key */
+KEY_F0 :: 0410 /* Function keys. Space for 64 */
+KEY_F :: macro (n) => KEY_FO + n /* Value of function key n */
+KEY_DL :: 0510 /* delete-line key */
+KEY_IL :: 0511 /* insert-line key */
+KEY_DC :: 0512 /* delete-character key */
+KEY_IC :: 0513 /* insert-character key */
+KEY_EIC :: 0514 /* sent by rmir or smir in insert mode */
+KEY_CLEAR :: 0515 /* clear-screen or erase key */
+KEY_EOS :: 0516 /* clear-to-end-of-screen key */
+KEY_EOL :: 0517 /* clear-to-end-of-line key */
+KEY_SF :: 0520 /* scroll-forward key */
+KEY_SR :: 0521 /* scroll-backward key */
+KEY_NPAGE :: 0522 /* next-page key */
+KEY_PPAGE :: 0523 /* previous-page key */
+KEY_STAB :: 0524 /* set-tab key */
+KEY_CTAB :: 0525 /* clear-tab key */
+KEY_CATAB :: 0526 /* clear-all-tabs key */
+KEY_ENTER :: 0527 /* enter/send key */
+KEY_PRINT :: 0532 /* print key */
+KEY_LL :: 0533 /* lower-left key (home down) */
+KEY_A1 :: 0534 /* upper left of keypad */
+KEY_A3 :: 0535 /* upper right of keypad */
+KEY_B2 :: 0536 /* center of keypad */
+KEY_C1 :: 0537 /* lower left of keypad */
+KEY_C3 :: 0540 /* lower right of keypad */
+KEY_BTAB :: 0541 /* back-tab key */
+KEY_BEG :: 0542 /* begin key */
+KEY_CANCEL :: 0543 /* cancel key */
+KEY_CLOSE :: 0544 /* close key */
+KEY_COMMAND :: 0545 /* command key */
+KEY_COPY :: 0546 /* copy key */
+KEY_CREATE :: 0547 /* create key */
+KEY_END :: 0550 /* end key */
+KEY_EXIT :: 0551 /* exit key */
+KEY_FIND :: 0552 /* find key */
+KEY_HELP :: 0553 /* help key */
+KEY_MARK :: 0554 /* mark key */
+KEY_MESSAGE :: 0555 /* message key */
+KEY_MOVE :: 0556 /* move key */
+KEY_NEXT :: 0557 /* next key */
+KEY_OPEN :: 0560 /* open key */
+KEY_OPTIONS :: 0561 /* options key */
+KEY_PREVIOUS :: 0562 /* previous key */
+KEY_REDO :: 0563 /* redo key */
+KEY_REFERENCE :: 0564 /* reference key */
+KEY_REFRESH :: 0565 /* refresh key */
+KEY_REPLACE :: 0566 /* replace key */
+KEY_RESTART :: 0567 /* restart key */
+KEY_RESUME :: 0570 /* resume key */
+KEY_SAVE :: 0571 /* save key */
+KEY_SBEG :: 0572 /* shifted begin key */
+KEY_SCANCEL :: 0573 /* shifted cancel key */
+KEY_SCOMMAND :: 0574 /* shifted command key */
+KEY_SCOPY :: 0575 /* shifted copy key */
+KEY_SCREATE :: 0576 /* shifted create key */
+KEY_SDC :: 0577 /* shifted delete-character key */
+KEY_SDL :: 0600 /* shifted delete-line key */
+KEY_SELECT :: 0601 /* select key */
+KEY_SEND :: 0602 /* shifted end key */
+KEY_SEOL :: 0603 /* shifted clear-to-end-of-line key */
+KEY_SEXIT :: 0604 /* shifted exit key */
+KEY_SFIND :: 0605 /* shifted find key */
+KEY_SHELP :: 0606 /* shifted help key */
+KEY_SHOME :: 0607 /* shifted home key */
+KEY_SIC :: 0610 /* shifted insert-character key */
+KEY_SLEFT :: 0611 /* shifted left-arrow key */
+KEY_SMESSAGE :: 0612 /* shifted message key */
+KEY_SMOVE :: 0613 /* shifted move key */
+KEY_SNEXT :: 0614 /* shifted next key */
+KEY_SOPTIONS :: 0615 /* shifted options key */
+KEY_SPREVIOUS :: 0616 /* shifted previous key */
+KEY_SPRINT :: 0617 /* shifted print key */
+KEY_SREDO :: 0620 /* shifted redo key */
+KEY_SREPLACE :: 0621 /* shifted replace key */
+KEY_SRIGHT :: 0622 /* shifted right-arrow key */
+KEY_SRSUME :: 0623 /* shifted resume key */
+KEY_SSAVE :: 0624 /* shifted save key */
+KEY_SSUSPEND :: 0625 /* shifted suspend key */
+KEY_SUNDO :: 0626 /* shifted undo key */
+KEY_SUSPEND :: 0627 /* suspend key */
+KEY_UNDO :: 0630 /* undo key */
+KEY_MOUSE :: 0631 /* Mouse event has occurred */
+
return NULL;
}
+ONYX_DEF(exit_curses, (WASM_I32), ()) {
+ exit_curses(P(0, i32));
+ return NULL;
+}
+
ONYX_DEF(start_color, (), (WASM_I32)) {
results->data[0] = WASM_I32_VAL(start_color());
return NULL;
return NULL;
}
+ONYX_DEF(allow_pair, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(allow_pair(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(find_pair, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(find_pair(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(free_pair, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(free_pair(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(use_default_colors, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(use_default_colors());
+ return NULL;
+}
+
+ONYX_DEF(assume_default_colors, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(assume_default_colors(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(buadrate, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(buadrate());
+ return NULL;
+}
+
+ONYX_DEF(erasechar, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(erasechar());
+ return NULL;
+}
+
+ONYX_DEF(has_ic, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(has_ic());
+ return NULL;
+}
+
+ONYX_DEF(has_il, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(has_il());
+ return NULL;
+}
+
+ONYX_DEF(killchar, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(killchar());
+ return NULL;
+}
+
+ONYX_DEF(longname, (), (WASM_I64)) {
+ results->data[0] = WASM_I64_VAL(longname());
+ return NULL;
+}
+
+ONYX_DEF(term_attrs, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(term_attrs());
+ return NULL;
+}
+
+ONYX_DEF(termattrs, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(termattrs());
+ return NULL;
+}
+
+ONYX_DEF(termname, (), ()) {
+ termname();
+ return NULL;
+}
+
+ONYX_DEF(beep, (), ()) {
+ beep();
+ return NULL;
+}
+
+ONYX_DEF(flash, (), ()) {
+ flash();
+ return NULL;
+}
+
+ONYX_DEF(overlay, (WASM_I64, WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(overlay((WINDOW *) P(0, i64), (WINDOW *) P(1, i64)));
+ return NULL;
+}
+
+ONYX_DEF(overwrite, (WASM_I64, WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(overwrite((WINDOW *) P(0, i64), (WINDOW *) P(1, i64)));
+ return NULL;
+}
+
+ONYX_DEF(copywin, (WASM_I64, WASM_I64, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(copywin((WINDOW *) P(0, i64), (WINDOW *) P(1, i64), P(2, i32), P(3, i32), P(4, i32), P(5, i32), P(6, i32), P(7, i32), P(8, i32)));
+ return NULL;
+}
+
+ONYX_DEF(newpad, (WASM_I32, WASM_I32), (WASM_I64)) {
+ results->data[0] = WASM_I64_VAL(newpad(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(subpad, (WASM_I64, WASM_I32, WASM_I32, WASM_I32, WASM_I32), (WASM_I64)) {
+ results->data[0] = WASM_I64_VAL(subpad((WINDOW *) P(0, i64), P(1, i32), P(2, i32), P(3, i32), P(4, i32)));
+ return NULL;
+}
+
+ONYX_DEF(prefresh, (WASM_I64, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(prefresh((WINDOW *) P(0, i64), P(1, i32), P(2, i32), P(3, i32), P(4, i32), P(5, i32), P(6, i32)));
+ return NULL;
+}
+
+ONYX_DEF(pnoutrefresh, (WASM_I64, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(pnoutrefresh((WINDOW *) P(0, i64), P(1, i32), P(2, i32), P(3, i32), P(4, i32), P(5, i32), P(6, i32)));
+ return NULL;
+}
+
+ONYX_DEF(pechochar, (WASM_I64, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(pechochar((WINDOW *) P(0, i64), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(define_key, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(define_key(ONYX_PTR(P(0, i32)), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(keyok, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(keyok(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(key_defined, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(key_defined(ONYX_PTR(P(0, i32))));
+ return NULL;
+}
+
+ONYX_DEF(delch, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(delch());
+ return NULL;
+}
+
+ONYX_DEF(wdelch, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(wdelch((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(mvdelch, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(mvdelch(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(mvwdelch, (WASM_I64, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(mvwdelch((WINDOW *) P(0, i64), P(1, i32), P(2, i32)));
+ return NULL;
+}
+
+ONYX_DEF(deleteln, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(deleteln());
+ return NULL;
+}
+
+ONYX_DEF(wdeleteln, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(wdeleteln((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(insdelln, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(insdelln(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(winsdelln, (WASM_I64, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(winsdelln((WINDOW *) P(0, i64), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(insertln, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(insertln());
+ return NULL;
+}
+
+ONYX_DEF(winsertln, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(winsertln((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(slk_init, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_init(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_set, (WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_set(P(0, i32), ONYX_PTR(P(1, i32)), P(2, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_label, (WASM_I32), (WASM_I64)) {
+ results->data[0] = WASM_I64_VAL(slk_label(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_refresh, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_refresh());
+ return NULL;
+}
+
+ONYX_DEF(slk_noutrefresh, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_noutrefresh());
+ return NULL;
+}
+
+ONYX_DEF(slk_clear, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_clear());
+ return NULL;
+}
+
+ONYX_DEF(slk_restore, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_restore());
+ return NULL;
+}
+
+ONYX_DEF(slk_touch, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_touch());
+ return NULL;
+}
+
+ONYX_DEF(slk_attron, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_attron(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_attroff, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_attroff(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_attrset, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_attrset(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(slk_attr, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_attr());
+ return NULL;
+}
+
+ONYX_DEF(slk_color, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(slk_color(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(getattrs, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getattrs((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getbegx, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getbegx((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getbegy, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getbegy((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getcurx, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getcurx((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getcury, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getcury((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getmaxx, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getmaxx((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getmaxy, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getmaxy((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getparx, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getparx((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(getpary, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getpary((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(has_mouse, (), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(has_mouse());
+ return NULL;
+}
+
+ONYX_DEF(getmouse, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(getmouse(ONYX_PTR(P(0, i32))));
+ return NULL;
+}
+
+ONYX_DEF(ungetmouse, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(ungetmouse(ONYX_PTR(P(0, i32))));
+ return NULL;
+}
+
+ONYX_DEF(mousemask, (WASM_I64, WASM_I32), (WASM_I64)) {
+ results->data[0] = WASM_I64_VAL(mousemask(P(0, i64), ONYX_PTR(P(1, i32))));
+ return NULL;
+}
+
+ONYX_DEF(wenclone, (WASM_I64, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(wenclone((WINDOW *) P(0, i64), P(1, i32), P(2, i32)));
+ return NULL;
+}
+
+ONYX_DEF(mouse_trafo, (WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(mouse_trafo(ONYX_PTR(P(0, i32)), ONYX_PTR(P(1, i32)), P(2, i32)));
+ return NULL;
+}
+
+ONYX_DEF(wmouse_trafo, (WASM_I64, WASM_I32, WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(wmouse_trafo((WINDOW *) P(0, i64), ONYX_PTR(P(1, i32)), ONYX_PTR(P(2, i32)), P(3, i32)));
+ return NULL;
+}
+
+ONYX_DEF(mouseinterval, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(mouseinterval(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(is_term_resized, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(is_term_resized(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(resize_term, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(resize_term(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(resizeterm, (WASM_I32, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(resizeterm(P(0, i32), P(1, i32)));
+ return NULL;
+}
+
+ONYX_DEF(scroll, (WASM_I64), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(scroll((WINDOW *) P(0, i64)));
+ return NULL;
+}
+
+ONYX_DEF(scrl, (WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(scrl(P(0, i32)));
+ return NULL;
+}
+
+ONYX_DEF(wscrl, (WASM_I64, WASM_I32), (WASM_I32)) {
+ results->data[0] = WASM_I32_VAL(wscrl((WINDOW *) P(0, i64), P(1, i32)));
+ return NULL;
+}
+
ONYX_DEF(__get_stdscr, (), (WASM_I64)) {
results->data[0] = WASM_I64_VAL(__get_stdscr());
return NULL;
ONYX_FUNC(newterm)
ONYX_FUNC(set_term)
ONYX_FUNC(delscreen)
+ ONYX_FUNC(exit_curses)
ONYX_FUNC(start_color)
ONYX_FUNC(has_colors)
ONYX_FUNC(can_change_color)
ONYX_FUNC(mvwhline)
ONYX_FUNC(mvvline)
ONYX_FUNC(mvwvline)
+ ONYX_FUNC(allow_pair)
+ ONYX_FUNC(find_pair)
+ ONYX_FUNC(free_pair)
+ ONYX_FUNC(use_default_colors)
+ ONYX_FUNC(assume_default_colors)
+ ONYX_FUNC(buadrate)
+ ONYX_FUNC(erasechar)
+ ONYX_FUNC(has_ic)
+ ONYX_FUNC(has_il)
+ ONYX_FUNC(killchar)
+ ONYX_FUNC(longname)
+ ONYX_FUNC(term_attrs)
+ ONYX_FUNC(termattrs)
+ ONYX_FUNC(termname)
+ ONYX_FUNC(beep)
+ ONYX_FUNC(flash)
+ ONYX_FUNC(overlay)
+ ONYX_FUNC(overwrite)
+ ONYX_FUNC(copywin)
+ ONYX_FUNC(newpad)
+ ONYX_FUNC(subpad)
+ ONYX_FUNC(prefresh)
+ ONYX_FUNC(pnoutrefresh)
+ ONYX_FUNC(pechochar)
+ ONYX_FUNC(define_key)
+ ONYX_FUNC(keyok)
+ ONYX_FUNC(key_defined)
+ ONYX_FUNC(delch)
+ ONYX_FUNC(wdelch)
+ ONYX_FUNC(mvdelch)
+ ONYX_FUNC(mvwdelch)
+ ONYX_FUNC(deleteln)
+ ONYX_FUNC(wdeleteln)
+ ONYX_FUNC(insdelln)
+ ONYX_FUNC(winsdelln)
+ ONYX_FUNC(insertln)
+ ONYX_FUNC(winsertln)
+ ONYX_FUNC(slk_init)
+ ONYX_FUNC(slk_set)
+ ONYX_FUNC(slk_label)
+ ONYX_FUNC(slk_refresh)
+ ONYX_FUNC(slk_noutrefresh)
+ ONYX_FUNC(slk_clear)
+ ONYX_FUNC(slk_restore)
+ ONYX_FUNC(slk_touch)
+ ONYX_FUNC(slk_attron)
+ ONYX_FUNC(slk_attroff)
+ ONYX_FUNC(slk_attrset)
+ ONYX_FUNC(slk_attr)
+ ONYX_FUNC(slk_color)
+ ONYX_FUNC(getattrs)
+ ONYX_FUNC(getbegx)
+ ONYX_FUNC(getbegy)
+ ONYX_FUNC(getcurx)
+ ONYX_FUNC(getcury)
+ ONYX_FUNC(getmaxx)
+ ONYX_FUNC(getmaxy)
+ ONYX_FUNC(getparx)
+ ONYX_FUNC(getpary)
+ ONYX_FUNC(has_mouse)
+ ONYX_FUNC(getmouse)
+ ONYX_FUNC(ungetmouse)
+ ONYX_FUNC(mousemask)
+ ONYX_FUNC(wenclone)
+ ONYX_FUNC(mouse_trafo)
+ ONYX_FUNC(wmouse_trafo)
+ ONYX_FUNC(mouseinterval)
+ ONYX_FUNC(is_term_resized)
+ ONYX_FUNC(resize_term)
+ ONYX_FUNC(resizeterm)
+ ONYX_FUNC(scroll)
+ ONYX_FUNC(scrl)
+ ONYX_FUNC(wscrl)
ONYX_FUNC(__get_stdscr)
ONYX_FUNC(NCURSES_ACS)
NULL