summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--BOOLS.txt37
-rw-r--r--NUMBERS.txt33
-rw-r--r--STRINGS.txt394
-rw-r--r--curses/ACS_BLOCK.h5
-rw-r--r--curses/ACS_BOARD.h5
-rw-r--r--curses/ACS_BTEE.h5
-rw-r--r--curses/ACS_BULLET.h5
-rw-r--r--curses/ACS_CKBOARD.h5
-rw-r--r--curses/ACS_DARROW.h5
-rw-r--r--curses/ACS_DEGREE.h5
-rw-r--r--curses/ACS_DIAMOND.h5
-rw-r--r--curses/ACS_HLINE.h5
-rw-r--r--curses/ACS_LANTERN.h5
-rw-r--r--curses/ACS_LARROW.h5
-rw-r--r--curses/ACS_LLCORNER.h5
-rw-r--r--curses/ACS_LRCORNER.h5
-rw-r--r--curses/ACS_LTEE.h5
-rw-r--r--curses/ACS_PLMINUS.h5
-rw-r--r--curses/ACS_PLUS.h5
-rw-r--r--curses/ACS_RARROW.h5
-rw-r--r--curses/ACS_RTEE.h5
-rw-r--r--curses/ACS_S1.h5
-rw-r--r--curses/ACS_S9.h5
-rw-r--r--curses/ACS_TTEE.h5
-rw-r--r--curses/ACS_UARROW.h5
-rw-r--r--curses/ACS_ULCORNER.h5
-rw-r--r--curses/ACS_URCORNER.h5
-rw-r--r--curses/ACS_VLINE.h5
-rw-r--r--curses/A_ALTCHARSET.h6
-rw-r--r--curses/A_ATTRIBUTES.h5
-rw-r--r--curses/A_BLINK.h6
-rw-r--r--curses/A_BOLD.h6
-rw-r--r--curses/A_CHARTEXT.h5
-rw-r--r--curses/A_COLOR.h5
-rw-r--r--curses/A_DIM.h6
-rw-r--r--curses/A_INVIS.h6
-rw-r--r--curses/A_PROTECT.h6
-rw-r--r--curses/A_REVERSE.h6
-rw-r--r--curses/A_STANDOUT.h6
-rw-r--r--curses/A_UNDERLINE.h6
-rw-r--r--curses/COLORS.h6
-rw-r--r--curses/COLOR_BLACK.h5
-rw-r--r--curses/COLOR_BLUE.h5
-rw-r--r--curses/COLOR_CYAN.h5
-rw-r--r--curses/COLOR_GREEN.h5
-rw-r--r--curses/COLOR_MAGENTA.h5
-rw-r--r--curses/COLOR_PAIR.h6
-rw-r--r--curses/COLOR_PAIRS.h6
-rw-r--r--curses/COLOR_RED.h5
-rw-r--r--curses/COLOR_WHITE.h5
-rw-r--r--curses/COLOR_YELLOW.h5
-rw-r--r--curses/COLS.h6
-rw-r--r--curses/EOF.ref3
-rw-r--r--curses/ERR.h6
-rw-r--r--curses/FALSE.h6
-rw-r--r--curses/KEY_A1.h5
-rw-r--r--curses/KEY_A3.h5
-rw-r--r--curses/KEY_B2.h5
-rw-r--r--curses/KEY_BACKSPACE.h5
-rw-r--r--curses/KEY_BEG.h5
-rw-r--r--curses/KEY_BREAK.h5
-rw-r--r--curses/KEY_BTAB.h5
-rw-r--r--curses/KEY_C1.h5
-rw-r--r--curses/KEY_C3.h5
-rw-r--r--curses/KEY_CANCEL.h5
-rw-r--r--curses/KEY_CATAB.h5
-rw-r--r--curses/KEY_CLEAR.h5
-rw-r--r--curses/KEY_CLOSE.h5
-rw-r--r--curses/KEY_CODE_YES.h6
-rw-r--r--curses/KEY_COMMAND.h5
-rw-r--r--curses/KEY_COPY.h5
-rw-r--r--curses/KEY_CREATE.h5
-rw-r--r--curses/KEY_CTAB.h5
-rw-r--r--curses/KEY_DC.h5
-rw-r--r--curses/KEY_DL.h5
-rw-r--r--curses/KEY_DOWN.h5
-rw-r--r--curses/KEY_EIC.h5
-rw-r--r--curses/KEY_END.h5
-rw-r--r--curses/KEY_ENTER.h5
-rw-r--r--curses/KEY_EOL.h5
-rw-r--r--curses/KEY_EOS.h5
-rw-r--r--curses/KEY_EXIT.h5
-rw-r--r--curses/KEY_F0.h5
-rw-r--r--curses/KEY_FIND.h5
-rw-r--r--curses/KEY_HELP.h5
-rw-r--r--curses/KEY_HOME.h5
-rw-r--r--curses/KEY_IC.h5
-rw-r--r--curses/KEY_IL.h5
-rw-r--r--curses/KEY_LEFT.h5
-rw-r--r--curses/KEY_LL.h5
-rw-r--r--curses/KEY_MARK.h5
-rw-r--r--curses/KEY_MESSAGE.h5
-rw-r--r--curses/KEY_MOVE.h5
-rw-r--r--curses/KEY_NEXT.h5
-rw-r--r--curses/KEY_NPAGE.h5
-rw-r--r--curses/KEY_OPEN.h5
-rw-r--r--curses/KEY_OPTIONS.h5
-rw-r--r--curses/KEY_PPAGE.h5
-rw-r--r--curses/KEY_PREVIOUS.h5
-rw-r--r--curses/KEY_PRINT.h5
-rw-r--r--curses/KEY_REDO.h5
-rw-r--r--curses/KEY_REFERENCE.h5
-rw-r--r--curses/KEY_REFRESH.h5
-rw-r--r--curses/KEY_REPLACE.h5
-rw-r--r--curses/KEY_RESET.h5
-rw-r--r--curses/KEY_RESTART.h5
-rw-r--r--curses/KEY_RESUME.h5
-rw-r--r--curses/KEY_RIGHT.h5
-rw-r--r--curses/KEY_SAVE.h5
-rw-r--r--curses/KEY_SBEG.h5
-rw-r--r--curses/KEY_SCANCEL.h5
-rw-r--r--curses/KEY_SCOMMAND.h5
-rw-r--r--curses/KEY_SCOPY.h5
-rw-r--r--curses/KEY_SCREATE.h5
-rw-r--r--curses/KEY_SDC.h5
-rw-r--r--curses/KEY_SDL.h5
-rw-r--r--curses/KEY_SELECT.h5
-rw-r--r--curses/KEY_SEND.h5
-rw-r--r--curses/KEY_SEOL.h5
-rw-r--r--curses/KEY_SEXIT.h5
-rw-r--r--curses/KEY_SF.h5
-rw-r--r--curses/KEY_SFIND.h5
-rw-r--r--curses/KEY_SHELP.h5
-rw-r--r--curses/KEY_SHOME.h5
-rw-r--r--curses/KEY_SIX.h5
-rw-r--r--curses/KEY_SLEFT.h5
-rw-r--r--curses/KEY_SMESSAGE.h5
-rw-r--r--curses/KEY_SMOVE.h5
-rw-r--r--curses/KEY_SNEXT.h5
-rw-r--r--curses/KEY_SOPTIONS.h5
-rw-r--r--curses/KEY_SPREVIOUS.h5
-rw-r--r--curses/KEY_SPRINT.h5
-rw-r--r--curses/KEY_SR.h5
-rw-r--r--curses/KEY_SREDO.h5
-rw-r--r--curses/KEY_SREPLACE.h5
-rw-r--r--curses/KEY_SRESET.h5
-rw-r--r--curses/KEY_SRIGHT.h5
-rw-r--r--curses/KEY_SRSUME.h5
-rw-r--r--curses/KEY_SSAVE.h5
-rw-r--r--curses/KEY_SSUSPEND.h5
-rw-r--r--curses/KEY_STAB.h5
-rw-r--r--curses/KEY_SUNDO.h5
-rw-r--r--curses/KEY_SUSPEND.h5
-rw-r--r--curses/KEY_UNDO.h5
-rw-r--r--curses/KEY_UP.h5
-rw-r--r--curses/LINES.h6
-rw-r--r--curses/OK.h6
-rw-r--r--curses/PAIR_NUMBER.h6
-rw-r--r--curses/SCREEN.h8
-rw-r--r--curses/TRUE.h6
-rw-r--r--curses/WACS_BLOCK.h5
-rw-r--r--curses/WACS_BOARD.h5
-rw-r--r--curses/WACS_BTEE.h5
-rw-r--r--curses/WACS_BULLET.h5
-rw-r--r--curses/WACS_CKBOARD.h5
-rw-r--r--curses/WACS_DARROW.h5
-rw-r--r--curses/WACS_DEGREE.h5
-rw-r--r--curses/WACS_DIAMOND.h5
-rw-r--r--curses/WACS_HLINE.h5
-rw-r--r--curses/WACS_LANTERN.h5
-rw-r--r--curses/WACS_LARROW.h5
-rw-r--r--curses/WACS_LLCORNER.h5
-rw-r--r--curses/WACS_LRCORNER.h5
-rw-r--r--curses/WACS_LTEE.h5
-rw-r--r--curses/WACS_PLMINUS.h5
-rw-r--r--curses/WACS_PLUS.h5
-rw-r--r--curses/WACS_RARROW.h5
-rw-r--r--curses/WACS_RTEE.h5
-rw-r--r--curses/WACS_S1.h5
-rw-r--r--curses/WACS_S9.h5
-rw-r--r--curses/WACS_TTEE.h5
-rw-r--r--curses/WACS_UARROW.h5
-rw-r--r--curses/WACS_ULCORNER.h5
-rw-r--r--curses/WACS_URCORNER.h5
-rw-r--r--curses/WACS_VLINE.h5
-rw-r--r--curses/WA_ALTCHARSET.h6
-rw-r--r--curses/WA_BLINK.h6
-rw-r--r--curses/WA_BOLD.h6
-rw-r--r--curses/WA_DIM.h6
-rw-r--r--curses/WA_HORIZONTAL.h6
-rw-r--r--curses/WA_INVIS.h6
-rw-r--r--curses/WA_LEFT.h6
-rw-r--r--curses/WA_LOW.h6
-rw-r--r--curses/WA_PROTECT.h6
-rw-r--r--curses/WA_REVERSE.h6
-rw-r--r--curses/WA_RIGHT.h6
-rw-r--r--curses/WA_STANDOUT.h6
-rw-r--r--curses/WA_TOP.h6
-rw-r--r--curses/WA_UNDERLINE.h6
-rw-r--r--curses/WEOF.ref3
-rw-r--r--curses/WINDOW.h8
-rw-r--r--curses/_XOPEN_CURSES.c6
-rw-r--r--curses/_curses.h52
-rw-r--r--curses/add_wch.c15
-rw-r--r--curses/add_wchnstr.c15
-rw-r--r--curses/add_wchstr.c14
-rw-r--r--curses/addch.c15
-rw-r--r--curses/addchnstr.c15
-rw-r--r--curses/addchstr.c14
-rw-r--r--curses/addnstr.c15
-rw-r--r--curses/addnwstr.c15
-rw-r--r--curses/addstr.c14
-rw-r--r--curses/addwstr.c14
-rw-r--r--curses/attr_get.c14
-rw-r--r--curses/attr_off.c14
-rw-r--r--curses/attr_on.c14
-rw-r--r--curses/attr_set.c14
-rw-r--r--curses/attr_t.h9
-rw-r--r--curses/attroff.c14
-rw-r--r--curses/attron.c14
-rw-r--r--curses/attrset.c14
-rw-r--r--curses/baudrate.c11
-rw-r--r--curses/beep.c11
-rw-r--r--curses/bkgd.c14
-rw-r--r--curses/bkgdset.c14
-rw-r--r--curses/bkgrnd.c14
-rw-r--r--curses/bkgrndset.c14
-rw-r--r--curses/bool.c11
-rw-r--r--curses/border.c14
-rw-r--r--curses/border_set.c14
-rw-r--r--curses/box.c11
-rw-r--r--curses/box_set.c12
-rw-r--r--curses/can_change_color.c11
-rw-r--r--curses/cbreak.c11
-rw-r--r--curses/cchar_t.h8
-rw-r--r--curses/chgat.c14
-rw-r--r--curses/chtype.c8
-rw-r--r--curses/clear.c14
-rw-r--r--curses/clearok.c11
-rw-r--r--curses/clrtobot.c14
-rw-r--r--curses/clrtoeol.c14
-rw-r--r--curses/color_content.c11
-rw-r--r--curses/color_set.c14
-rw-r--r--curses/copywin.c11
-rw-r--r--curses/curs_set.c11
-rw-r--r--curses/curscr.c6
-rw-r--r--curses/def_prog_mode.c11
-rw-r--r--curses/def_shell_mode.c11
-rw-r--r--curses/delay_output.c11
-rw-r--r--curses/delch.c15
-rw-r--r--curses/deleteln.c14
-rw-r--r--curses/delscreen.c10
-rw-r--r--curses/delwin.c10
-rw-r--r--curses/derwin.c12
-rw-r--r--curses/doupdate.c11
-rw-r--r--curses/dupwin.c12
-rw-r--r--curses/echo.c11
-rw-r--r--curses/echo_wchar.c14
-rw-r--r--curses/echochar.c14
-rw-r--r--curses/endwin.c11
-rw-r--r--curses/erase.c14
-rw-r--r--curses/erasechar.c11
-rw-r--r--curses/erasewchar.c11
-rw-r--r--curses/filter.c10
-rw-r--r--curses/flash.c11
-rw-r--r--curses/flushinp.c11
-rw-r--r--curses/get_wch.c14
-rw-r--r--curses/get_wstr.c15
-rw-r--r--curses/getbegyx.c5
-rw-r--r--curses/getbkgd.c11
-rw-r--r--curses/getbkgrnd.c14
-rw-r--r--curses/getcchar.c11
-rw-r--r--curses/getch.c14
-rw-r--r--curses/getmaxyx.c5
-rw-r--r--curses/getn_wstr.c15
-rw-r--r--curses/getnstr.c14
-rw-r--r--curses/getparyx.c5
-rw-r--r--curses/getstr.c14
-rw-r--r--curses/getwin.c12
-rw-r--r--curses/getyx.c5
-rw-r--r--curses/halfdelay.c11
-rw-r--r--curses/has_colors.c11
-rw-r--r--curses/has_ic.c11
-rw-r--r--curses/has_il.c11
-rw-r--r--curses/hline.c14
-rw-r--r--curses/hline_set.c14
-rw-r--r--curses/idcok.c10
-rw-r--r--curses/idlok.c11
-rw-r--r--curses/immedok.c10
-rw-r--r--curses/in_wch.c14
-rw-r--r--curses/in_wchnstr.c14
-rw-r--r--curses/in_wchstr.c14
-rw-r--r--curses/inch.c14
-rw-r--r--curses/inchnstr.c14
-rw-r--r--curses/inchstr.c14
-rw-r--r--curses/init_color.c11
-rw-r--r--curses/init_pair.c11
-rw-r--r--curses/initscr.c14
-rw-r--r--curses/innstr.c14
-rw-r--r--curses/innwstr.c14
-rw-r--r--curses/ins_nwstr.c14
-rw-r--r--curses/ins_wch.c14
-rw-r--r--curses/ins_wstr.c14
-rw-r--r--curses/insch.c14
-rw-r--r--curses/insdelln.c14
-rw-r--r--curses/insertln.c14
-rw-r--r--curses/insnstr.c14
-rw-r--r--curses/insstr.c14
-rw-r--r--curses/instr.c14
-rw-r--r--curses/intrflush.c11
-rw-r--r--curses/inwstr.c14
-rw-r--r--curses/is_linetouched.c11
-rw-r--r--curses/is_wintouched.c11
-rw-r--r--curses/isendwin.c11
-rw-r--r--curses/key_name.c12
-rw-r--r--curses/keyname.c12
-rw-r--r--curses/keypad.c11
-rw-r--r--curses/killchar.c11
-rw-r--r--curses/killwchar.c11
-rw-r--r--curses/leaveok.c11
-rw-r--r--curses/longname.c11
-rw-r--r--curses/meta.c12
-rw-r--r--curses/move.c14
-rw-r--r--curses/mvcur.c11
-rw-r--r--curses/mvderwin.c12
-rw-r--r--curses/mvprintw.c12
-rw-r--r--curses/mvscanw.c12
-rw-r--r--curses/mvwin.c11
-rw-r--r--curses/mvwprintw.c12
-rw-r--r--curses/mvwscanw.c12
-rw-r--r--curses/napms.c11
-rw-r--r--curses/newpad.c11
-rw-r--r--curses/newterm.c12
-rw-r--r--curses/newwin.c12
-rw-r--r--curses/nl.c11
-rw-r--r--curses/nocbreak.c11
-rw-r--r--curses/nodelay.c11
-rw-r--r--curses/noecho.c11
-rw-r--r--curses/nonl.c11
-rw-r--r--curses/noqiflush.c10
-rw-r--r--curses/noraw.c11
-rw-r--r--curses/notimeout.c11
-rw-r--r--curses/overlay.c11
-rw-r--r--curses/overwrite.c11
-rw-r--r--curses/pair_content.c11
-rw-r--r--curses/pecho_wchar.c11
-rw-r--r--curses/pechochar.c11
-rw-r--r--curses/pnoutrefresh.c11
-rw-r--r--curses/prefresh.c11
-rw-r--r--curses/printw.c12
-rw-r--r--curses/putwin.c12
-rw-r--r--curses/qiflush.c10
-rw-r--r--curses/raw.c11
-rw-r--r--curses/redrawwin.c11
-rw-r--r--curses/refresh.c14
-rw-r--r--curses/reset_prog_mode.c11
-rw-r--r--curses/reset_shell_mode.c11
-rw-r--r--curses/resetty.c11
-rw-r--r--curses/ripoffline.c11
-rw-r--r--curses/savetty.c11
-rw-r--r--curses/scanw.c12
-rw-r--r--curses/scr_dump.c11
-rw-r--r--curses/scr_init.c11
-rw-r--r--curses/scr_restore.c11
-rw-r--r--curses/scr_set.c11
-rw-r--r--curses/scrl.c14
-rw-r--r--curses/scrollok.c11
-rw-r--r--curses/set_term.c11
-rw-r--r--curses/setcchar.c11
-rw-r--r--curses/setscrreg.c14
-rw-r--r--curses/slk_attr_off.c11
-rw-r--r--curses/slk_attr_on.c11
-rw-r--r--curses/slk_attr_set.c11
-rw-r--r--curses/slk_attroff.c11
-rw-r--r--curses/slk_attron.c11
-rw-r--r--curses/slk_attrset.c11
-rw-r--r--curses/slk_clear.c11
-rw-r--r--curses/slk_color.c11
-rw-r--r--curses/slk_init.c11
-rw-r--r--curses/slk_label.c12
-rw-r--r--curses/slk_noutrefresh.c11
-rw-r--r--curses/slk_refresh.c11
-rw-r--r--curses/slk_restore.c11
-rw-r--r--curses/slk_set.c11
-rw-r--r--curses/slk_touch.c11
-rw-r--r--curses/slk_wset.c11
-rw-r--r--curses/standend.c14
-rw-r--r--curses/standout.c14
-rw-r--r--curses/start_color.c11
-rw-r--r--curses/stdscr.c6
-rw-r--r--curses/subpad.c11
-rw-r--r--curses/subwin.c12
-rw-r--r--curses/syncok.c11
-rw-r--r--curses/term_attrs.c11
-rw-r--r--curses/termattrs.c11
-rw-r--r--curses/termname.c12
-rw-r--r--curses/timeout.c13
-rw-r--r--curses/touchline.c11
-rw-r--r--curses/touchwin.c11
-rw-r--r--curses/typeahead.c11
-rw-r--r--curses/unget_wch.c11
-rw-r--r--curses/ungetch.c11
-rw-r--r--curses/untouchwin.c11
-rw-r--r--curses/use_env.c10
-rw-r--r--curses/vid_attr.c11
-rw-r--r--curses/vid_puts.c11
-rw-r--r--curses/vidattr.c11
-rw-r--r--curses/vidputs.c11
-rw-r--r--curses/vline.c14
-rw-r--r--curses/vline_set.c14
-rw-r--r--curses/vw_printw.c12
-rw-r--r--curses/vw_scanw.c12
-rw-r--r--curses/wchar_t.ref3
-rw-r--r--curses/wcursyncup.c10
-rw-r--r--curses/wint_t.ref3
-rw-r--r--curses/wnoutrefresh.c11
-rw-r--r--curses/wprintw.c12
-rw-r--r--curses/wredrawln.c11
-rw-r--r--curses/wscanw.c12
-rw-r--r--curses/wsyncdown.c10
-rw-r--r--curses/wsyncup.c10
-rw-r--r--curses/wtouchln.c11
-rw-r--r--curses/wunctrl.c11
-rw-r--r--term/TERMINAL.h7
-rw-r--r--term/acs_chars.c11
-rw-r--r--term/alt_scancode_esc.c11
-rw-r--r--term/auto_left_margin.c11
-rw-r--r--term/auto_right_margin.c11
-rw-r--r--term/back_color_erase.c11
-rw-r--r--term/back_tab.c11
-rw-r--r--term/bell.c11
-rw-r--r--term/bit_image_carriage_return.c11
-rw-r--r--term/bit_image_entwining.c11
-rw-r--r--term/bit_image_newline.c11
-rw-r--r--term/bit_image_repeat.c11
-rw-r--r--term/bit_image_type.c11
-rw-r--r--term/buffer_capacity.c11
-rw-r--r--term/buttons.c11
-rw-r--r--term/can_change.c11
-rw-r--r--term/carriage_return.c11
-rw-r--r--term/ceol_standout_glitch.c11
-rw-r--r--term/change_char_pitch.c11
-rw-r--r--term/change_line_pitch.c11
-rw-r--r--term/change_res_horz.c11
-rw-r--r--term/change_res_vert.c11
-rw-r--r--term/change_scroll_region.c11
-rw-r--r--term/char_padding.c11
-rw-r--r--term/char_set_names.c11
-rw-r--r--term/clear_all_tabs.c11
-rw-r--r--term/clear_margins.c11
-rw-r--r--term/clear_screen.c11
-rw-r--r--term/clr_bol.c11
-rw-r--r--term/clr_eol.c11
-rw-r--r--term/clr_eos.c11
-rw-r--r--term/code_set_init.c11
-rw-r--r--term/col_addr_glitch.c11
-rw-r--r--term/color_names.c11
-rw-r--r--term/column_address.c11
-rw-r--r--term/columns.c11
-rw-r--r--term/command_character.c11
-rw-r--r--term/cpi_change_res.c11
-rw-r--r--term/cr_cancles_micro_mode.c11
-rw-r--r--term/create_window.c11
-rw-r--r--term/cur_term.c8
-rw-r--r--term/cursor_address.c11
-rw-r--r--term/cursor_down.c11
-rw-r--r--term/cursor_home.c11
-rw-r--r--term/cursor_invisible.c11
-rw-r--r--term/cursor_left.c11
-rw-r--r--term/cursor_mem_address.c11
-rw-r--r--term/cursor_normal.c11
-rw-r--r--term/cursor_right.c11
-rw-r--r--term/cursor_to_ll.c11
-rw-r--r--term/cursor_up.c11
-rw-r--r--term/cursor_visible.c11
-rw-r--r--term/define_bit_image_region.c11
-rw-r--r--term/define_char.c11
-rw-r--r--term/del_curterm.c11
-rw-r--r--term/delete_character.c11
-rw-r--r--term/delete_line.c11
-rw-r--r--term/dest_tabs_magic_smso.c11
-rw-r--r--term/device_type.c11
-rw-r--r--term/dial_phone.c11
-rw-r--r--term/dis_status_line.c11
-rw-r--r--term/display_clock.c11
-rw-r--r--term/display_pc_char.c11
-rw-r--r--term/dot_horz_spacing.c11
-rw-r--r--term/dot_vert_spacing.c11
-rw-r--r--term/down_half_line.c11
-rw-r--r--term/eat_newline_glitch.c11
-rw-r--r--term/ena_acs.c11
-rw-r--r--term/end_bit_image_region.c11
-rw-r--r--term/enter_alt_charset_mode.c11
-rw-r--r--term/enter_am_mode.c11
-rw-r--r--term/enter_blink_mode.c11
-rw-r--r--term/enter_bold_mode.c11
-rw-r--r--term/enter_ca_mode.c11
-rw-r--r--term/enter_delete_mode.c11
-rw-r--r--term/enter_dim_mode.c11
-rw-r--r--term/enter_doublewide_mode.c11
-rw-r--r--term/enter_draft_quality.c11
-rw-r--r--term/enter_horizontal_hl_mode.c11
-rw-r--r--term/enter_insert_mode.c11
-rw-r--r--term/enter_italics_mode.c11
-rw-r--r--term/enter_left_hl_mode.c11
-rw-r--r--term/enter_leftward_mode.c11
-rw-r--r--term/enter_low_hl_mode.c11
-rw-r--r--term/enter_micro_code.c11
-rw-r--r--term/enter_near_letter_quality.c11
-rw-r--r--term/enter_normal_quality.c11
-rw-r--r--term/enter_pc_charset_mode.c11
-rw-r--r--term/enter_protected_mode.c11
-rw-r--r--term/enter_reverse_mode.c11
-rw-r--r--term/enter_right_hl_mode.c11
-rw-r--r--term/enter_scancode_mode.c11
-rw-r--r--term/enter_secure_mode.c11
-rw-r--r--term/enter_shadow_mode.c11
-rw-r--r--term/enter_standout_mode.c11
-rw-r--r--term/enter_subscript_mode.c11
-rw-r--r--term/enter_superscript_mode.c11
-rw-r--r--term/enter_top_hl_mode.c11
-rw-r--r--term/enter_underline_mode.c11
-rw-r--r--term/enter_upward_mode.c11
-rw-r--r--term/enter_vertical_hl_mode.c11
-rw-r--r--term/enter_xon_mode.c11
-rw-r--r--term/erase_chars.c11
-rw-r--r--term/erase_overstrick.c11
-rw-r--r--term/exit_alt_charset_mode.c11
-rw-r--r--term/exit_am_mode.c11
-rw-r--r--term/exit_attribute_mode.c11
-rw-r--r--term/exit_ca_mode.c11
-rw-r--r--term/exit_delete_mode.c11
-rw-r--r--term/exit_doublewide_mode.c11
-rw-r--r--term/exit_insert_mode.c11
-rw-r--r--term/exit_italics_mode.c11
-rw-r--r--term/exit_leftword_mode.c11
-rw-r--r--term/exit_micro_mode.c11
-rw-r--r--term/exit_pc_charset_mode.c11
-rw-r--r--term/exit_scancode_mode.c11
-rw-r--r--term/exit_shadow_mode.c11
-rw-r--r--term/exit_standout_mode.c11
-rw-r--r--term/exit_subscript_mode.c11
-rw-r--r--term/exit_superscript_mode.c11
-rw-r--r--term/exit_underline_mode.c11
-rw-r--r--term/exit_upward_mode.c11
-rw-r--r--term/exit_xon_mode.c11
-rw-r--r--term/fixed_pause.c11
-rw-r--r--term/flash_hook.c11
-rw-r--r--term/flash_screen.c11
-rw-r--r--term/form_feed.c11
-rw-r--r--term/from_status_line.c11
-rw-r--r--term/generic_type.c11
-rw-r--r--term/get_mouse.c11
-rw-r--r--term/goto_window.c11
-rw-r--r--term/hangup.c11
-rw-r--r--term/hard_copy.c11
-rw-r--r--term/hard_cursor.c11
-rw-r--r--term/has_meta_key.c11
-rw-r--r--term/has_print_wheel.c11
-rw-r--r--term/has_status_line.c11
-rw-r--r--term/hue_lightness_saturation.c11
-rw-r--r--term/init_1string.c11
-rw-r--r--term/init_2string.c11
-rw-r--r--term/init_3string.c11
-rw-r--r--term/init_file.c11
-rw-r--r--term/init_prog.c11
-rw-r--r--term/init_tabs.c11
-rw-r--r--term/initialize_color.c11
-rw-r--r--term/initialize_pair.c11
-rw-r--r--term/insert_character.c11
-rw-r--r--term/insert_line.c11
-rw-r--r--term/insert_null_glitch.c11
-rw-r--r--term/insert_padding.c11
-rw-r--r--term/key_a1.c11
-rw-r--r--term/key_a3.c11
-rw-r--r--term/key_b2.c11
-rw-r--r--term/key_backspace.c11
-rw-r--r--term/key_beg.c11
-rw-r--r--term/key_btab.c11
-rw-r--r--term/key_c1.c11
-rw-r--r--term/key_c3.c11
-rw-r--r--term/key_cancel.c11
-rw-r--r--term/key_catab.c11
-rw-r--r--term/key_clear.c11
-rw-r--r--term/key_close.c11
-rw-r--r--term/key_command.c11
-rw-r--r--term/key_copy.c11
-rw-r--r--term/key_create.c11
-rw-r--r--term/key_ctab.c11
-rw-r--r--term/key_dc.c11
-rw-r--r--term/key_dl.c11
-rw-r--r--term/key_down.c11
-rw-r--r--term/key_eic.c11
-rw-r--r--term/key_end.c11
-rw-r--r--term/key_enter.c11
-rw-r--r--term/key_eol.c11
-rw-r--r--term/key_eos.c11
-rw-r--r--term/key_exit.c11
-rw-r--r--term/key_f0.c11
-rw-r--r--term/key_f1.c11
-rw-r--r--term/key_f10.c11
-rw-r--r--term/key_f11.c11
-rw-r--r--term/key_f12.c11
-rw-r--r--term/key_f13.c11
-rw-r--r--term/key_f14.c11
-rw-r--r--term/key_f15.c11
-rw-r--r--term/key_f16.c11
-rw-r--r--term/key_f17.c11
-rw-r--r--term/key_f18.c11
-rw-r--r--term/key_f19.c11
-rw-r--r--term/key_f2.c11
-rw-r--r--term/key_f20.c11
-rw-r--r--term/key_f21.c11
-rw-r--r--term/key_f22.c11
-rw-r--r--term/key_f23.c11
-rw-r--r--term/key_f24.c11
-rw-r--r--term/key_f25.c11
-rw-r--r--term/key_f26.c11
-rw-r--r--term/key_f27.c11
-rw-r--r--term/key_f28.c11
-rw-r--r--term/key_f29.c11
-rw-r--r--term/key_f3.c11
-rw-r--r--term/key_f30.c11
-rw-r--r--term/key_f31.c11
-rw-r--r--term/key_f32.c11
-rw-r--r--term/key_f33.c11
-rw-r--r--term/key_f34.c11
-rw-r--r--term/key_f35.c11
-rw-r--r--term/key_f36.c11
-rw-r--r--term/key_f37.c11
-rw-r--r--term/key_f38.c11
-rw-r--r--term/key_f39.c11
-rw-r--r--term/key_f4.c11
-rw-r--r--term/key_f40.c11
-rw-r--r--term/key_f41.c11
-rw-r--r--term/key_f42.c11
-rw-r--r--term/key_f43.c11
-rw-r--r--term/key_f44.c11
-rw-r--r--term/key_f45.c11
-rw-r--r--term/key_f46.c11
-rw-r--r--term/key_f47.c11
-rw-r--r--term/key_f48.c11
-rw-r--r--term/key_f49.c11
-rw-r--r--term/key_f5.c11
-rw-r--r--term/key_f50.c11
-rw-r--r--term/key_f51.c11
-rw-r--r--term/key_f52.c11
-rw-r--r--term/key_f53.c11
-rw-r--r--term/key_f54.c11
-rw-r--r--term/key_f55.c11
-rw-r--r--term/key_f56.c11
-rw-r--r--term/key_f57.c11
-rw-r--r--term/key_f58.c11
-rw-r--r--term/key_f59.c11
-rw-r--r--term/key_f6.c11
-rw-r--r--term/key_f60.c11
-rw-r--r--term/key_f61.c11
-rw-r--r--term/key_f62.c11
-rw-r--r--term/key_f63.c11
-rw-r--r--term/key_f7.c11
-rw-r--r--term/key_f8.c11
-rw-r--r--term/key_f9.c11
-rw-r--r--term/key_find.c11
-rw-r--r--term/key_help.c11
-rw-r--r--term/key_home.c11
-rw-r--r--term/key_ic.c11
-rw-r--r--term/key_il.c11
-rw-r--r--term/key_left.c11
-rw-r--r--term/key_ll.c11
-rw-r--r--term/key_mark.c11
-rw-r--r--term/key_message.c11
-rw-r--r--term/key_mouse.c11
-rw-r--r--term/key_move.c11
-rw-r--r--term/key_next.c11
-rw-r--r--term/key_npage.c11
-rw-r--r--term/key_open.c11
-rw-r--r--term/key_options.c11
-rw-r--r--term/key_ppage.c11
-rw-r--r--term/key_previous.c11
-rw-r--r--term/key_print.c11
-rw-r--r--term/key_redo.c11
-rw-r--r--term/key_reference.c11
-rw-r--r--term/key_refresh.c11
-rw-r--r--term/key_replace.c11
-rw-r--r--term/key_restart.c11
-rw-r--r--term/key_resume.c11
-rw-r--r--term/key_right.c11
-rw-r--r--term/key_save.c11
-rw-r--r--term/key_sbeg.c11
-rw-r--r--term/key_scancel.c11
-rw-r--r--term/key_scommand.c11
-rw-r--r--term/key_scopy.c11
-rw-r--r--term/key_screate.c11
-rw-r--r--term/key_sdc.c11
-rw-r--r--term/key_sdl.c11
-rw-r--r--term/key_select.c11
-rw-r--r--term/key_send.c11
-rw-r--r--term/key_seol.c11
-rw-r--r--term/key_sexit.c11
-rw-r--r--term/key_sf.c11
-rw-r--r--term/key_sfind.c11
-rw-r--r--term/key_shelp.c11
-rw-r--r--term/key_shome.c11
-rw-r--r--term/key_sic.c11
-rw-r--r--term/key_sleft.c11
-rw-r--r--term/key_smessage.c11
-rw-r--r--term/key_smove.c11
-rw-r--r--term/key_snext.c11
-rw-r--r--term/key_soptions.c11
-rw-r--r--term/key_sprevious.c11
-rw-r--r--term/key_sprint.c11
-rw-r--r--term/key_sr.c11
-rw-r--r--term/key_sredo.c11
-rw-r--r--term/key_sreplace.c11
-rw-r--r--term/key_sright.c11
-rw-r--r--term/key_srsume.c11
-rw-r--r--term/key_ssave.c11
-rw-r--r--term/key_ssuspend.c11
-rw-r--r--term/key_stab.c11
-rw-r--r--term/key_sundo.c11
-rw-r--r--term/key_suspend.c11
-rw-r--r--term/key_undo.c11
-rw-r--r--term/key_up.c11
-rw-r--r--term/keypad_local.c11
-rw-r--r--term/keypad_xmit.c11
-rw-r--r--term/lab_f0.c11
-rw-r--r--term/lab_f1.c11
-rw-r--r--term/lab_f10.c11
-rw-r--r--term/lab_f2.c11
-rw-r--r--term/lab_f3.c11
-rw-r--r--term/lab_f4.c11
-rw-r--r--term/lab_f5.c11
-rw-r--r--term/lab_f6.c11
-rw-r--r--term/lab_f7.c11
-rw-r--r--term/lab_f8.c11
-rw-r--r--term/lab_f9.c11
-rw-r--r--term/label_format.c11
-rw-r--r--term/label_height.c11
-rw-r--r--term/label_off.c11
-rw-r--r--term/label_on.c11
-rw-r--r--term/label_width.c11
-rw-r--r--term/lines.c11
-rw-r--r--term/lines_of_memory.c11
-rw-r--r--term/lpi_changes_res.c11
-rw-r--r--term/magic_cookie_glitch.c11
-rw-r--r--term/max_attributes.c11
-rw-r--r--term/max_colors.c11
-rw-r--r--term/max_micro_address.c11
-rw-r--r--term/max_micro_jump.c11
-rw-r--r--term/max_pairs.c11
-rw-r--r--term/maximum_windows.c11
-rw-r--r--term/memory_above.c11
-rw-r--r--term/memory_below.c11
-rw-r--r--term/meta_off.c11
-rw-r--r--term/meta_on.c11
-rw-r--r--term/micro_col_size.c11
-rw-r--r--term/micro_colum_address.c11
-rw-r--r--term/micro_down.c11
-rw-r--r--term/micro_left.c11
-rw-r--r--term/micro_line_size.c11
-rw-r--r--term/micro_right.c11
-rw-r--r--term/micro_row_address.c11
-rw-r--r--term/micro_up.c11
-rw-r--r--term/mouse_info.c11
-rw-r--r--term/move_insert_mode.c11
-rw-r--r--term/move_standout_mode.c11
-rw-r--r--term/needs_xon_xoff.c11
-rw-r--r--term/newline.c11
-rw-r--r--term/no_color_video.c11
-rw-r--r--term/no_esc_ctlc.c11
-rw-r--r--term/no_pad_char.c11
-rw-r--r--term/non_dest_scroll_region.c11
-rw-r--r--term/non_rev_rmcup.c11
-rw-r--r--term/num_labels.c11
-rw-r--r--term/number_of_pins.c11
-rw-r--r--term/order_of_pins.c11
-rw-r--r--term/orig_colors.c11
-rw-r--r--term/orig_pair.c11
-rw-r--r--term/output_res_char.c11
-rw-r--r--term/output_res_horz_inch.c11
-rw-r--r--term/output_res_line.c11
-rw-r--r--term/output_res_vert_inch.c11
-rw-r--r--term/over_strike.c11
-rw-r--r--term/pad_char.c11
-rw-r--r--term/padding_baud_rate.c11
-rw-r--r--term/parm_dch.c11
-rw-r--r--term/parm_delete_line.c11
-rw-r--r--term/parm_down_cursor.c11
-rw-r--r--term/parm_down_micro.c11
-rw-r--r--term/parm_ich.c11
-rw-r--r--term/parm_index.c11
-rw-r--r--term/parm_insert_line.c11
-rw-r--r--term/parm_left_cursor.c11
-rw-r--r--term/parm_left_micro.c11
-rw-r--r--term/parm_right_cursor.c11
-rw-r--r--term/parm_right_micro.c11
-rw-r--r--term/parm_rindex.c11
-rw-r--r--term/parm_up_cursor.c11
-rw-r--r--term/parm_up_micro.c11
-rw-r--r--term/pc_term_options.c11
-rw-r--r--term/pkey_key.c11
-rw-r--r--term/pkey_local.c11
-rw-r--r--term/pkey_plab.c11
-rw-r--r--term/pkey_xmit.c11
-rw-r--r--term/plab_norm.c11
-rw-r--r--term/print_rate.c11
-rw-r--r--term/print_screen.c11
-rw-r--r--term/prtr_non.c11
-rw-r--r--term/prtr_off.c11
-rw-r--r--term/prtr_on.c11
-rw-r--r--term/prtr_silent.c11
-rw-r--r--term/pulse.c11
-rw-r--r--term/putp.c12
-rw-r--r--term/quick_dial.c11
-rw-r--r--term/remove_clock.c11
-rw-r--r--term/repeat_char.c11
-rw-r--r--term/req_for_input.c11
-rw-r--r--term/req_mouse_pos.c11
-rw-r--r--term/reset_1string.c11
-rw-r--r--term/reset_2string.c11
-rw-r--r--term/reset_3string.c11
-rw-r--r--term/reset_file.c11
-rw-r--r--term/restartterm.c11
-rw-r--r--term/restore_cursor.c11
-rw-r--r--term/row_addr_glitch.c11
-rw-r--r--term/row_address.c11
-rw-r--r--term/save_cursor.c11
-rw-r--r--term/scancode_escape.c11
-rw-r--r--term/scroll_forward.c11
-rw-r--r--term/scroll_reverse.c11
-rw-r--r--term/seT_top_margin.c11
-rw-r--r--term/select_char_set.c11
-rw-r--r--term/semi_auto_right_margin.c11
-rw-r--r--term/set0_des_seq.c11
-rw-r--r--term/set1_des_seq.c11
-rw-r--r--term/set2_des_seq.c11
-rw-r--r--term/set3_des_seq.c11
-rw-r--r--term/set_a_attributes.c11
-rw-r--r--term/set_a_background.c11
-rw-r--r--term/set_a_foreground.c11
-rw-r--r--term/set_attributes.c11
-rw-r--r--term/set_background.c11
-rw-r--r--term/set_bottom_margin.c11
-rw-r--r--term/set_bottom_margin_parm.c11
-rw-r--r--term/set_clock.c11
-rw-r--r--term/set_color_band.c11
-rw-r--r--term/set_color_pair.c11
-rw-r--r--term/set_curterm.c11
-rw-r--r--term/set_foreground.c11
-rw-r--r--term/set_left_margin.c11
-rw-r--r--term/set_left_margin_parm.c11
-rw-r--r--term/set_lr_margin.c11
-rw-r--r--term/set_page_length.c11
-rw-r--r--term/set_pglen_inch.c11
-rw-r--r--term/set_right_margin.c11
-rw-r--r--term/set_right_margin_parm.c11
-rw-r--r--term/set_tab.c11
-rw-r--r--term/set_tb_margin.c11
-rw-r--r--term/set_top_margin_parm.c11
-rw-r--r--term/set_window.c11
-rw-r--r--term/setupterm.c11
-rw-r--r--term/start_bit_image.c11
-rw-r--r--term/start_char_set_def.c11
-rw-r--r--term/status_line_esc_ok.c11
-rw-r--r--term/stop_bit_image.c11
-rw-r--r--term/stop_char_set_def.c11
-rw-r--r--term/subscript_characters.c11
-rw-r--r--term/superscript_characters.c11
-rw-r--r--term/tab.c11
-rw-r--r--term/tgetent.c14
-rw-r--r--term/tgetflag.c61
-rw-r--r--term/tgetnum.c57
-rw-r--r--term/tgetstr.c424
-rw-r--r--term/tgoto.c11
-rw-r--r--term/these_cause_cr.c11
-rw-r--r--term/tigetflag.c11
-rw-r--r--term/tigetnum.c11
-rw-r--r--term/tigetstr.c11
-rw-r--r--term/tilde_glitch.c11
-rw-r--r--term/tiparm.c11
-rw-r--r--term/to_status_line.c11
-rw-r--r--term/tone.c11
-rw-r--r--term/tparm.c11
-rw-r--r--term/tputs.c11
-rw-r--r--term/transparent_underline.c11
-rw-r--r--term/underline_char.c11
-rw-r--r--term/up_half_line.c11
-rw-r--r--term/user0.c11
-rw-r--r--term/user1.c11
-rw-r--r--term/user2.c11
-rw-r--r--term/user3.c11
-rw-r--r--term/user4.c11
-rw-r--r--term/user5.c11
-rw-r--r--term/user6.c11
-rw-r--r--term/user7.c11
-rw-r--r--term/user8.c11
-rw-r--r--term/user9.c11
-rw-r--r--term/virtual_terminal.c11
-rw-r--r--term/wait_tone.c11
-rw-r--r--term/wide_char_size.c11
-rw-r--r--term/width_status_line.c11
-rw-r--r--term/xoff_character.c11
-rw-r--r--term/xon_character.c11
-rw-r--r--term/xon_xoff.c11
-rw-r--r--term/zero_motion.c11
-rw-r--r--txttoc.sh16
-rw-r--r--unctrl/chtype.ref3
-rw-r--r--unctrl/unctrl.c29
899 files changed, 9950 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..d3399f6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.o
+*.a
+*.so
diff --git a/BOOLS.txt b/BOOLS.txt
new file mode 100644
index 0000000..fbf61e3
--- /dev/null
+++ b/BOOLS.txt
@@ -0,0 +1,37 @@
+auto_left_margin bw bw TERMCAP(cub1) wraps from column 0 to last column
+auto_right_margin am am terminal has automatic margins
+back_color_erase bce ut screen erased with background color
+can_change ccc cc terminal can re-define exising color
+ceol_standout_glitch xhp xs standout not erased by overwriting
+col_addr_glitch xhpa YA only positive motion for TERMCAP(hpa)/TERMCAP(mhpa)
+cpi_change_res cpix YF changing character pitch changes resolution
+cr_cancles_micro_mode crxm YB using TERMCAP(cr) turns off micro mode
+dest_tabs_magic_smso xt xt destructive tabs, magic TERMCAP(smso)
+eat_newline_glitch xenl xn newline ignored after 80 columns
+erase_overstrick eo eo can erase overstrikes with a blank
+generic_type gn gn generic line type
+hard_copy hc hc hardcopy terminal
+hard_cursor chts HC cursor is hard to see
+has_meta_key km km has a meta key
+has_print_wheel daisy YC printer needs operator to change character set
+has_status_line hs hs has extra "status line"
+hue_lightness_saturation hls hl terminal uses only HLS color notation
+insert_null_glitch in in insert mode distinguishes nulls
+lpi_changes_res lpix YG changing line pitch changes resolution
+memory_above da da display may be retained above the screen
+memory_below db db display may be retained below the screen
+move_insert_mode mir mi safe to move while in insert mode
+move_standout_mode msgr ms safe to move in standout modes
+needs_xon_xoff nxon nx padding won't work, xon/xoff required
+no_esc_ctlc xsb xb beehive (f1=escape, f2=ctrl-C)
+no_pad_char npc NP pad character doesn't exist
+non_dest_scroll_region ndscr ND scrolling region is nondestructive
+non_rev_rmcup nrrmc NR TERMCAP(smcup) does not reverse TERMCAP(rmcup)
+over_strike os os terminal overstrikes on hard-copy terminal
+prtr_silent mc5i 5i printer won't echo on screen
+row_addr_glitch xvpa YD only positive motion for TERMCAP(vpa)/TERMCAP(mvpa)
+semi_auto_right_margin sam YE printing in last column causes TERMCAP(cr)
+status_line_esc_ok eslok es escape can be used on the status line
+tilde_glitch hz hz can't print tilde (~)
+transparent_underline ul ul underline character overstrikes
+xon_xoff xon xo terminal uses xon/xoff handshaking
diff --git a/NUMBERS.txt b/NUMBERS.txt
new file mode 100644
index 0000000..7d6a2b2
--- /dev/null
+++ b/NUMBERS.txt
@@ -0,0 +1,33 @@
+bit_image_entwining bitwin Yo numbe of passes for each bit-map row
+bit_image_type bitype Yp type of bit image device
+buffer_capacity bufsz Ya number of bytes buffered before printing
+buttons btns BT number of buttons on the mouse
+columns cols co number of columns in a line
+dot_horz_spacing spinh Yc spacing of dots horizontally in dots per inch
+dot_vert_spacing spinv Yb spacing of pins vertically in pins per inch
+init_tabs it it tabs initially every # spaces
+label_height lh lh number of rows in each label
+label_width lw lw number of columns in each label
+lines lines li number of lines on a screen or a page
+lines_of_memory lm lm lines of memory if > TERMCAP(lines); 0 = varies
+max_attributes ma ma maximum combined video attributes terminal can display
+magic_cookie_glitch xmc sg number of blank characters left by TERMCAP(smso) or TERMCAP(rmso)
+max_colors colors Co maximum numbe of colors on the screen
+max_micro_address maddr Yd maximum value in TERMCAP(micro_..._address)
+max_micro_jump mjump Ye maximum value in TERMCAP(parm_..._micro)
+max_pairs pairs pa maximum number of color pairs on the screen
+maximum_windows wnum MW maximum number of definable windows
+micro_col_size mcs Yf character step size when in micro mode
+micro_line_size mls Yg line step size when in micro mode
+no_color_video ncv NC video attributes that can't be used with colors
+num_labels nlab Nl numbe of labels on screen (start at 1)
+number_of_pins npins Yh number of pins in print-head
+output_res_char orc Yi horizontal resolution in units per character
+output_res_line orl Yj vertical resolution in units per line
+output_res_horz_inch orhi Yk horizontal resolution in units per inch
+output_res_vert_inch orvi Yl vertical resolution in units per inch
+padding_baud_rate pb pb lowest baud rate where padding needed
+print_rate cps Ym print rate in characters per second
+virtual_terminal vt vt virtual terminal number
+wide_char_size widcs Yn character step size when in double-wide mode
+width_status_line wsl ws number of columns in a status line
diff --git a/STRINGS.txt b/STRINGS.txt
new file mode 100644
index 0000000..c299601
--- /dev/null
+++ b/STRINGS.txt
@@ -0,0 +1,394 @@
+acs_chars acsc ac graphic charset paris aAbBcC
+alt_scancode_esc scesa S8 alternate escape for scancode emulation
+back_tab cbt bt back tab
+bell bel bl audible signal (bell)
+bit_image_carriage_return bicr Yv move to beginning of same row
+bit_image_newline binel Zz move to next row of the bit image
+bit_image_repeat birep Xy repeate bit-image cell #1 #2 times
+carriage_return cr cr carriage return
+change_char_pitch cpi ZA change number of characters per inch
+change_line_pitch lpi ZB change number of lines per inch
+change_res_horz chr ZC change horizontal resolution
+change_res_vert cvr ZD change vertical resolution
+change_scroll_region csr cs change to lines #1 through #2
+char_padding rmp rP like TERMCAP(ip) but when in replace mode
+char_set_names csnm Zy return a list of character set names
+clear_all_tabs tbc ct clear all tab stops
+clear_margins mgc MC clear all margins (top, bottom, and sides)
+clear_screen clear cl clear screen and home cursor
+clr_bol el1 cb clear to beginning of line, inclusive
+clr_eol el ce clear to end of line
+clr_eos el ce clear to end of display
+code_set_init csin ci init sequence for multiple codesets
+color_names colornm Yw give name for color #1
+column_address hpa ch set horizontal position to absolute #1
+command_character cmdch CC terminal settable cmd character in prototype
+create_window cwin CW define window #1 to go from #2,#3 to #4,#5
+cursor_address cup cm move to row #1 col #2
+cursor_down cudl do down one line
+cursor_home home ho home cursor (if no TERMCAP(cup))
+cursor_invisible civis vi make cursor invisible
+cursor_left cubl le move left one space
+cursor_mem_address mrcup CM memory relative cursor addressing
+cursor_normal cnorm ve make cursor appear normal
+cursor_right cufl nd non-destructive space (cursor or carriage right)
+cursor_to_ll ll ll last line, first column (if no (TERMCAP(cup))
+cursor_up cuul up upline (cursor up)
+cursor_visible cvvis vs make cursor very visible
+define_bit_image_region defbi Yx define rectangular bit-image region
+define_char defc ZE define a character in a character set
+delete_character dchl dc delete character
+delete_line dll dl delete line
+device_type devt dv indicate language/codeset support
+dial_phone dial DI dial phone number #1
+dis_status_line dsl ds disable status line
+display_clock dclk DK display time-of-dat clock
+display_pc_char dispc S1 display PC character
+down_half_line hd hd half-line down (forward 1/2 linefeed)
+ena_acs enacs eA enable alternate character set
+end_bit_image_region endbi Yy end a bit-image region
+enter_alt_charset_mode smacs as start alternate character set
+enter_am_mode smam SA turn on automatic margins
+enter_blink_mode blink mb turn on blinking
+enter_bold_mode bold md turn on bold (extra bright) mode
+enter_ca_mode smcup ti string to being programs that use TERMCAP(cup)
+enter_delete_mode smdc dm delete mode (enter)
+enter_dim_mode dim mh turn on half-bright mode
+enter_doublewide_mode swidm ZF enable double wide printing
+enter_draft_quality sdrfq ZG set draf quality print
+enter_horizontal_hl_mode ehhlm -- turn on horizontal highlight mode
+enter_insert_mode smir im insert mode (enter)
+enter_italics_mode sitm im enable italics
+enter_left_hl_mode elhlm -- turn on left highlight mode
+enter_leftward_mode slm ZI enable leftware carriage motion
+enter_low_hl_mode elohlm -- turn on low highlight mode
+enter_micro_code smicm ZJ enable micro motion capabilities
+enter_near_letter_quality snlq ZJ set near-letter quality print
+enter_normal_quality snrmq ZL set normal quality print
+enter_pc_charset_mode smpch S2 enter PC character display mode
+enter_protected_mode prot mp turn on protected mode
+enter_reverse_mode rev mr turn on reverse video mode
+enter_right_hl_mode erhlm -- turn on right highlight mode
+enter_scancode_mode smsc S4 enter PC scancode mode
+enter_secure_mode invis mk turn on blank mode (characters invisible)
+enter_shadow_mode sshm ZM enable shadow printing
+enter_standout_mode smso so begin standout mode
+enter_subscript_mode ssubm ZN enable subscript printing
+enter_superscript_mode ssupm ZO enable superscript printing
+enter_top_hl_mode ethlm -- turn on top highlight mode
+enter_underline_mode smul us start underscore mode
+enter_upward_mode sum ZP enable upward carriage motion
+enter_vertical_hl_mode evhlm -- turn on vertical highlight mode
+enter_xon_mode smxon SX turn on xon/xoff handshaking
+erase_chars ech ec erase #1 chars
+exit_alt_charset_mode rmacs ae end alternate character set
+exit_am_mode rmam RA turn off automagic margins
+exit_attribute_mode sgr0 me turn off all attributes
+exit_ca_mode rmcup te string to end programs that use TERMCAP(cup)
+exit_delete_mode rmdc ed end delete mode
+exit_doublewide_mode rwidm ZQ disable double wide printing
+exit_insert_mode rmir ei end insert mode
+exit_italics_mode ritm ZR disable italics
+exit_leftword_mode rlim ZS enable rightward (normal) carriage motion
+exit_micro_mode rmicm ZT disable micro motion capabilities
+exit_pc_charset_mode rmpch S3 disable PC character display mode
+exit_scancode_mode rmcs S5 disable PC scancode mode
+exit_shadow_mode rshm ZU disable shadow printing
+exit_standout_mode rmso se end standout mode
+exit_subscript_mode rsubm ZV dsiable subscript printing
+exit_superscript_mode rsupm ZW disable superscript printing
+exit_underline_mode rmul ue end underscore mode
+exit_upward_mode rum ZX enable downward (normal) carriage motion
+exit_xon_mode rmxon RX turn off xon/xoff handshaking
+fixed_pause pause PA pause for 2-3 seconds
+flash_hook hook fh flash the switch hook
+flash_screen flash vb visible bell (may move cursor)
+form_feed ff ff hardcopy terminal page eject
+from_status_line fsl fs return from status line
+get_mouse getm Gm curses should get button events
+goto_window wingo WG go to window #1
+hangup hup HU hang up phone
+init_1string is1 i1 terminal or printer initialization string
+init_2string is2 i2 terminal or printer initialization string
+init_3string is3 i3 terminal or printer initialization string
+init_file if if name of initialization file
+init_prog iprog iP path name of program for initialization
+initialize_color initc IC set color #1 to RGB #2,#3,#4
+initialize_pair initp Ip set color pair #1 to fg #2, bg #3
+insert_character ichl ic insert character
+insert_line ill al add a new blank line
+insert_padding ip ip insert pad after characters inserted
+key_a1 ka1 K1 upper left of keypad
+key_a3 ka3 K3 upper right of keypad
+key_b2 kb2 K2 center of keypad
+key_backspace kbs kb backspace key
+key_beg kbeg @1 beg(inning) key
+key_btab kcbt kB back-tab key
+key_c1 kc1 K4 lower left of keypad
+key_c3 kc3 K5 lower right of keypad
+key_cancel kcan @2 cancel key
+key_catab ktbc ka clear-all-tabs key
+key_clear kclr kC clear-screen or erase key
+key_close kclo @3 close key
+key_command kcmd @4 cmd (command) key
+key_copy kcpy @5 copy key
+key_create kcrt @6 create key
+key_ctab kctab kt clear-tab key
+key_dc kdchl kD delete-character key
+key_dl kdll kL delete-line key
+key_down kcudl kd down-arrow key
+key_eic krmir kM TERMCAP(rmir) or TERMCAP(smir) in insert mode
+key_end kend @7 end key
+key_enter kent @8 enter/send key
+key_eol kel kE clear-to-end-of-line key
+key_eos ked kS clear-to-end-of-screen key
+key_exit kext @9 exit key
+key_f0 kf0 k0 f0 key
+key_f1 kf1 k1 f1 key
+key_f2 kf2 k2 f2 key
+key_f3 kf3 k3 f3 key
+key_f4 kf4 k4 f4 key
+key_f5 kf5 k5 f5 key
+key_f6 kf6 k6 f6 key
+key_f7 kf7 k7 f7 key
+key_f8 kf8 k8 f8 key
+key_f9 kf9 k9 f9 key
+key_f10 kf10 ka f10 key
+key_f11 kf11 kb f11 key
+key_f12 kf12 kc f12 key
+key_f13 kf13 kd f13 key
+key_f14 kf14 ke f14 key
+key_f15 kf15 kf f15 key
+key_f16 kf16 kg f16 key
+key_f17 kf17 kh f17 key
+key_f18 kf18 ki f18 key
+key_f19 kf19 kj f19 key
+key_f20 kf20 kk f20 key
+key_f21 kf21 kl f21 key
+key_f22 kf22 km f22 key
+key_f23 kf23 kn f23 key
+key_f24 kf24 ko f24 key
+key_f25 kf25 kp f25 key
+key_f26 kf26 kq f26 key
+key_f27 kf27 kr f27 key
+key_f28 kf28 ks f28 key
+key_f29 kf29 kt f29 key
+key_f30 kf30 ku f30 key
+key_f31 kf31 kv f31 key
+key_f32 kf32 kw f32 key
+key_f33 kf33 kx f33 key
+key_f34 kf34 ku f34 key
+key_f35 kf35 Fz f35 key
+key_f36 kf36 F0 f36 key
+key_f37 kf37 F1 f37 key
+key_f38 kf38 F2 f38 key
+key_f39 kf39 F3 f39 key
+key_f40 kf40 F4 f40 key
+key_f41 kf41 F5 f41 key
+key_f42 kf42 F6 f42 key
+key_f43 kf43 F7 f43 key
+key_f44 kf44 F8 f44 key
+key_f45 kf45 F9 f45 key
+key_f46 kf46 Fa f46 key
+key_f47 kf47 Fb f47 key
+key_f48 kf48 Fc f48 key
+key_f49 kf49 Fd f49 key
+key_f50 kf50 Fe f50 key
+key_f51 kf51 Ff f51 key
+key_f52 kf52 Fg f52 key
+key_f53 kf53 Fh f53 key
+key_f54 kf54 Fi f54 key
+key_f55 kf55 Fj f55 key
+key_f56 kf56 Fk f56 key
+key_f57 kf57 Fl f57 key
+key_f58 kf58 Fm f58 key
+key_f59 kf59 Fn f59 key
+key_f60 kf60 Fo f60 key
+key_f61 kf61 Fp f61 key
+key_f62 kf62 Fq f62 key
+key_f63 kf63 Fr f63 key
+key_find kfnd @0 find key
+key_help khlp %1 help key
+key_home khome kh home key
+key_ic kichl kI insert key
+key_il kill kA insert-line key
+key_left kcubl kl left-arrow key
+key_ll kll kH home-down key
+key_mark kmrk %2 mark key
+key_message kmsg %3 message key
+key_mouse kmous Km mouse event has occured
+key_move kmov %4 move key
+key_next knxt %5 next-object key
+key_npage knp kN next-page key
+key_open kopn %6 open key
+key_options kopt %7 options key
+key_ppage kpp kP previous-page key
+key_previous kprv %8 previous-object key
+key_print kprt %9 print or copy key
+key_redo krdo %0 redo key
+key_reference kref &1 ref(erence) key
+key_refresh krfr &2 refresh key
+key_replace krpl &3 replace key
+key_restart krst &4 restart key
+key_resume kres &5 resume key
+key_right kcufl kr right-arrow key
+key_save ksav &6 save key
+key_sbeg kBEG &9 shift+beg(innning) key
+key_scancel kCAN &0 shift+cancel key
+key_scommand kCMD *1 shift+command key
+key_scopy kCPY *2 shift+copy key
+key_screate kCRT *3 shift+create key
+key_sdc kDC *4 shift+delete-char key
+key_sdl kDL *5 shift+delete-line key
+key_select kslt *6 select key
+key_send kEND *7 shift+end key
+key_seol kEOL *8 shift+clear-line key
+key_sexit kEXT *9 shift+exit key
+key_sf kind kF scroll-forward/down key
+key_sfind kFND *0 shift+find key
+key_shelp kHLP #1 shift+help key
+key_shome kHOM #2 shift+home key
+key_sic iIC #3 shift+input key
+key_sleft kLFT #4 shift+left-arrow key
+key_smessage kMSG %a shift+message key
+key_smove kMOV %b shift+move key
+key_snext kNXT %c shift+next key
+key_soptions kOPT %d shift+options key
+key_sprevious kPRV %e shift+prev key
+key_sprint kPRT %f shift+print key
+key_sr kri kR scroll-backward/up key
+key_sredo kRDO %g shift+redo key
+key_sreplace kRPL %h shift+replace key
+key_sright kRIT %i shift+right-arrow key
+key_srsume kRES %j shift+resume key
+key_ssave kSAV !1 shift+save key
+key_ssuspend kSPD !2 shift+suspend key
+key_stab khts kT set-tab key
+key_sundo sUND !3 shift+undo key
+key_suspend kspd &7 suspend key
+key_undo kund &8 undo key
+key_up kcuul ku up-arrow key
+keypad_local rmkx ke out of "keypad-transmit" mode
+keypad_xmit smkx ks put terminal in "keypad-transmit" mode
+lab_f0 lf0 l0 label on function key f0 if not f0
+lab_f1 lf1 l1 label on function key f1 if not f1
+lab_f2 lf2 l2 label on function key f2 if not f2
+lab_f3 lf3 l3 label on function key f3 if not f3
+lab_f4 lf4 l4 label on function key f4 if not f4
+lab_f5 lf5 l5 label on function key f5 if not f5
+lab_f6 lf6 l6 label on function key f6 if not f6
+lab_f7 lf7 l7 label on function key f7 if not f7
+lab_f8 lf8 l8 label on function key f8 if not f8
+lab_f9 lf9 l9 label on function key f9 if not f9
+lab_f10 lf10 la label on function key f10 if not f10
+label_format fln Lf label format
+label_off rmln LF turn off soft labels
+label_on smln LO turn on soft labels
+meta_off rmm mo turn off "meta mode"
+meta_on smm mm turn on "meta mode" (8th bit)
+micro_colum_address mhpa ZY like TERMCAP(column_address) for micro adjustment
+micro_down mcudl ZZ like TERMCAP(cursor_down) for micro adjustment
+micro_left mcubl Za like TERMCAP(cursor_left) for micro adjustment
+micro_right mcufl Zb like TERMCAP(cursor_right) for micro adjustment
+micro_row_address mvpa Zc like TERMCAP(row_address) for micro adjustment
+micro_up mcuul Zd like TERMCAP(cursor_up) for micro adjustment
+mouse_info minfo Mi mouse status information
+newline nel nw newline (behaves like TERMCAP(cr) followed by TERMCAP(lf))
+order_of_pins porder Ze matches software bits to print-head pins
+orig_colors oc oc set all colors and color pairs to original
+orig_pair op op set default color pair to original
+pad_char pad pc pd characters (rather than null)
+parm_dch dch DC delete #1 chars
+parm_delete_line dl DL delete #1 lines
+parm_down_cursor cud DO move down #1 lines
+parm_down_micro mcud Zf like TERMCAP(parm_down_cursor) for micro adjustment
+parm_ich ich IC insert #1 blank characters
+parm_index indn SF scroll forward #1 lines
+parm_insert_line il AL add #1 new blank lines
+parm_left_cursor cub LE move cursor left #1 spaces
+parm_left_micro mcub Zg like TERMCAP(parm_left_cursor) for micro adjustment
+parm_right_cursor cuf RI move right #1 spaces
+parm_right_micro mcuf Zh like TERMCAP(parm_right_cursor) for micro adjustment
+parm_rindex rin SR scroll backward #1 lines
+parm_up_cursor cuu UP move cursor up #1 lines
+parm_up_micro mcuu Zi like TERMCAP(parm_up_cusor) for micro adjustment
+pc_term_options pctrm S6 PC terminal options
+pkey_key pfkey pk program function key #1 to type string #2
+pkey_local pfloc pl program function key #1 to execute string #2
+pkey_plab pfxl xl program function key #1 to transmit string #2 and show string #3
+pkey_xmit pfx px program function key #1 to transmit string #2
+plab_norm pln pn program label #1 to show string #2
+print_screen mc0 ps print contents of the screen
+prtr_non mc5p p0 turn on printer for #1 bytes
+prtr_off mc4 pf turn off printer
+prtr_on mc5 po turn on printer
+pulse pulse PU select pulse dialing
+quick_dial qdial QD dial phone number #1 without progress detection
+remove_clock rmclk RC remove time-of-day clock
+repeat_char rep rp repeat character #1 #2 times
+req_for_input rfi RF send next input character
+req_mouse_pos reqmp RQ request mouse position report
+reset_1string rs1 r1 reset terminal completely to sane modes
+reset_2string rs2 r2 reset terminal completely to sane modes
+reset_3string rs3 r3 reset terminal completely to sane modes
+reset_file rf rf name of file containing reset string
+restore_cursor rc rc restore cursor to position of last sc
+row_address vpa cv set vertical position to absolute #1
+save_cursor sc sc save cursor position
+scancode_escape scesc S7 escape for scancode emulation
+scroll_forward ind sf scroll text up
+scroll_reverse ri sr scroll text down
+select_char_set scs Zj select character set
+set0_des_seq s0ds s0 shift into codeset 0 (EUC set 0, ASCII)
+set1_des_seq s1ds s1 shift into codeset 1
+set2_des_seq s2ds s2 shift into codeset 2
+set3_des_seq s3ds s3 shift into codeset 3
+set_a_attributes sgrl -- define second set of video attributes #1-#6
+set_a_background setab AB set background color to #1 using ANSI escape
+set_a_foreground setaf AF set foreground color to #1 using ANSI escape
+set_attributes sgr sa define first set of video attributes #1-#9
+set_background setb Sb set background color to #1
+set_bottom_margin smgb Zk set bottom margin at current line
+set_bottom_margin_parm smgbp Zl set bototm margin at line #1 or #2 lines from bottom
+set_clock sclk SC set clock to #1 hours, #2 minutes, #3 seconds
+set_color_band setcolor Yz change to ribbon color #1
+set_color_pair scp sp set current color pair to #1
+set_foreground setf Sf set foreground color to #1
+set_left_margin smgl ML set left margin at current column
+set_left_margin_parm smglp Zm set left (right) margin at column #1 (#2)
+set_lr_margin smglr ML set both left and right margins
+set_page_length slines YZ set page length to #1 lines
+set_pglen_inch slength YI set page length to #1 hundredths of an inch
+set_right_margin smgr MR set right margin at current column
+set_right_margin_parm smgrp Zn set right margin at column #1
+set_tab hts st set a tab in all rows at the current column
+set_tb_margin smgtb MT sets both top and bottom margins
+seT_top_margin smgt Zo set top margin at current line
+set_top_margin_parm smgtp Zp set top (bottom) margin at line #1 (#2)
+set_window wind wi current window is lines #1-#2, columns #3-#4
+start_bit_image sbim Zq start printing bit image graphics
+start_char_set_def scsd Zr start definition of a character set
+stop_bit_image rbim Zs end printing bit image graphics
+stop_char_set_def rcsd Zt end definition of a character set
+subscript_characters subcs Zu list of "subscriptable" characters
+superscript_characters supcs Zv list of "superscriptable" characters
+tab ht ta tab to next 8-space hardware tab stop
+these_cause_cr docr Zw printing any of these characters causes TERMCAP(cr)
+to_status_line tsl ts go to status line, col #1
+tone tone TO select touch tone dialing
+user0 u0 u0 user string 0
+user1 u1 u1 user string 1
+user2 u2 u2 user string 2
+user3 u3 u3 user string 3
+user4 u4 u4 user string 4
+user5 u5 u5 user string 5
+user6 u6 u6 user string 6
+user7 u7 u7 user string 7
+user8 u8 u8 user string 8
+user9 u9 u9 user string 9
+underline_char uc uc underscore one character and move past it
+up_half_line hu hu half-line up (reverse 1/2 linefeed)
+wait_tone wait WA wait for dial tone
+xoff_character xoffc XF x-off character
+xon_character xonc XN x-on character
+zero_motion zerom Zx no motion for the subsequent character
diff --git a/curses/ACS_BLOCK.h b/curses/ACS_BLOCK.h
new file mode 100644
index 0000000..73f7973
--- /dev/null
+++ b/curses/ACS_BLOCK.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_BLOCK /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_BOARD.h b/curses/ACS_BOARD.h
new file mode 100644
index 0000000..606bb3f
--- /dev/null
+++ b/curses/ACS_BOARD.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_BOARD /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_BTEE.h b/curses/ACS_BTEE.h
new file mode 100644
index 0000000..ff2caac
--- /dev/null
+++ b/curses/ACS_BTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_BTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_BULLET.h b/curses/ACS_BULLET.h
new file mode 100644
index 0000000..57db68c
--- /dev/null
+++ b/curses/ACS_BULLET.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_BULLET /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_CKBOARD.h b/curses/ACS_CKBOARD.h
new file mode 100644
index 0000000..5f71599
--- /dev/null
+++ b/curses/ACS_CKBOARD.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_CKBOARD /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_DARROW.h b/curses/ACS_DARROW.h
new file mode 100644
index 0000000..779cc3f
--- /dev/null
+++ b/curses/ACS_DARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_DARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_DEGREE.h b/curses/ACS_DEGREE.h
new file mode 100644
index 0000000..5e95546
--- /dev/null
+++ b/curses/ACS_DEGREE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_DEGREE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_DIAMOND.h b/curses/ACS_DIAMOND.h
new file mode 100644
index 0000000..22b485a
--- /dev/null
+++ b/curses/ACS_DIAMOND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_DIAMOND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_HLINE.h b/curses/ACS_HLINE.h
new file mode 100644
index 0000000..80e9f03
--- /dev/null
+++ b/curses/ACS_HLINE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_HLINE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_LANTERN.h b/curses/ACS_LANTERN.h
new file mode 100644
index 0000000..9405c80
--- /dev/null
+++ b/curses/ACS_LANTERN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_LANTERN /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_LARROW.h b/curses/ACS_LARROW.h
new file mode 100644
index 0000000..55aed32
--- /dev/null
+++ b/curses/ACS_LARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_LARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_LLCORNER.h b/curses/ACS_LLCORNER.h
new file mode 100644
index 0000000..c384c32
--- /dev/null
+++ b/curses/ACS_LLCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_LLCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_LRCORNER.h b/curses/ACS_LRCORNER.h
new file mode 100644
index 0000000..9fcf3d2
--- /dev/null
+++ b/curses/ACS_LRCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_LRCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_LTEE.h b/curses/ACS_LTEE.h
new file mode 100644
index 0000000..81ea5d2
--- /dev/null
+++ b/curses/ACS_LTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_LTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_PLMINUS.h b/curses/ACS_PLMINUS.h
new file mode 100644
index 0000000..1dd9cea
--- /dev/null
+++ b/curses/ACS_PLMINUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_PLMINUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_PLUS.h b/curses/ACS_PLUS.h
new file mode 100644
index 0000000..4de904d
--- /dev/null
+++ b/curses/ACS_PLUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_PLUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_RARROW.h b/curses/ACS_RARROW.h
new file mode 100644
index 0000000..eeba948
--- /dev/null
+++ b/curses/ACS_RARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_RARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_RTEE.h b/curses/ACS_RTEE.h
new file mode 100644
index 0000000..dc4083f
--- /dev/null
+++ b/curses/ACS_RTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_RTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_S1.h b/curses/ACS_S1.h
new file mode 100644
index 0000000..477579d
--- /dev/null
+++ b/curses/ACS_S1.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_S1 /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_S9.h b/curses/ACS_S9.h
new file mode 100644
index 0000000..42453b5
--- /dev/null
+++ b/curses/ACS_S9.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_S9 /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_TTEE.h b/curses/ACS_TTEE.h
new file mode 100644
index 0000000..34a61a3
--- /dev/null
+++ b/curses/ACS_TTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_TTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_UARROW.h b/curses/ACS_UARROW.h
new file mode 100644
index 0000000..f08953f
--- /dev/null
+++ b/curses/ACS_UARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_UARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_ULCORNER.h b/curses/ACS_ULCORNER.h
new file mode 100644
index 0000000..5c50e89
--- /dev/null
+++ b/curses/ACS_ULCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_ULCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_URCORNER.h b/curses/ACS_URCORNER.h
new file mode 100644
index 0000000..26d6621
--- /dev/null
+++ b/curses/ACS_URCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_URCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/ACS_VLINE.h b/curses/ACS_VLINE.h
new file mode 100644
index 0000000..39590bd
--- /dev/null
+++ b/curses/ACS_VLINE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define ACS_VLINE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/A_ALTCHARSET.h b/curses/A_ALTCHARSET.h
new file mode 100644
index 0000000..36967f9
--- /dev/null
+++ b/curses/A_ALTCHARSET.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_ALTCHARSET (1<<8)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/A_ATTRIBUTES.h b/curses/A_ATTRIBUTES.h
new file mode 100644
index 0000000..2d10d08
--- /dev/null
+++ b/curses/A_ATTRIBUTES.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define A_ATTRIBUTES (0x1ff00)
+/*
+XOPEN(4)
+*/
diff --git a/curses/A_BLINK.h b/curses/A_BLINK.h
new file mode 100644
index 0000000..87201c3
--- /dev/null
+++ b/curses/A_BLINK.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_BLINK (1<<9)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/A_BOLD.h b/curses/A_BOLD.h
new file mode 100644
index 0000000..6c47c1f
--- /dev/null
+++ b/curses/A_BOLD.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_BOLD (1<<10)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/A_CHARTEXT.h b/curses/A_CHARTEXT.h
new file mode 100644
index 0000000..2b65738
--- /dev/null
+++ b/curses/A_CHARTEXT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define A_CHARTEXT (0xff)
+/*
+XOPEN(4)
+*/
diff --git a/curses/A_COLOR.h b/curses/A_COLOR.h
new file mode 100644
index 0000000..518ef5c
--- /dev/null
+++ b/curses/A_COLOR.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define A_COLOR (0xff000000)
+/*
+XOPEN(400)
+*/
diff --git a/curses/A_DIM.h b/curses/A_DIM.h
new file mode 100644
index 0000000..bc98095
--- /dev/null
+++ b/curses/A_DIM.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_DIM (1<<11)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/A_INVIS.h b/curses/A_INVIS.h
new file mode 100644
index 0000000..148a778
--- /dev/null
+++ b/curses/A_INVIS.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_INVIS (1<<12)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/A_PROTECT.h b/curses/A_PROTECT.h
new file mode 100644
index 0000000..56a363f
--- /dev/null
+++ b/curses/A_PROTECT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_PROTECT (1<<13)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/A_REVERSE.h b/curses/A_REVERSE.h
new file mode 100644
index 0000000..0d7856a
--- /dev/null
+++ b/curses/A_REVERSE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_REVERSE (1<<14)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/A_STANDOUT.h b/curses/A_STANDOUT.h
new file mode 100644
index 0000000..5e6e13f
--- /dev/null
+++ b/curses/A_STANDOUT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_STANDOUT (1<<15)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/A_UNDERLINE.h b/curses/A_UNDERLINE.h
new file mode 100644
index 0000000..133b587
--- /dev/null
+++ b/curses/A_UNDERLINE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define A_UNDERLINE (1<<16)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/COLORS.h b/curses/COLORS.h
new file mode 100644
index 0000000..9842c69
--- /dev/null
+++ b/curses/COLORS.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+int COLORS;
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/COLOR_BLACK.h b/curses/COLOR_BLACK.h
new file mode 100644
index 0000000..f8aa5d1
--- /dev/null
+++ b/curses/COLOR_BLACK.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_BLACK (0)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_BLUE.h b/curses/COLOR_BLUE.h
new file mode 100644
index 0000000..ad785ff
--- /dev/null
+++ b/curses/COLOR_BLUE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_BLUE (4)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_CYAN.h b/curses/COLOR_CYAN.h
new file mode 100644
index 0000000..c0920fd
--- /dev/null
+++ b/curses/COLOR_CYAN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_CYAN (6)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_GREEN.h b/curses/COLOR_GREEN.h
new file mode 100644
index 0000000..4844937
--- /dev/null
+++ b/curses/COLOR_GREEN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_GREEN (2)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_MAGENTA.h b/curses/COLOR_MAGENTA.h
new file mode 100644
index 0000000..f04b838
--- /dev/null
+++ b/curses/COLOR_MAGENTA.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_MAGENTA (5)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_PAIR.h b/curses/COLOR_PAIR.h
new file mode 100644
index 0000000..e664a41
--- /dev/null
+++ b/curses/COLOR_PAIR.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define COLOR_PAIR(__n) /* TODO */
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/COLOR_PAIRS.h b/curses/COLOR_PAIRS.h
new file mode 100644
index 0000000..30adcb9
--- /dev/null
+++ b/curses/COLOR_PAIRS.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+int COLOR_PAIRS;
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/COLOR_RED.h b/curses/COLOR_RED.h
new file mode 100644
index 0000000..5961bb6
--- /dev/null
+++ b/curses/COLOR_RED.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_RED (1)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_WHITE.h b/curses/COLOR_WHITE.h
new file mode 100644
index 0000000..24bb232
--- /dev/null
+++ b/curses/COLOR_WHITE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_WHITE (7)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLOR_YELLOW.h b/curses/COLOR_YELLOW.h
new file mode 100644
index 0000000..ba1cbee
--- /dev/null
+++ b/curses/COLOR_YELLOW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define COLOR_YELLOW (3)
+/*
+XOPEN(400)
+*/
diff --git a/curses/COLS.h b/curses/COLS.h
new file mode 100644
index 0000000..6135c42
--- /dev/null
+++ b/curses/COLS.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+int COLS;
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/EOF.ref b/curses/EOF.ref
new file mode 100644
index 0000000..0efe527
--- /dev/null
+++ b/curses/EOF.ref
@@ -0,0 +1,3 @@
+#include <curses.h>
+REFERENCE(stdio/EOF.c)
+XOPEN(4)
diff --git a/curses/ERR.h b/curses/ERR.h
new file mode 100644
index 0000000..c9a0861
--- /dev/null
+++ b/curses/ERR.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define ERR (-1)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/FALSE.h b/curses/FALSE.h
new file mode 100644
index 0000000..07cd087
--- /dev/null
+++ b/curses/FALSE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define FALSE (0)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/KEY_A1.h b/curses/KEY_A1.h
new file mode 100644
index 0000000..42a6fbc
--- /dev/null
+++ b/curses/KEY_A1.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_A1 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_A3.h b/curses/KEY_A3.h
new file mode 100644
index 0000000..330ac62
--- /dev/null
+++ b/curses/KEY_A3.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_A3 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_B2.h b/curses/KEY_B2.h
new file mode 100644
index 0000000..51de96e
--- /dev/null
+++ b/curses/KEY_B2.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_B2 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_BACKSPACE.h b/curses/KEY_BACKSPACE.h
new file mode 100644
index 0000000..3684173
--- /dev/null
+++ b/curses/KEY_BACKSPACE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_BACKSPACE /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_BEG.h b/curses/KEY_BEG.h
new file mode 100644
index 0000000..5601362
--- /dev/null
+++ b/curses/KEY_BEG.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_BEG /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_BREAK.h b/curses/KEY_BREAK.h
new file mode 100644
index 0000000..a0ad22a
--- /dev/null
+++ b/curses/KEY_BREAK.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_BREAK /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_BTAB.h b/curses/KEY_BTAB.h
new file mode 100644
index 0000000..ae557d4
--- /dev/null
+++ b/curses/KEY_BTAB.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_BTAB /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_C1.h b/curses/KEY_C1.h
new file mode 100644
index 0000000..7e7d9b9
--- /dev/null
+++ b/curses/KEY_C1.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_C1 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_C3.h b/curses/KEY_C3.h
new file mode 100644
index 0000000..fe6e25f
--- /dev/null
+++ b/curses/KEY_C3.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_C3 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_CANCEL.h b/curses/KEY_CANCEL.h
new file mode 100644
index 0000000..34d4354
--- /dev/null
+++ b/curses/KEY_CANCEL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CANCEL /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_CATAB.h b/curses/KEY_CATAB.h
new file mode 100644
index 0000000..0aa49e2
--- /dev/null
+++ b/curses/KEY_CATAB.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CATAB /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_CLEAR.h b/curses/KEY_CLEAR.h
new file mode 100644
index 0000000..434a03b
--- /dev/null
+++ b/curses/KEY_CLEAR.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CLEAR /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_CLOSE.h b/curses/KEY_CLOSE.h
new file mode 100644
index 0000000..63d98ff
--- /dev/null
+++ b/curses/KEY_CLOSE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CLOSE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_CODE_YES.h b/curses/KEY_CODE_YES.h
new file mode 100644
index 0000000..5a9c43f
--- /dev/null
+++ b/curses/KEY_CODE_YES.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define KEY_CODE_YES (1)
+/*
+XOPEN(700)
+LINK(curses)
+*/
diff --git a/curses/KEY_COMMAND.h b/curses/KEY_COMMAND.h
new file mode 100644
index 0000000..78b2f6e
--- /dev/null
+++ b/curses/KEY_COMMAND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_COMMAND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_COPY.h b/curses/KEY_COPY.h
new file mode 100644
index 0000000..2f6a45e
--- /dev/null
+++ b/curses/KEY_COPY.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_COPY /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_CREATE.h b/curses/KEY_CREATE.h
new file mode 100644
index 0000000..dcc74c3
--- /dev/null
+++ b/curses/KEY_CREATE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CREATE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_CTAB.h b/curses/KEY_CTAB.h
new file mode 100644
index 0000000..1a1652f
--- /dev/null
+++ b/curses/KEY_CTAB.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_CTAB /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_DC.h b/curses/KEY_DC.h
new file mode 100644
index 0000000..802af42
--- /dev/null
+++ b/curses/KEY_DC.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_DC /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_DL.h b/curses/KEY_DL.h
new file mode 100644
index 0000000..73f5540
--- /dev/null
+++ b/curses/KEY_DL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_DL /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_DOWN.h b/curses/KEY_DOWN.h
new file mode 100644
index 0000000..d4904e7
--- /dev/null
+++ b/curses/KEY_DOWN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_DOWN /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_EIC.h b/curses/KEY_EIC.h
new file mode 100644
index 0000000..f278cb4
--- /dev/null
+++ b/curses/KEY_EIC.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_EIC /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_END.h b/curses/KEY_END.h
new file mode 100644
index 0000000..a66dabd
--- /dev/null
+++ b/curses/KEY_END.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_END /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_ENTER.h b/curses/KEY_ENTER.h
new file mode 100644
index 0000000..04774ed
--- /dev/null
+++ b/curses/KEY_ENTER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_ENTER /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_EOL.h b/curses/KEY_EOL.h
new file mode 100644
index 0000000..c3d6215
--- /dev/null
+++ b/curses/KEY_EOL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_EOL /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_EOS.h b/curses/KEY_EOS.h
new file mode 100644
index 0000000..bce93d7
--- /dev/null
+++ b/curses/KEY_EOS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_EOS /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_EXIT.h b/curses/KEY_EXIT.h
new file mode 100644
index 0000000..eedb2da
--- /dev/null
+++ b/curses/KEY_EXIT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_EXIT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_F0.h b/curses/KEY_F0.h
new file mode 100644
index 0000000..ef3c01c
--- /dev/null
+++ b/curses/KEY_F0.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_F0 /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_FIND.h b/curses/KEY_FIND.h
new file mode 100644
index 0000000..90b2b6c
--- /dev/null
+++ b/curses/KEY_FIND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_FIND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_HELP.h b/curses/KEY_HELP.h
new file mode 100644
index 0000000..5237d11
--- /dev/null
+++ b/curses/KEY_HELP.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_HELP /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_HOME.h b/curses/KEY_HOME.h
new file mode 100644
index 0000000..1fdbbd4
--- /dev/null
+++ b/curses/KEY_HOME.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_HOME /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_IC.h b/curses/KEY_IC.h
new file mode 100644
index 0000000..ec8c31d
--- /dev/null
+++ b/curses/KEY_IC.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_IC /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_IL.h b/curses/KEY_IL.h
new file mode 100644
index 0000000..d7a8c30
--- /dev/null
+++ b/curses/KEY_IL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_IL /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_LEFT.h b/curses/KEY_LEFT.h
new file mode 100644
index 0000000..fdf1ce5
--- /dev/null
+++ b/curses/KEY_LEFT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_LEFT /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_LL.h b/curses/KEY_LL.h
new file mode 100644
index 0000000..8bdbde6
--- /dev/null
+++ b/curses/KEY_LL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_LL /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_MARK.h b/curses/KEY_MARK.h
new file mode 100644
index 0000000..f0b4fd7
--- /dev/null
+++ b/curses/KEY_MARK.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_MARK /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_MESSAGE.h b/curses/KEY_MESSAGE.h
new file mode 100644
index 0000000..df11606
--- /dev/null
+++ b/curses/KEY_MESSAGE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_MESSAGE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_MOVE.h b/curses/KEY_MOVE.h
new file mode 100644
index 0000000..8cbe382
--- /dev/null
+++ b/curses/KEY_MOVE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_MOVE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_NEXT.h b/curses/KEY_NEXT.h
new file mode 100644
index 0000000..345c71c
--- /dev/null
+++ b/curses/KEY_NEXT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_NEXT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_NPAGE.h b/curses/KEY_NPAGE.h
new file mode 100644
index 0000000..ec45be7
--- /dev/null
+++ b/curses/KEY_NPAGE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_NPAGE /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_OPEN.h b/curses/KEY_OPEN.h
new file mode 100644
index 0000000..10043a3
--- /dev/null
+++ b/curses/KEY_OPEN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_OPEN /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_OPTIONS.h b/curses/KEY_OPTIONS.h
new file mode 100644
index 0000000..8288fad
--- /dev/null
+++ b/curses/KEY_OPTIONS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_OPTIONS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_PPAGE.h b/curses/KEY_PPAGE.h
new file mode 100644
index 0000000..ac1353e
--- /dev/null
+++ b/curses/KEY_PPAGE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_PPAGE /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_PREVIOUS.h b/curses/KEY_PREVIOUS.h
new file mode 100644
index 0000000..bc52d6d
--- /dev/null
+++ b/curses/KEY_PREVIOUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_PREVIOUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_PRINT.h b/curses/KEY_PRINT.h
new file mode 100644
index 0000000..9af6259
--- /dev/null
+++ b/curses/KEY_PRINT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_PRINT /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_REDO.h b/curses/KEY_REDO.h
new file mode 100644
index 0000000..86980c1
--- /dev/null
+++ b/curses/KEY_REDO.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_REDO /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_REFERENCE.h b/curses/KEY_REFERENCE.h
new file mode 100644
index 0000000..a0dd1f0
--- /dev/null
+++ b/curses/KEY_REFERENCE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_REFERENCE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_REFRESH.h b/curses/KEY_REFRESH.h
new file mode 100644
index 0000000..9bb9598
--- /dev/null
+++ b/curses/KEY_REFRESH.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_REFRESH /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_REPLACE.h b/curses/KEY_REPLACE.h
new file mode 100644
index 0000000..f211f45
--- /dev/null
+++ b/curses/KEY_REPLACE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_REPLACE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_RESET.h b/curses/KEY_RESET.h
new file mode 100644
index 0000000..f16f377
--- /dev/null
+++ b/curses/KEY_RESET.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_RESET /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_RESTART.h b/curses/KEY_RESTART.h
new file mode 100644
index 0000000..0a286e6
--- /dev/null
+++ b/curses/KEY_RESTART.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_RESTART /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_RESUME.h b/curses/KEY_RESUME.h
new file mode 100644
index 0000000..6fd2dc6
--- /dev/null
+++ b/curses/KEY_RESUME.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_RESUME /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_RIGHT.h b/curses/KEY_RIGHT.h
new file mode 100644
index 0000000..a36ab87
--- /dev/null
+++ b/curses/KEY_RIGHT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_RIGHT /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_SAVE.h b/curses/KEY_SAVE.h
new file mode 100644
index 0000000..fa3eaca
--- /dev/null
+++ b/curses/KEY_SAVE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SAVE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SBEG.h b/curses/KEY_SBEG.h
new file mode 100644
index 0000000..14487c4
--- /dev/null
+++ b/curses/KEY_SBEG.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SBEG /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SCANCEL.h b/curses/KEY_SCANCEL.h
new file mode 100644
index 0000000..837a70d
--- /dev/null
+++ b/curses/KEY_SCANCEL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SCANCEL /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SCOMMAND.h b/curses/KEY_SCOMMAND.h
new file mode 100644
index 0000000..e60bd63
--- /dev/null
+++ b/curses/KEY_SCOMMAND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SCOMMAND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SCOPY.h b/curses/KEY_SCOPY.h
new file mode 100644
index 0000000..23c78db
--- /dev/null
+++ b/curses/KEY_SCOPY.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SCOPY /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SCREATE.h b/curses/KEY_SCREATE.h
new file mode 100644
index 0000000..95a8388
--- /dev/null
+++ b/curses/KEY_SCREATE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SCREATE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SDC.h b/curses/KEY_SDC.h
new file mode 100644
index 0000000..ac1cf91
--- /dev/null
+++ b/curses/KEY_SDC.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SDC /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SDL.h b/curses/KEY_SDL.h
new file mode 100644
index 0000000..c369af8
--- /dev/null
+++ b/curses/KEY_SDL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SDL /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SELECT.h b/curses/KEY_SELECT.h
new file mode 100644
index 0000000..7bc0287
--- /dev/null
+++ b/curses/KEY_SELECT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SELECT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SEND.h b/curses/KEY_SEND.h
new file mode 100644
index 0000000..3b03566
--- /dev/null
+++ b/curses/KEY_SEND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SEND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SEOL.h b/curses/KEY_SEOL.h
new file mode 100644
index 0000000..d66203c
--- /dev/null
+++ b/curses/KEY_SEOL.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SEOL /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SEXIT.h b/curses/KEY_SEXIT.h
new file mode 100644
index 0000000..21a528c
--- /dev/null
+++ b/curses/KEY_SEXIT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SEXIT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SF.h b/curses/KEY_SF.h
new file mode 100644
index 0000000..05c23d2
--- /dev/null
+++ b/curses/KEY_SF.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SF /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_SFIND.h b/curses/KEY_SFIND.h
new file mode 100644
index 0000000..dcba55c
--- /dev/null
+++ b/curses/KEY_SFIND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SFIND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SHELP.h b/curses/KEY_SHELP.h
new file mode 100644
index 0000000..5875b86
--- /dev/null
+++ b/curses/KEY_SHELP.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SHELP /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SHOME.h b/curses/KEY_SHOME.h
new file mode 100644
index 0000000..7a33678
--- /dev/null
+++ b/curses/KEY_SHOME.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SHOME /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SIX.h b/curses/KEY_SIX.h
new file mode 100644
index 0000000..0eb1190
--- /dev/null
+++ b/curses/KEY_SIX.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SIX /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SLEFT.h b/curses/KEY_SLEFT.h
new file mode 100644
index 0000000..e8b09ed
--- /dev/null
+++ b/curses/KEY_SLEFT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SLEFT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SMESSAGE.h b/curses/KEY_SMESSAGE.h
new file mode 100644
index 0000000..98268cd
--- /dev/null
+++ b/curses/KEY_SMESSAGE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SMESSAGE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SMOVE.h b/curses/KEY_SMOVE.h
new file mode 100644
index 0000000..fed2d9f
--- /dev/null
+++ b/curses/KEY_SMOVE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SMOVE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SNEXT.h b/curses/KEY_SNEXT.h
new file mode 100644
index 0000000..34f3eb1
--- /dev/null
+++ b/curses/KEY_SNEXT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SNEXT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SOPTIONS.h b/curses/KEY_SOPTIONS.h
new file mode 100644
index 0000000..da7323f
--- /dev/null
+++ b/curses/KEY_SOPTIONS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SOPTIONS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SPREVIOUS.h b/curses/KEY_SPREVIOUS.h
new file mode 100644
index 0000000..897ef37
--- /dev/null
+++ b/curses/KEY_SPREVIOUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SPREVIOUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SPRINT.h b/curses/KEY_SPRINT.h
new file mode 100644
index 0000000..7b4e808
--- /dev/null
+++ b/curses/KEY_SPRINT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SPRINT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SR.h b/curses/KEY_SR.h
new file mode 100644
index 0000000..f104678
--- /dev/null
+++ b/curses/KEY_SR.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SR /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_SREDO.h b/curses/KEY_SREDO.h
new file mode 100644
index 0000000..4aa17f4
--- /dev/null
+++ b/curses/KEY_SREDO.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SREDO /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SREPLACE.h b/curses/KEY_SREPLACE.h
new file mode 100644
index 0000000..df75bc2
--- /dev/null
+++ b/curses/KEY_SREPLACE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SREPLACE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SRESET.h b/curses/KEY_SRESET.h
new file mode 100644
index 0000000..18e93a9
--- /dev/null
+++ b/curses/KEY_SRESET.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SRESET /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_SRIGHT.h b/curses/KEY_SRIGHT.h
new file mode 100644
index 0000000..8d4ef7b
--- /dev/null
+++ b/curses/KEY_SRIGHT.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SRIGHT /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SRSUME.h b/curses/KEY_SRSUME.h
new file mode 100644
index 0000000..436b5c0
--- /dev/null
+++ b/curses/KEY_SRSUME.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SRSUME /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SSAVE.h b/curses/KEY_SSAVE.h
new file mode 100644
index 0000000..ddf535e
--- /dev/null
+++ b/curses/KEY_SSAVE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SSAVE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SSUSPEND.h b/curses/KEY_SSUSPEND.h
new file mode 100644
index 0000000..2e1dd1d
--- /dev/null
+++ b/curses/KEY_SSUSPEND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SSUSPEND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_STAB.h b/curses/KEY_STAB.h
new file mode 100644
index 0000000..f2258f6
--- /dev/null
+++ b/curses/KEY_STAB.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_STAB /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/KEY_SUNDO.h b/curses/KEY_SUNDO.h
new file mode 100644
index 0000000..9109047
--- /dev/null
+++ b/curses/KEY_SUNDO.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SUNDO /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_SUSPEND.h b/curses/KEY_SUSPEND.h
new file mode 100644
index 0000000..c4ca778
--- /dev/null
+++ b/curses/KEY_SUSPEND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_SUSPEND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_UNDO.h b/curses/KEY_UNDO.h
new file mode 100644
index 0000000..129859f
--- /dev/null
+++ b/curses/KEY_UNDO.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_UNDO /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/KEY_UP.h b/curses/KEY_UP.h
new file mode 100644
index 0000000..640d1b4
--- /dev/null
+++ b/curses/KEY_UP.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define KEY_UP /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/LINES.h b/curses/LINES.h
new file mode 100644
index 0000000..4c07c96
--- /dev/null
+++ b/curses/LINES.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+int LINES;
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/OK.h b/curses/OK.h
new file mode 100644
index 0000000..0590b03
--- /dev/null
+++ b/curses/OK.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define OK (0)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/PAIR_NUMBER.h b/curses/PAIR_NUMBER.h
new file mode 100644
index 0000000..183a6ed
--- /dev/null
+++ b/curses/PAIR_NUMBER.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define PAIR_NUMBER(__value) /* TODO */
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/SCREEN.h b/curses/SCREEN.h
new file mode 100644
index 0000000..5260954
--- /dev/null
+++ b/curses/SCREEN.h
@@ -0,0 +1,8 @@
+#include <curses.h>
+
+typedef struct __SCREEN SCREEN;
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/TRUE.h b/curses/TRUE.h
new file mode 100644
index 0000000..ed1399a
--- /dev/null
+++ b/curses/TRUE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define TRUE (1)
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/WACS_BLOCK.h b/curses/WACS_BLOCK.h
new file mode 100644
index 0000000..13d9983
--- /dev/null
+++ b/curses/WACS_BLOCK.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_BLOCK /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_BOARD.h b/curses/WACS_BOARD.h
new file mode 100644
index 0000000..dd61b47
--- /dev/null
+++ b/curses/WACS_BOARD.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_BOARD /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_BTEE.h b/curses/WACS_BTEE.h
new file mode 100644
index 0000000..e4e677d
--- /dev/null
+++ b/curses/WACS_BTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_BTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_BULLET.h b/curses/WACS_BULLET.h
new file mode 100644
index 0000000..0a82802
--- /dev/null
+++ b/curses/WACS_BULLET.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_BULLET /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_CKBOARD.h b/curses/WACS_CKBOARD.h
new file mode 100644
index 0000000..54eb69c
--- /dev/null
+++ b/curses/WACS_CKBOARD.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_CKBOARD /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_DARROW.h b/curses/WACS_DARROW.h
new file mode 100644
index 0000000..e3a109a
--- /dev/null
+++ b/curses/WACS_DARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_DARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_DEGREE.h b/curses/WACS_DEGREE.h
new file mode 100644
index 0000000..dc3763c
--- /dev/null
+++ b/curses/WACS_DEGREE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_DEGREE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_DIAMOND.h b/curses/WACS_DIAMOND.h
new file mode 100644
index 0000000..4071e31
--- /dev/null
+++ b/curses/WACS_DIAMOND.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_DIAMOND /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_HLINE.h b/curses/WACS_HLINE.h
new file mode 100644
index 0000000..944d5d4
--- /dev/null
+++ b/curses/WACS_HLINE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_HLINE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_LANTERN.h b/curses/WACS_LANTERN.h
new file mode 100644
index 0000000..0ccc66a
--- /dev/null
+++ b/curses/WACS_LANTERN.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_LANTERN /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_LARROW.h b/curses/WACS_LARROW.h
new file mode 100644
index 0000000..02dabc9
--- /dev/null
+++ b/curses/WACS_LARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_LARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_LLCORNER.h b/curses/WACS_LLCORNER.h
new file mode 100644
index 0000000..0b1b270
--- /dev/null
+++ b/curses/WACS_LLCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_LLCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_LRCORNER.h b/curses/WACS_LRCORNER.h
new file mode 100644
index 0000000..05a8ba2
--- /dev/null
+++ b/curses/WACS_LRCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_LRCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_LTEE.h b/curses/WACS_LTEE.h
new file mode 100644
index 0000000..3478588
--- /dev/null
+++ b/curses/WACS_LTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_LTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_PLMINUS.h b/curses/WACS_PLMINUS.h
new file mode 100644
index 0000000..9c6f3f6
--- /dev/null
+++ b/curses/WACS_PLMINUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_PLMINUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_PLUS.h b/curses/WACS_PLUS.h
new file mode 100644
index 0000000..c30c72f
--- /dev/null
+++ b/curses/WACS_PLUS.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_PLUS /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_RARROW.h b/curses/WACS_RARROW.h
new file mode 100644
index 0000000..bc07034
--- /dev/null
+++ b/curses/WACS_RARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_RARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_RTEE.h b/curses/WACS_RTEE.h
new file mode 100644
index 0000000..90045cf
--- /dev/null
+++ b/curses/WACS_RTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_RTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_S1.h b/curses/WACS_S1.h
new file mode 100644
index 0000000..0a70015
--- /dev/null
+++ b/curses/WACS_S1.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_S1 /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_S9.h b/curses/WACS_S9.h
new file mode 100644
index 0000000..94a5837
--- /dev/null
+++ b/curses/WACS_S9.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_S9 /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_TTEE.h b/curses/WACS_TTEE.h
new file mode 100644
index 0000000..c836c51
--- /dev/null
+++ b/curses/WACS_TTEE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_TTEE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_UARROW.h b/curses/WACS_UARROW.h
new file mode 100644
index 0000000..b245550
--- /dev/null
+++ b/curses/WACS_UARROW.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_UARROW /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_ULCORNER.h b/curses/WACS_ULCORNER.h
new file mode 100644
index 0000000..7f03781
--- /dev/null
+++ b/curses/WACS_ULCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_ULCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_URCORNER.h b/curses/WACS_URCORNER.h
new file mode 100644
index 0000000..a628d35
--- /dev/null
+++ b/curses/WACS_URCORNER.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_URCORNER /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WACS_VLINE.h b/curses/WACS_VLINE.h
new file mode 100644
index 0000000..fda13c4
--- /dev/null
+++ b/curses/WACS_VLINE.h
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define WACS_VLINE /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/WA_ALTCHARSET.h b/curses/WA_ALTCHARSET.h
new file mode 100644
index 0000000..7c8b69c
--- /dev/null
+++ b/curses/WA_ALTCHARSET.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_ALTCHARSET (1<<0)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_BLINK.h b/curses/WA_BLINK.h
new file mode 100644
index 0000000..03be8ea
--- /dev/null
+++ b/curses/WA_BLINK.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_BLINK (1<<1)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_BOLD.h b/curses/WA_BOLD.h
new file mode 100644
index 0000000..6fdb4cf
--- /dev/null
+++ b/curses/WA_BOLD.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_BOLD (1<<2)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_DIM.h b/curses/WA_DIM.h
new file mode 100644
index 0000000..76508c6
--- /dev/null
+++ b/curses/WA_DIM.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_DIM (1<<3)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_HORIZONTAL.h b/curses/WA_HORIZONTAL.h
new file mode 100644
index 0000000..e9f7f0f
--- /dev/null
+++ b/curses/WA_HORIZONTAL.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_HORIZONTAL (1<<4)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_INVIS.h b/curses/WA_INVIS.h
new file mode 100644
index 0000000..62adc68
--- /dev/null
+++ b/curses/WA_INVIS.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_INVIS (1<<5)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_LEFT.h b/curses/WA_LEFT.h
new file mode 100644
index 0000000..617f04c
--- /dev/null
+++ b/curses/WA_LEFT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_LEFT (1<<6)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_LOW.h b/curses/WA_LOW.h
new file mode 100644
index 0000000..48dbc6e
--- /dev/null
+++ b/curses/WA_LOW.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_LOW (1<<7)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_PROTECT.h b/curses/WA_PROTECT.h
new file mode 100644
index 0000000..094364e
--- /dev/null
+++ b/curses/WA_PROTECT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_PROTECT (1<<8)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_REVERSE.h b/curses/WA_REVERSE.h
new file mode 100644
index 0000000..6081f72
--- /dev/null
+++ b/curses/WA_REVERSE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_REVERSE (1<<9)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_RIGHT.h b/curses/WA_RIGHT.h
new file mode 100644
index 0000000..4b20708
--- /dev/null
+++ b/curses/WA_RIGHT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_RIGHT (1<<10)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_STANDOUT.h b/curses/WA_STANDOUT.h
new file mode 100644
index 0000000..e22664a
--- /dev/null
+++ b/curses/WA_STANDOUT.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_STANDOUT (1<<11)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_TOP.h b/curses/WA_TOP.h
new file mode 100644
index 0000000..8801cdd
--- /dev/null
+++ b/curses/WA_TOP.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_TOP (1<<12)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WA_UNDERLINE.h b/curses/WA_UNDERLINE.h
new file mode 100644
index 0000000..8fe5789
--- /dev/null
+++ b/curses/WA_UNDERLINE.h
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define WA_UNDERLINE (1<<13)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/WEOF.ref b/curses/WEOF.ref
new file mode 100644
index 0000000..6b11129
--- /dev/null
+++ b/curses/WEOF.ref
@@ -0,0 +1,3 @@
+#include <curses.h>
+REFERENCE(wctype/WEOF.c)
+XOPEN(4)
diff --git a/curses/WINDOW.h b/curses/WINDOW.h
new file mode 100644
index 0000000..664e134
--- /dev/null
+++ b/curses/WINDOW.h
@@ -0,0 +1,8 @@
+#include <curses.h>
+
+typedef struct __WINDOW WINDOW;
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/_XOPEN_CURSES.c b/curses/_XOPEN_CURSES.c
new file mode 100644
index 0000000..401de44
--- /dev/null
+++ b/curses/_XOPEN_CURSES.c
@@ -0,0 +1,6 @@
+#include <curses.h>
+#define _XOPEN_CURSES (_XOPEN_SOURCE)
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/_curses.h b/curses/_curses.h
new file mode 100644
index 0000000..94f312b
--- /dev/null
+++ b/curses/_curses.h
@@ -0,0 +1,52 @@
+#ifndef __NONSTD_CURSES_H__
+#define __NONSTD_CURSES_H__
+
+struct __WINDOW {
+ int y, x;
+};
+
+#define CURSES_FUNCTION0(_rt, _fn) \
+_rt mvw##_fn(WINDOW *_w, int _y, int _x) { \
+ return (wmove(_w, _y, _x) == OK) ? w##_fn(_w) : ERR; \
+} \
+_rt mv##_fn(int _y, int _x) { return mvw##_fn(stdscr, _y, _x); } \
+_rt _fn(void) { return w##_fn(stdscr); }
+
+#define CURSES_FUNCTION(_rt, _fn, _t1) \
+_rt mvw##_fn(WINDOW *_w, int _y, int _x, _t1 _a1) { \
+ return (wmove(_w, _y, _x) == OK) ? w##_fn(_w, _a1) : ERR; \
+} \
+_rt mv##_fn(int _y, int _x, _t1 _a1) { return mvw##_fn(stdscr, _y, _x, _a1); } \
+_rt _fn(_t1 _a1) { return w##_fn(stdscr, _a1); }
+
+#define CURSES_FUNCTION2(_rt, _fn, _t1, _t2) \
+_rt mvw##_fn(WINDOW *_w, int _y, int _x, _t1 _a1, _t2 _a2) { \
+ return (wmove(_w, _y, _x) == OK) ? w##_fn(_w, _a1, _a2) : ERR; \
+} \
+_rt mv##_fn(int _y, int _x, _t1 _a1, _t2 _a2) { return mvw##_fn(stdscr, _y, _x, _a1, _a2); } \
+_rt _fn(_t1 _a1, _t2 _a2) { return w##_fn(stdscr, _a1, _a2); }
+
+#define CURSES_FUNCTION4(_rt, _fn, _t1, _t2, _t3, _t4) \
+_rt mvw##_fn(WINDOW *_w, int _y, int _x, _t1 _a1, _t2 _a2, _t3 _a3, _t4 _a4) { \
+ return (wmove(_w, _y, _x) == OK) ? w##_fn(_w, _a1, _a2, _a3, _a4) : ERR; \
+} \
+_rt mv##_fn(int _y, int _x, _t1 _a1, _t2 _a2, _t3 _a3, _t4 _a4) { return mvw##_fn(stdscr, _y, _x, _a1, _a2, _a3, _a4); } \
+_rt _fn(_t1 _a1, _t2 _a2, _t3 _a3, _t4 _a4) { return w##_fn(stdscr, _a1, _a2, _a3, _a4); }
+
+#define CURSES_WFN0(_rt, _fn) \
+_rt _fn(void) { return w##_fn(stdscr); }
+
+#define CURSES_WFN1(_rt, _fn, _t1) \
+_rt _fn(_t1 _a1) { return w##_fn(stdscr, _a1); }
+
+#define CURSES_WFN2(_rt, _fn, _t1, _t2) \
+_rt _fn(_t1 _a1, _t2 _a2) { return w##_fn(stdscr, _a1, _a2); }
+
+#define CURSES_WFN8(_rt, _fn, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8) \
+_rt _fn(_t1 _a1, _t2 _a2, _t3 _a3, _t4 _a4, _t5 _a5, _t6 _a6, _t7 _a7, _t8 _a8) \
+{ return w##_fn(stdscr, _a1, _a2, _a3, _a4, _a5, _a6, _a7, _a8); }
+
+#define CURSES_VWFN1(_fn, _t1) \
+void _fn(_t1 _a1) { w##_fn(stdscr, _a1); }
+
+#endif
diff --git a/curses/add_wch.c b/curses/add_wch.c
new file mode 100644
index 0000000..40f4f1f
--- /dev/null
+++ b/curses/add_wch.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wadd_wch(WINDOW * win, const cchar_t * wch)
+{
+ (void)win; (void)wch;
+ return 0;
+}
+
+CURSES_FUNCTION(int, add_wch, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/add_wchnstr.c b/curses/add_wchnstr.c
new file mode 100644
index 0000000..99870cc
--- /dev/null
+++ b/curses/add_wchnstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wadd_wchnstr(WINDOW * win, const cchar_t * wchstr, int n)
+{
+ (void)win; (void)wchstr; (void)n;
+ return 0;
+}
+
+CURSES_FUNCTION2(int, add_wchnstr, const cchar_t *, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/add_wchstr.c b/curses/add_wchstr.c
new file mode 100644
index 0000000..4bf8f6a
--- /dev/null
+++ b/curses/add_wchstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wadd_wchstr(WINDOW * win, const cchar_t * wchstr)
+{
+ return wadd_wchnstr(win, wchstr, -1);
+}
+
+CURSES_FUNCTION(int, add_wchstr, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/addch.c b/curses/addch.c
new file mode 100644
index 0000000..9f3f692
--- /dev/null
+++ b/curses/addch.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddch(WINDOW * win, const chtype ch)
+{
+ (void)win; (void)ch;
+ return 0;
+}
+
+CURSES_FUNCTION(int, addch, const chtype)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/addchnstr.c b/curses/addchnstr.c
new file mode 100644
index 0000000..11ecb7e
--- /dev/null
+++ b/curses/addchnstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddchnstr(WINDOW * win, const chtype * chstr, int n)
+{
+ (void)win; (void)chstr; (void)n;
+ return 0;
+}
+
+CURSES_FUNCTION2(int, addchnstr, const chtype *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/addchstr.c b/curses/addchstr.c
new file mode 100644
index 0000000..0955b11
--- /dev/null
+++ b/curses/addchstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddchstr(WINDOW * win, const chtype * chstr)
+{
+ return waddchnstr(win, chstr, -1);
+}
+
+CURSES_FUNCTION(int, addchstr, const chtype *)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/addnstr.c b/curses/addnstr.c
new file mode 100644
index 0000000..c0012cf
--- /dev/null
+++ b/curses/addnstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddnstr(WINDOW * win, const char * str, int n)
+{
+ (void)win; (void)str; (void)n;
+ return 0;
+}
+
+CURSES_FUNCTION2(int, addnstr, const char *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/addnwstr.c b/curses/addnwstr.c
new file mode 100644
index 0000000..25e53a3
--- /dev/null
+++ b/curses/addnwstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddnwstr(WINDOW * win, const wchar_t * wstr, int n)
+{
+ (void)win; (void)wstr; (void)n;
+ return 0;
+}
+
+CURSES_FUNCTION2(int, addnwstr, const wchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/addstr.c b/curses/addstr.c
new file mode 100644
index 0000000..e0f256d
--- /dev/null
+++ b/curses/addstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddstr(WINDOW *win, const char * str)
+{
+ return waddnstr(win, str, -1);
+}
+
+CURSES_FUNCTION(int, addstr, const char *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/addwstr.c b/curses/addwstr.c
new file mode 100644
index 0000000..18915f3
--- /dev/null
+++ b/curses/addwstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int waddwstr(WINDOW * win, const wchar_t * wstr)
+{
+ return waddwnstr(win, wstr, -1);
+}
+
+CURSES_FUNCTION(int, addwstr, const wchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attr_get.c b/curses/attr_get.c
new file mode 100644
index 0000000..4acc227
--- /dev/null
+++ b/curses/attr_get.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattr_get(WINDOW * win, attr_t * attrs, short * color_pair_number, void * opts)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, attr_get, attr_t *, short *, void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attr_off.c b/curses/attr_off.c
new file mode 100644
index 0000000..0402882
--- /dev/null
+++ b/curses/attr_off.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattr_off(WINDOW * win, attr_t attrs, void * opts)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, attr_off, attr_t, void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attr_on.c b/curses/attr_on.c
new file mode 100644
index 0000000..2e2f672
--- /dev/null
+++ b/curses/attr_on.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattr_on(WINDOW * win, attr_t attrs, void * opts)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, attr_on, attr_t, void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attr_set.c b/curses/attr_set.c
new file mode 100644
index 0000000..62e7802
--- /dev/null
+++ b/curses/attr_set.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattr_set(WINDOW * win, attr_t attrs, short color_pair_number, void * opts)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, attr_set, attr_t, short, void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attr_t.h b/curses/attr_t.h
new file mode 100644
index 0000000..fd1f853
--- /dev/null
+++ b/curses/attr_t.h
@@ -0,0 +1,9 @@
+#include <curses.h>
+#include "_curses.h"
+
+typedef unsigned int attr_t;
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/attroff.c b/curses/attroff.c
new file mode 100644
index 0000000..d72268f
--- /dev/null
+++ b/curses/attroff.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattroff(WINDOW * win, int attrs)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, attroff, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/attron.c b/curses/attron.c
new file mode 100644
index 0000000..8d4b8fe
--- /dev/null
+++ b/curses/attron.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattron(WINDOW * win, int attrs)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, attron, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/attrset.c b/curses/attrset.c
new file mode 100644
index 0000000..4f66f24
--- /dev/null
+++ b/curses/attrset.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wattrset(WINDOW * win, int attrs)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, attrset, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/baudrate.c b/curses/baudrate.c
new file mode 100644
index 0000000..559e19a
--- /dev/null
+++ b/curses/baudrate.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int baudrate(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/beep.c b/curses/beep.c
new file mode 100644
index 0000000..af0b8b3
--- /dev/null
+++ b/curses/beep.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int beep(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/bkgd.c b/curses/bkgd.c
new file mode 100644
index 0000000..a55ea66
--- /dev/null
+++ b/curses/bkgd.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wbkgd(WINDOW * win, chtype ch)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, bkgd, chtype)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/bkgdset.c b/curses/bkgdset.c
new file mode 100644
index 0000000..bdaf931
--- /dev/null
+++ b/curses/bkgdset.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+void wbkgdset(WINDOW * win, chtype ch)
+{
+ (void)win; (void)ch;
+}
+
+CURSES_VWFN1(bkgdset, chtype)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/bkgrnd.c b/curses/bkgrnd.c
new file mode 100644
index 0000000..3155f7b
--- /dev/null
+++ b/curses/bkgrnd.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wbkgrnd(WINDOW * win, const cchar_t * wch)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, bkgrnd, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/bkgrndset.c b/curses/bkgrndset.c
new file mode 100644
index 0000000..e705a9f
--- /dev/null
+++ b/curses/bkgrndset.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+void wbkgrndset(WINDOW * win, const cchar_t * wch)
+{
+ (void)win; (void)ch;
+}
+
+CURSES_VWFN1(bkgrndset, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/bool.c b/curses/bool.c
new file mode 100644
index 0000000..c7927d0
--- /dev/null
+++ b/curses/bool.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+#if defined __STDC_VERSION__ && 199901L <= __STDC_VERSION__
+typedef _Bool bool;
+#else
+typedef int bool;
+#endif
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/border.c b/curses/border.c
new file mode 100644
index 0000000..6ee27e6
--- /dev/null
+++ b/curses/border.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wborder(WINDOW * win, chtype ls, chtype rs, chtype ts, chtype bs, chtype tl, chtype tr, chtype bl, chtype br)
+{
+ return ERR;
+}
+
+CURSES_WFN8(int, border, chtype, chtype, chtype, chtype, chtype, chtype, chtype, chtype)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/border_set.c b/curses/border_set.c
new file mode 100644
index 0000000..7fb267b
--- /dev/null
+++ b/curses/border_set.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wborder_set(WINDOW * win, const cchar_t * ls, const cchar_t * rs, const cchar_t * ts, const cchar_t * bs, const cchar_t * tl, const cchar_t * tr, const cchar_t * bl, const cchar_t * br)
+{
+ return ERR;
+}
+
+CURSES_WFN8(int, border_set, const cchar_t *, const cchar_t *, const cchar_t *, const cchar_t *, const cchar_t *, const cchar_t *, const cchar_t *, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/box.c b/curses/box.c
new file mode 100644
index 0000000..f166e3b
--- /dev/null
+++ b/curses/box.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int box(WINDOW * win, chtype verch, chtype horch)
+{
+ return wborder(win, verch, verch, horch, horch, 0, 0, 0, 0);
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/box_set.c b/curses/box_set.c
new file mode 100644
index 0000000..3877fe9
--- /dev/null
+++ b/curses/box_set.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+int box_set(WINDOW * win, const cchar_t * verch, const cchar_t * horch)
+{
+ return wborder(win, verch, verch, horch, horch, NULL, NULL, NULL, NULL);
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/can_change_color.c b/curses/can_change_color.c
new file mode 100644
index 0000000..13df296
--- /dev/null
+++ b/curses/can_change_color.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool can_change_color(void)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/cbreak.c b/curses/cbreak.c
new file mode 100644
index 0000000..8e2f6f9
--- /dev/null
+++ b/curses/cbreak.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int cbreak(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/cchar_t.h b/curses/cchar_t.h
new file mode 100644
index 0000000..730ae32
--- /dev/null
+++ b/curses/cchar_t.h
@@ -0,0 +1,8 @@
+#include <curses.h>
+
+typedef wchar_t * cchar_t;
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/chgat.c b/curses/chgat.c
new file mode 100644
index 0000000..9a3398a
--- /dev/null
+++ b/curses/chgat.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wchgat(WINDOW * win, int n, attr_t attr, short color, const void * opts)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION4(int, chgat, int, attr_t, short, const void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/chtype.c b/curses/chtype.c
new file mode 100644
index 0000000..d56a0eb
--- /dev/null
+++ b/curses/chtype.c
@@ -0,0 +1,8 @@
+#include <curses.h>
+
+typedef unsigned int chtype;
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/clear.c b/curses/clear.c
new file mode 100644
index 0000000..17bb04e
--- /dev/null
+++ b/curses/clear.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wclear(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, clear)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/clearok.c b/curses/clearok.c
new file mode 100644
index 0000000..317dba6
--- /dev/null
+++ b/curses/clearok.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int clearok(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/clrtobot.c b/curses/clrtobot.c
new file mode 100644
index 0000000..8381299
--- /dev/null
+++ b/curses/clrtobot.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wclrtobot(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, clrtobot)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/clrtoeol.c b/curses/clrtoeol.c
new file mode 100644
index 0000000..189e9d6
--- /dev/null
+++ b/curses/clrtoeol.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wclrtoeol(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, clrtoeol)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/color_content.c b/curses/color_content.c
new file mode 100644
index 0000000..7202527
--- /dev/null
+++ b/curses/color_content.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int color_content(short color, short * red, short * green, short * blue)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/color_set.c b/curses/color_set.c
new file mode 100644
index 0000000..35f9465
--- /dev/null
+++ b/curses/color_set.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wcolor_set(WINDOW * win, short color_pair_number, void * opts)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, color_set, short, void *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/copywin.c b/curses/copywin.c
new file mode 100644
index 0000000..48134b8
--- /dev/null
+++ b/curses/copywin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int copywin(const WINDOW * srcwin, WINDOW * dstwin, int sminrow, int smincol, int dminrow, int dmincol, int dmaxrow, int dmaxcol, int overlay)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/curs_set.c b/curses/curs_set.c
new file mode 100644
index 0000000..cbbfcf2
--- /dev/null
+++ b/curses/curs_set.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int curs_set(int visibility)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/curscr.c b/curses/curscr.c
new file mode 100644
index 0000000..04bc426
--- /dev/null
+++ b/curses/curscr.c
@@ -0,0 +1,6 @@
+#include <curses.h>
+SCREEN *curscr;
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/def_prog_mode.c b/curses/def_prog_mode.c
new file mode 100644
index 0000000..a96c122
--- /dev/null
+++ b/curses/def_prog_mode.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int def_prog_mode(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/def_shell_mode.c b/curses/def_shell_mode.c
new file mode 100644
index 0000000..c9b1b78
--- /dev/null
+++ b/curses/def_shell_mode.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int def_shell_mode(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/delay_output.c b/curses/delay_output.c
new file mode 100644
index 0000000..3247f9c
--- /dev/null
+++ b/curses/delay_output.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int delay_output(int ms)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/delch.c b/curses/delch.c
new file mode 100644
index 0000000..074852d
--- /dev/null
+++ b/curses/delch.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wdelch(WINDOW * win)
+{
+ (void)win;
+ return ERR;
+}
+
+CURSES_FUNCTION0(int, delch)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/deleteln.c b/curses/deleteln.c
new file mode 100644
index 0000000..a18a3bf
--- /dev/null
+++ b/curses/deleteln.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wdeleteln(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, deleteln)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/delscreen.c b/curses/delscreen.c
new file mode 100644
index 0000000..f57bff7
--- /dev/null
+++ b/curses/delscreen.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void delscreen(SCREEN * sp)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/delwin.c b/curses/delwin.c
new file mode 100644
index 0000000..228463b
--- /dev/null
+++ b/curses/delwin.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void delwin(WINDOW * win)
+{
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/derwin.c b/curses/derwin.c
new file mode 100644
index 0000000..1ce2b99
--- /dev/null
+++ b/curses/derwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+WINDOW * derwin(WINDOW * orig, int nlines, int ncols, int begin_y, int begin_x)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/doupdate.c b/curses/doupdate.c
new file mode 100644
index 0000000..dcefe63
--- /dev/null
+++ b/curses/doupdate.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int doupdate(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/dupwin.c b/curses/dupwin.c
new file mode 100644
index 0000000..c5d1456
--- /dev/null
+++ b/curses/dupwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+WINDOW * dupwin(WINDOW * win)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/echo.c b/curses/echo.c
new file mode 100644
index 0000000..0e840b5
--- /dev/null
+++ b/curses/echo.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int echo(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/echo_wchar.c b/curses/echo_wchar.c
new file mode 100644
index 0000000..2f7686f
--- /dev/null
+++ b/curses/echo_wchar.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wecho_wchar(WINDOW * win, const cchar_t * wch)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, echo_wchar, const cchar_t * wch)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/echochar.c b/curses/echochar.c
new file mode 100644
index 0000000..a307743
--- /dev/null
+++ b/curses/echochar.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wechochar(WINDOW * win, const chtype wch)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, echochar, const chtype wch)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/endwin.c b/curses/endwin.c
new file mode 100644
index 0000000..34bae0c
--- /dev/null
+++ b/curses/endwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int endwin(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/erase.c b/curses/erase.c
new file mode 100644
index 0000000..7920533
--- /dev/null
+++ b/curses/erase.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int werase(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, erase)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/erasechar.c b/curses/erasechar.c
new file mode 100644
index 0000000..af888e1
--- /dev/null
+++ b/curses/erasechar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+char erasechar(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/erasewchar.c b/curses/erasewchar.c
new file mode 100644
index 0000000..f65efe1
--- /dev/null
+++ b/curses/erasewchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int erasewchar(wchar_t * ch)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/filter.c b/curses/filter.c
new file mode 100644
index 0000000..c82b421
--- /dev/null
+++ b/curses/filter.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void filter(void)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/flash.c b/curses/flash.c
new file mode 100644
index 0000000..1672d65
--- /dev/null
+++ b/curses/flash.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int flash(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/flushinp.c b/curses/flushinp.c
new file mode 100644
index 0000000..5c95518
--- /dev/null
+++ b/curses/flushinp.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int flushinp(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/get_wch.c b/curses/get_wch.c
new file mode 100644
index 0000000..c3c538f
--- /dev/null
+++ b/curses/get_wch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wget_wch(WINDOW * win, wint_t * ch)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, get_wch, wint_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/get_wstr.c b/curses/get_wstr.c
new file mode 100644
index 0000000..67e6f71
--- /dev/null
+++ b/curses/get_wstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#inlcude <limits.h>
+#include "_curses.h"
+
+int wget_wstr(WINDOW * win, wint_t * wstr)
+{
+ return wgetn_wstr(win, wstr, INT_MAX);
+}
+
+CURSES_FUNCTION(int, get_wstr, wint_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getbegyx.c b/curses/getbegyx.c
new file mode 100644
index 0000000..47ccd28
--- /dev/null
+++ b/curses/getbegyx.c
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define getbegyx(_win, _y, _x) /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/getbkgd.c b/curses/getbkgd.c
new file mode 100644
index 0000000..3858406
--- /dev/null
+++ b/curses/getbkgd.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+chtype getbkgd(WINDOW * win)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getbkgrnd.c b/curses/getbkgrnd.c
new file mode 100644
index 0000000..5a3c8f5
--- /dev/null
+++ b/curses/getbkgrnd.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+chtype wgetbkgrnd(WINDOW * win, cchar_t * wch)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, getbkgrnd, cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getcchar.c b/curses/getcchar.c
new file mode 100644
index 0000000..d95128d
--- /dev/null
+++ b/curses/getcchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int getcchar(const cchar_t * wcval, wchar_t * wch, attr_t * attrs, short * color_pair, void * opts)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getch.c b/curses/getch.c
new file mode 100644
index 0000000..cc83d0a
--- /dev/null
+++ b/curses/getch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wgetch(WINDOW * win)
+{
+ return 0;
+}
+
+CURSES_FUNCTION0(int, getch)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/getmaxyx.c b/curses/getmaxyx.c
new file mode 100644
index 0000000..ed1363f
--- /dev/null
+++ b/curses/getmaxyx.c
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define getmaxyx(_win, _y, _x) /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/getn_wstr.c b/curses/getn_wstr.c
new file mode 100644
index 0000000..08b584b
--- /dev/null
+++ b/curses/getn_wstr.c
@@ -0,0 +1,15 @@
+#include <curses.h>
+#inlcude <limits.h>
+#include "_curses.h"
+
+int wgetn_wstr(WINDOW * win, wint_t * wstr, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, getn_wstr, wint_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getnstr.c b/curses/getnstr.c
new file mode 100644
index 0000000..99bdc05
--- /dev/null
+++ b/curses/getnstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wgetnstr(WINDOW * win, char * str, int n)
+{
+ return 0;
+}
+
+CURSES_FUNCTION2(int, getnstr, char *, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/getparyx.c b/curses/getparyx.c
new file mode 100644
index 0000000..ce85037
--- /dev/null
+++ b/curses/getparyx.c
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define getparyx(_win, _y, _x) /* TODO */
+/*
+XOPEN(400)
+*/
diff --git a/curses/getstr.c b/curses/getstr.c
new file mode 100644
index 0000000..f9dd98c
--- /dev/null
+++ b/curses/getstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wgetstr(WINDOW * win, char * str)
+{
+ return 0;
+}
+
+CURSES_FUNCTION(int, getstr, char *)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/getwin.c b/curses/getwin.c
new file mode 100644
index 0000000..3c229b7
--- /dev/null
+++ b/curses/getwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdio.h>
+
+WINDOW * getwin(FILE * filep)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/getyx.c b/curses/getyx.c
new file mode 100644
index 0000000..0a1e76d
--- /dev/null
+++ b/curses/getyx.c
@@ -0,0 +1,5 @@
+#include <curses.h>
+#define getyx(_win, _y, _x) /* TODO */
+/*
+XOPEN(4)
+*/
diff --git a/curses/halfdelay.c b/curses/halfdelay.c
new file mode 100644
index 0000000..2ec3c04
--- /dev/null
+++ b/curses/halfdelay.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int halfdelay(int tenths)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/has_colors.c b/curses/has_colors.c
new file mode 100644
index 0000000..b0180d6
--- /dev/null
+++ b/curses/has_colors.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool has_colors(void)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/has_ic.c b/curses/has_ic.c
new file mode 100644
index 0000000..f907f26
--- /dev/null
+++ b/curses/has_ic.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool has_ic(void)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/has_il.c b/curses/has_il.c
new file mode 100644
index 0000000..dc4c961
--- /dev/null
+++ b/curses/has_il.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool has_il(void)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/hline.c b/curses/hline.c
new file mode 100644
index 0000000..f584964
--- /dev/null
+++ b/curses/hline.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int whline(WINDOW * win, chtype ch, int n)
+{
+ return 0;
+}
+
+CURSES_FUNCTION2(int, hline, chtype, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/hline_set.c b/curses/hline_set.c
new file mode 100644
index 0000000..2492ab1
--- /dev/null
+++ b/curses/hline_set.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int whline_set(WINDOW * win, const cchar_t * wch, int n)
+{
+ return 0;
+}
+
+CURSES_FUNCTION2(int, hline_set, const cchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/idcok.c b/curses/idcok.c
new file mode 100644
index 0000000..892785f
--- /dev/null
+++ b/curses/idcok.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void idcok(WINDOW * win, bool bf)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/idlok.c b/curses/idlok.c
new file mode 100644
index 0000000..db27c8f
--- /dev/null
+++ b/curses/idlok.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int idlok(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/immedok.c b/curses/immedok.c
new file mode 100644
index 0000000..383f974
--- /dev/null
+++ b/curses/immedok.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void immedok(WINDOW * win, bool bf)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/in_wch.c b/curses/in_wch.c
new file mode 100644
index 0000000..9d095fb
--- /dev/null
+++ b/curses/in_wch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int win_wch(WINDOW * win, cchar_t * wcval)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, in_wch, cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/in_wchnstr.c b/curses/in_wchnstr.c
new file mode 100644
index 0000000..337bf4a
--- /dev/null
+++ b/curses/in_wchnstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int win_wchnstr(WINDOW * win, cchar_t * wcstr, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, in_wchnstr, cchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/in_wchstr.c b/curses/in_wchstr.c
new file mode 100644
index 0000000..4f81266
--- /dev/null
+++ b/curses/in_wchstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int win_wchstr(WINDOW * win, cchar_t * wcstr)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, in_wchstr, cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/inch.c b/curses/inch.c
new file mode 100644
index 0000000..5e23dcc
--- /dev/null
+++ b/curses/inch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+chtype winch(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION0(chtype, inch)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/inchnstr.c b/curses/inchnstr.c
new file mode 100644
index 0000000..a674041
--- /dev/null
+++ b/curses/inchnstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winchnstr(WINDOW * win, chtype * chstr, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, inchnstr, chtype *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/inchstr.c b/curses/inchstr.c
new file mode 100644
index 0000000..a061c63
--- /dev/null
+++ b/curses/inchstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winchstr(WINDOW * win, chtype * chstr)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, inchstr, chtype *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/init_color.c b/curses/init_color.c
new file mode 100644
index 0000000..5d1c727
--- /dev/null
+++ b/curses/init_color.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int init_color(short color, short red, short green, short blue)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/init_pair.c b/curses/init_pair.c
new file mode 100644
index 0000000..84537d1
--- /dev/null
+++ b/curses/init_pair.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int init_pair(short pai, short f, short b)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/initscr.c b/curses/initscr.c
new file mode 100644
index 0000000..884d31f
--- /dev/null
+++ b/curses/initscr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+WINDOW * initscr(void)
+{
+ (void)newterm(getenv("TERM"), stdout, stdin);
+ return stdscr;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/innstr.c b/curses/innstr.c
new file mode 100644
index 0000000..aada853
--- /dev/null
+++ b/curses/innstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winnstr(WINDOW * win, char * str, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, innstr, char *, int n)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/innwstr.c b/curses/innwstr.c
new file mode 100644
index 0000000..3518b6c
--- /dev/null
+++ b/curses/innwstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winnwstr(WINDOW * win, wchar_t * wstr, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, innwstr, wchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/ins_nwstr.c b/curses/ins_nwstr.c
new file mode 100644
index 0000000..276106d
--- /dev/null
+++ b/curses/ins_nwstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int ins_nwstr(WINDOW * win, const wchar_t * wstr, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, ins_nwstr, const wchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/ins_wch.c b/curses/ins_wch.c
new file mode 100644
index 0000000..0f295c1
--- /dev/null
+++ b/curses/ins_wch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int ins_wch(WINDOW * win, const cchar_t * wch)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, ins_wch, const cchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/ins_wstr.c b/curses/ins_wstr.c
new file mode 100644
index 0000000..5668eb9
--- /dev/null
+++ b/curses/ins_wstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int ins_wstr(WINDOW * win, const wchar_t * wstr)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, ins_wstr, const wchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/insch.c b/curses/insch.c
new file mode 100644
index 0000000..8461d1c
--- /dev/null
+++ b/curses/insch.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winsch(WINDOW * win, chtype ch)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, inchstr, chtype)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/insdelln.c b/curses/insdelln.c
new file mode 100644
index 0000000..2a0bddc
--- /dev/null
+++ b/curses/insdelln.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winsdelln(WINDOW * win, int n)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, insdelln, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/insertln.c b/curses/insertln.c
new file mode 100644
index 0000000..fbc3dd0
--- /dev/null
+++ b/curses/insertln.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winsertln(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, insertln)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/insnstr.c b/curses/insnstr.c
new file mode 100644
index 0000000..5460135
--- /dev/null
+++ b/curses/insnstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winsnstr(WINDOW * win, const char * str, int n)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION2(int, insnstr, const char *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/insstr.c b/curses/insstr.c
new file mode 100644
index 0000000..9253d6f
--- /dev/null
+++ b/curses/insstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winsstr(WINDOW * win, const char * str)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, insstr, const char *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/instr.c b/curses/instr.c
new file mode 100644
index 0000000..62b3826
--- /dev/null
+++ b/curses/instr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winstr(WINDOW * win, char * str)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, instr, char *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/intrflush.c b/curses/intrflush.c
new file mode 100644
index 0000000..8ea6ca4
--- /dev/null
+++ b/curses/intrflush.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int intrflush(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/inwstr.c b/curses/inwstr.c
new file mode 100644
index 0000000..5128093
--- /dev/null
+++ b/curses/inwstr.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int winwstr(WINDOW * win, wchar_t * wstr)
+{
+ return ERR;
+}
+
+CURSES_FUNCTION(int, inwstr, wchar_t *)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/is_linetouched.c b/curses/is_linetouched.c
new file mode 100644
index 0000000..b744642
--- /dev/null
+++ b/curses/is_linetouched.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool is_linetouched(WINDOW * win, int line)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/is_wintouched.c b/curses/is_wintouched.c
new file mode 100644
index 0000000..28ede26
--- /dev/null
+++ b/curses/is_wintouched.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool is_wintouched(WINDOW * win)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/isendwin.c b/curses/isendwin.c
new file mode 100644
index 0000000..d4b717c
--- /dev/null
+++ b/curses/isendwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+bool isendwin(void)
+{
+ return FALSE;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/key_name.c b/curses/key_name.c
new file mode 100644
index 0000000..e11641d
--- /dev/null
+++ b/curses/key_name.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+char * key_name(wchar_t c)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/keyname.c b/curses/keyname.c
new file mode 100644
index 0000000..9b20175
--- /dev/null
+++ b/curses/keyname.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+char * keyname(int c)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/keypad.c b/curses/keypad.c
new file mode 100644
index 0000000..56daeb5
--- /dev/null
+++ b/curses/keypad.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int keypad(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/killchar.c b/curses/killchar.c
new file mode 100644
index 0000000..c0de4a0
--- /dev/null
+++ b/curses/killchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+char killchar(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/killwchar.c b/curses/killwchar.c
new file mode 100644
index 0000000..c47b80f
--- /dev/null
+++ b/curses/killwchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int killwchar(wchar_t * ch)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/leaveok.c b/curses/leaveok.c
new file mode 100644
index 0000000..ebcc44d
--- /dev/null
+++ b/curses/leaveok.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int leaveok(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/longname.c b/curses/longname.c
new file mode 100644
index 0000000..8d47594
--- /dev/null
+++ b/curses/longname.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+char * longname(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/meta.c b/curses/meta.c
new file mode 100644
index 0000000..0d61ed3
--- /dev/null
+++ b/curses/meta.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+int meta(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/move.c b/curses/move.c
new file mode 100644
index 0000000..59d1699
--- /dev/null
+++ b/curses/move.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wmove(WINDOW * win, int y, int x)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, move, int, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/mvcur.c b/curses/mvcur.c
new file mode 100644
index 0000000..a4e02bb
--- /dev/null
+++ b/curses/mvcur.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int mvcur(int oldrow, int oldcol, int newrow, int newcol)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/mvderwin.c b/curses/mvderwin.c
new file mode 100644
index 0000000..cbea58a
--- /dev/null
+++ b/curses/mvderwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+WINDOW * mvderwin(WINDOW * orig, int par_y, int par_x)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/mvprintw.c b/curses/mvprintw.c
new file mode 100644
index 0000000..d0b9bfb
--- /dev/null
+++ b/curses/mvprintw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int mvprintw(int y, int x, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/mvscanw.c b/curses/mvscanw.c
new file mode 100644
index 0000000..d7849d3
--- /dev/null
+++ b/curses/mvscanw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int mvscanw(int y, int x, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/mvwin.c b/curses/mvwin.c
new file mode 100644
index 0000000..92f6823
--- /dev/null
+++ b/curses/mvwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int mvwin(WINDOW * win, int y, int x)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/mvwprintw.c b/curses/mvwprintw.c
new file mode 100644
index 0000000..e4b6e20
--- /dev/null
+++ b/curses/mvwprintw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int mvwprintw(WINDOW * win, int y, int x, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/mvwscanw.c b/curses/mvwscanw.c
new file mode 100644
index 0000000..a5ae33b
--- /dev/null
+++ b/curses/mvwscanw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int mvwscanw(WINDOW * win, int y, int x, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/napms.c b/curses/napms.c
new file mode 100644
index 0000000..e5a582e
--- /dev/null
+++ b/curses/napms.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int napms(int ms)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/newpad.c b/curses/newpad.c
new file mode 100644
index 0000000..498f91b
--- /dev/null
+++ b/curses/newpad.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+WINDOW * newpad(int nlines, int ncols)
+{
+ return NULL;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/newterm.c b/curses/newterm.c
new file mode 100644
index 0000000..fd979df
--- /dev/null
+++ b/curses/newterm.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+SCREEN * newterm(const char * type, FILE * outfile, FILE * infile)
+{
+ return NULL;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/newwin.c b/curses/newwin.c
new file mode 100644
index 0000000..f6628c3
--- /dev/null
+++ b/curses/newwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+WINDOW * newwin(int nlines, int ncols, int begin_y, int begin_x)
+{
+ return NULL;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/nl.c b/curses/nl.c
new file mode 100644
index 0000000..aed9b8b
--- /dev/null
+++ b/curses/nl.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int nl(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/nocbreak.c b/curses/nocbreak.c
new file mode 100644
index 0000000..4584043
--- /dev/null
+++ b/curses/nocbreak.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int nocbreak(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/nodelay.c b/curses/nodelay.c
new file mode 100644
index 0000000..52121a3
--- /dev/null
+++ b/curses/nodelay.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int nodelay(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/noecho.c b/curses/noecho.c
new file mode 100644
index 0000000..7239307
--- /dev/null
+++ b/curses/noecho.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int noecho(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/nonl.c b/curses/nonl.c
new file mode 100644
index 0000000..84dcb87
--- /dev/null
+++ b/curses/nonl.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int nonl(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/noqiflush.c b/curses/noqiflush.c
new file mode 100644
index 0000000..8ab5979
--- /dev/null
+++ b/curses/noqiflush.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void noqiflush(void)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/noraw.c b/curses/noraw.c
new file mode 100644
index 0000000..ef29342
--- /dev/null
+++ b/curses/noraw.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int noraw(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/notimeout.c b/curses/notimeout.c
new file mode 100644
index 0000000..d968293
--- /dev/null
+++ b/curses/notimeout.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int notimeout(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/overlay.c b/curses/overlay.c
new file mode 100644
index 0000000..471e9ba
--- /dev/null
+++ b/curses/overlay.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int overlay(const WINDOW * srcwin, WINDOW * dstwin)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/overwrite.c b/curses/overwrite.c
new file mode 100644
index 0000000..a0bce56
--- /dev/null
+++ b/curses/overwrite.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int overwrite(const WINDOW * srcwin, WINDOW * dstwin)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/pair_content.c b/curses/pair_content.c
new file mode 100644
index 0000000..7853bce
--- /dev/null
+++ b/curses/pair_content.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int pair_content(short pair, short * f, short * b)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/pecho_wchar.c b/curses/pecho_wchar.c
new file mode 100644
index 0000000..416be86
--- /dev/null
+++ b/curses/pecho_wchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int pecho_wchar(WINDOW * pad, const cchar_t * wch)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/pechochar.c b/curses/pechochar.c
new file mode 100644
index 0000000..3fcea5d
--- /dev/null
+++ b/curses/pechochar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int pechochar(WINDOW * pad, chtype ch)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/pnoutrefresh.c b/curses/pnoutrefresh.c
new file mode 100644
index 0000000..f029deb
--- /dev/null
+++ b/curses/pnoutrefresh.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int pnoutrefresh(WINDOW * pad, int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/prefresh.c b/curses/prefresh.c
new file mode 100644
index 0000000..21fbffa
--- /dev/null
+++ b/curses/prefresh.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int prefresh(WINDOW * pad, int pminrow, int pmincol, int sminrow, int smincol, int smaxrow, int smaxcol)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/printw.c b/curses/printw.c
new file mode 100644
index 0000000..836e4b0
--- /dev/null
+++ b/curses/printw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int printw(const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/putwin.c b/curses/putwin.c
new file mode 100644
index 0000000..67d28fc
--- /dev/null
+++ b/curses/putwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdio.h>
+
+int putwin(WINDOW * win, FILE * filep)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/qiflush.c b/curses/qiflush.c
new file mode 100644
index 0000000..41b6c78
--- /dev/null
+++ b/curses/qiflush.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void qiflush(void)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/raw.c b/curses/raw.c
new file mode 100644
index 0000000..d68d661
--- /dev/null
+++ b/curses/raw.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int raw(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/redrawwin.c b/curses/redrawwin.c
new file mode 100644
index 0000000..bf33ebe
--- /dev/null
+++ b/curses/redrawwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int redrawwin(WINDOW * win)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/refresh.c b/curses/refresh.c
new file mode 100644
index 0000000..d25e509
--- /dev/null
+++ b/curses/refresh.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wrefresh(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, refresh)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/reset_prog_mode.c b/curses/reset_prog_mode.c
new file mode 100644
index 0000000..1a3d34e
--- /dev/null
+++ b/curses/reset_prog_mode.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int reset_prog_mode(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/reset_shell_mode.c b/curses/reset_shell_mode.c
new file mode 100644
index 0000000..81db6a4
--- /dev/null
+++ b/curses/reset_shell_mode.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int reset_shell_mode(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/resetty.c b/curses/resetty.c
new file mode 100644
index 0000000..7211eb8
--- /dev/null
+++ b/curses/resetty.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int resetty(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/ripoffline.c b/curses/ripoffline.c
new file mode 100644
index 0000000..cf5f32c
--- /dev/null
+++ b/curses/ripoffline.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int ripoffline(int line, int (*init)(WINDOW * win, int columns))
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/savetty.c b/curses/savetty.c
new file mode 100644
index 0000000..54755ba
--- /dev/null
+++ b/curses/savetty.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int savetty(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/scanw.c b/curses/scanw.c
new file mode 100644
index 0000000..f6cb88e
--- /dev/null
+++ b/curses/scanw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int scanw(const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/scr_dump.c b/curses/scr_dump.c
new file mode 100644
index 0000000..2b6acf5
--- /dev/null
+++ b/curses/scr_dump.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int scr_dump(const char * filename)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/scr_init.c b/curses/scr_init.c
new file mode 100644
index 0000000..846f92a
--- /dev/null
+++ b/curses/scr_init.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int scr_init(const char * filename)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/scr_restore.c b/curses/scr_restore.c
new file mode 100644
index 0000000..b2f7916
--- /dev/null
+++ b/curses/scr_restore.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int scr_restore(const char * filename)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/scr_set.c b/curses/scr_set.c
new file mode 100644
index 0000000..0cf4da9
--- /dev/null
+++ b/curses/scr_set.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int scr_set(const char * filename)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/scrl.c b/curses/scrl.c
new file mode 100644
index 0000000..3caf42a
--- /dev/null
+++ b/curses/scrl.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wscrl(WINDOW * win, int n)
+{
+ return ERR;
+}
+
+CURSES_WFN1(int, scrl, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/scrollok.c b/curses/scrollok.c
new file mode 100644
index 0000000..2c49295
--- /dev/null
+++ b/curses/scrollok.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int scrollok(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/set_term.c b/curses/set_term.c
new file mode 100644
index 0000000..f7b4609
--- /dev/null
+++ b/curses/set_term.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+SCREEN * set_term(SCREEN * new)
+{
+ return new;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/setcchar.c b/curses/setcchar.c
new file mode 100644
index 0000000..0697872
--- /dev/null
+++ b/curses/setcchar.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int setcchar(cchar_t * wcval, const wchar_t * wch, const attr_t attrs, short color_pair, const void * opts)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/setscrreg.c b/curses/setscrreg.c
new file mode 100644
index 0000000..c7eb053
--- /dev/null
+++ b/curses/setscrreg.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wsetscrreg(WINDOW * win, int top, int bot)
+{
+ return ERR;
+}
+
+CURSES_WFN2(int, setscrreg, int, int)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/slk_attr_off.c b/curses/slk_attr_off.c
new file mode 100644
index 0000000..ad9ec4f
--- /dev/null
+++ b/curses/slk_attr_off.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attr_off(const chtype attrs, void * opts)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_attr_on.c b/curses/slk_attr_on.c
new file mode 100644
index 0000000..33fc652
--- /dev/null
+++ b/curses/slk_attr_on.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attr_on(const chtype attrs, void * opts)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_attr_set.c b/curses/slk_attr_set.c
new file mode 100644
index 0000000..b9ecfe5
--- /dev/null
+++ b/curses/slk_attr_set.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attr_set(const chtype attrs, short color_pair_number, void * opts)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_attroff.c b/curses/slk_attroff.c
new file mode 100644
index 0000000..378314e
--- /dev/null
+++ b/curses/slk_attroff.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attroff(const chtype attrs)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_attron.c b/curses/slk_attron.c
new file mode 100644
index 0000000..4708d20
--- /dev/null
+++ b/curses/slk_attron.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attron(const chtype attrs)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_attrset.c b/curses/slk_attrset.c
new file mode 100644
index 0000000..55302b4
--- /dev/null
+++ b/curses/slk_attrset.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_attrset(const chtype attrs)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_clear.c b/curses/slk_clear.c
new file mode 100644
index 0000000..cb50889
--- /dev/null
+++ b/curses/slk_clear.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_clear(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_color.c b/curses/slk_color.c
new file mode 100644
index 0000000..8b737b8
--- /dev/null
+++ b/curses/slk_color.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_color(short color_pair_number)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_init.c b/curses/slk_init.c
new file mode 100644
index 0000000..3511b62
--- /dev/null
+++ b/curses/slk_init.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_init(int fmt)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_label.c b/curses/slk_label.c
new file mode 100644
index 0000000..ea8b7f4
--- /dev/null
+++ b/curses/slk_label.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+char * slk_label(int labnum)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_noutrefresh.c b/curses/slk_noutrefresh.c
new file mode 100644
index 0000000..31e551c
--- /dev/null
+++ b/curses/slk_noutrefresh.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_noutrefresh(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_refresh.c b/curses/slk_refresh.c
new file mode 100644
index 0000000..8be8285
--- /dev/null
+++ b/curses/slk_refresh.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_refresh(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_restore.c b/curses/slk_restore.c
new file mode 100644
index 0000000..70b5d13
--- /dev/null
+++ b/curses/slk_restore.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_restore(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_set.c b/curses/slk_set.c
new file mode 100644
index 0000000..85bf631
--- /dev/null
+++ b/curses/slk_set.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_set(int labnum, const char * label, int justify)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_touch.c b/curses/slk_touch.c
new file mode 100644
index 0000000..d24de7c
--- /dev/null
+++ b/curses/slk_touch.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_touch(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/slk_wset.c b/curses/slk_wset.c
new file mode 100644
index 0000000..9029b09
--- /dev/null
+++ b/curses/slk_wset.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int slk_wset(int labnum, const wchar_t * label, int justify)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/standend.c b/curses/standend.c
new file mode 100644
index 0000000..640a965
--- /dev/null
+++ b/curses/standend.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wstandend(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, standend)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/standout.c b/curses/standout.c
new file mode 100644
index 0000000..121ee02
--- /dev/null
+++ b/curses/standout.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wstandout(WINDOW * win)
+{
+ return ERR;
+}
+
+CURSES_WFN0(int, standout)
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/start_color.c b/curses/start_color.c
new file mode 100644
index 0000000..6e160b6
--- /dev/null
+++ b/curses/start_color.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int start_color(void)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/stdscr.c b/curses/stdscr.c
new file mode 100644
index 0000000..a3aef95
--- /dev/null
+++ b/curses/stdscr.c
@@ -0,0 +1,6 @@
+#include <curses.h>
+WINDOW *stdscr;
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/subpad.c b/curses/subpad.c
new file mode 100644
index 0000000..32da730
--- /dev/null
+++ b/curses/subpad.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+WINDOW * subpad(WINDOW * orig, int nlines, int ncols, int begin_y, int begin_x)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/subwin.c b/curses/subwin.c
new file mode 100644
index 0000000..5092bef
--- /dev/null
+++ b/curses/subwin.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+WINDOW * subwin(WINDOW * orig, int nlines, int ncols, int begin_y, int begin_x)
+{
+ return NULL;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/syncok.c b/curses/syncok.c
new file mode 100644
index 0000000..ec66338
--- /dev/null
+++ b/curses/syncok.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int syncok(WINDOW * win, bool bf)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/term_attrs.c b/curses/term_attrs.c
new file mode 100644
index 0000000..9f3ca16
--- /dev/null
+++ b/curses/term_attrs.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+attr_t terma_ttrs(void)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/termattrs.c b/curses/termattrs.c
new file mode 100644
index 0000000..52db3c3
--- /dev/null
+++ b/curses/termattrs.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+chtype termattrs(void)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/termname.c b/curses/termname.c
new file mode 100644
index 0000000..232114b
--- /dev/null
+++ b/curses/termname.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stddef.h>
+
+char * termname(void)
+{
+ return NULL;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/timeout.c b/curses/timeout.c
new file mode 100644
index 0000000..4553541
--- /dev/null
+++ b/curses/timeout.c
@@ -0,0 +1,13 @@
+#include <curses.h>
+#include "_curses.h"
+
+void wtimeout(int delay)
+{
+}
+
+CURSES_VWFN1(timeout, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/touchline.c b/curses/touchline.c
new file mode 100644
index 0000000..2ba36c4
--- /dev/null
+++ b/curses/touchline.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int touchline(WINDOW * win, int start, int count)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/touchwin.c b/curses/touchwin.c
new file mode 100644
index 0000000..24e46e8
--- /dev/null
+++ b/curses/touchwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int touchwin(WINDOW * win)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/typeahead.c b/curses/typeahead.c
new file mode 100644
index 0000000..f010b66
--- /dev/null
+++ b/curses/typeahead.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int typeahead(int fildes)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/unget_wch.c b/curses/unget_wch.c
new file mode 100644
index 0000000..9837bfa
--- /dev/null
+++ b/curses/unget_wch.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int unget_wch(const wchar_t wch)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/ungetch.c b/curses/ungetch.c
new file mode 100644
index 0000000..cb6a41c
--- /dev/null
+++ b/curses/ungetch.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int ungetch(int ch)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/untouchwin.c b/curses/untouchwin.c
new file mode 100644
index 0000000..1e9c101
--- /dev/null
+++ b/curses/untouchwin.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int untouchwin(WINDOW * win)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/use_env.c b/curses/use_env.c
new file mode 100644
index 0000000..d335872
--- /dev/null
+++ b/curses/use_env.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void use_env(bool boolval)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vid_attr.c b/curses/vid_attr.c
new file mode 100644
index 0000000..54ad8df
--- /dev/null
+++ b/curses/vid_attr.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int vid_ttr(attr_t attr, short color_pair_number, void * opt)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vid_puts.c b/curses/vid_puts.c
new file mode 100644
index 0000000..df2643c
--- /dev/null
+++ b/curses/vid_puts.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int vid_puts(attr_t attr, short color_pair_number, void * opt, int (*putfunc)(int))
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vidattr.c b/curses/vidattr.c
new file mode 100644
index 0000000..d0ac642
--- /dev/null
+++ b/curses/vidattr.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int vidattr(chtype attr)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vidputs.c b/curses/vidputs.c
new file mode 100644
index 0000000..33b4e44
--- /dev/null
+++ b/curses/vidputs.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int vidputs(chtype attr, int (*putfunc)(int))
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vline.c b/curses/vline.c
new file mode 100644
index 0000000..0bc7567
--- /dev/null
+++ b/curses/vline.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wvline(WINDOW * win, chtype ch, int n)
+{
+ return 0;
+}
+
+CURSES_FUNCTION2(int, vline, chtype, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vline_set.c b/curses/vline_set.c
new file mode 100644
index 0000000..0e5a1ec
--- /dev/null
+++ b/curses/vline_set.c
@@ -0,0 +1,14 @@
+#include <curses.h>
+#include "_curses.h"
+
+int wvline_set(WINDOW * win, const cchar_t * wch, int n)
+{
+ return 0;
+}
+
+CURSES_FUNCTION2(int, vline_set, const cchar_t *, int)
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vw_printw.c b/curses/vw_printw.c
new file mode 100644
index 0000000..b247dd9
--- /dev/null
+++ b/curses/vw_printw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int vw_printw(WINDOW * win, const char * fmt, va_list varglist)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/vw_scanw.c b/curses/vw_scanw.c
new file mode 100644
index 0000000..33ec0a3
--- /dev/null
+++ b/curses/vw_scanw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int vw_scanw(WINDOW * win, const char * fmt, va_list varglist)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wchar_t.ref b/curses/wchar_t.ref
new file mode 100644
index 0000000..d41ca4e
--- /dev/null
+++ b/curses/wchar_t.ref
@@ -0,0 +1,3 @@
+#include <curses.h>
+REFERENCE(stddef/wchar_t.c)
+XOPEN(400)
diff --git a/curses/wcursyncup.c b/curses/wcursyncup.c
new file mode 100644
index 0000000..8cb7d98
--- /dev/null
+++ b/curses/wcursyncup.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void wcursyncup(WINDOW * win)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wint_t.ref b/curses/wint_t.ref
new file mode 100644
index 0000000..2cd7b5d
--- /dev/null
+++ b/curses/wint_t.ref
@@ -0,0 +1,3 @@
+#include <curses.h>
+REFERENCE(wctype/wint_t.c)
+XOPEN(400)
diff --git a/curses/wnoutrefresh.c b/curses/wnoutrefresh.c
new file mode 100644
index 0000000..5eb2b71
--- /dev/null
+++ b/curses/wnoutrefresh.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int wnoutrefresh(WINDOW * win)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/wprintw.c b/curses/wprintw.c
new file mode 100644
index 0000000..77b7eff
--- /dev/null
+++ b/curses/wprintw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int wprintw(WINDOW * win, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/wredrawln.c b/curses/wredrawln.c
new file mode 100644
index 0000000..3293c4f
--- /dev/null
+++ b/curses/wredrawln.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int wredrawln(WINDOW * win, int beg_line, int num_lines)
+{
+ return ERR;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wscanw.c b/curses/wscanw.c
new file mode 100644
index 0000000..cbbfeaf
--- /dev/null
+++ b/curses/wscanw.c
@@ -0,0 +1,12 @@
+#include <curses.h>
+#include <stdarg.h>
+
+int wscanw(WINDOW * win, const char * fmt, ...)
+{
+ return ERR;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/
diff --git a/curses/wsyncdown.c b/curses/wsyncdown.c
new file mode 100644
index 0000000..6027ed9
--- /dev/null
+++ b/curses/wsyncdown.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void wsyncdown(WINDOW * win)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wsyncup.c b/curses/wsyncup.c
new file mode 100644
index 0000000..db7a446
--- /dev/null
+++ b/curses/wsyncup.c
@@ -0,0 +1,10 @@
+#include <curses.h>
+
+void wsyncup(WINDOW * win)
+{
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wtouchln.c b/curses/wtouchln.c
new file mode 100644
index 0000000..b521d05
--- /dev/null
+++ b/curses/wtouchln.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+int wtouchln(WINDOW * win, int y, int x, int changed)
+{
+ return ERR
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/curses/wunctrl.c b/curses/wunctrl.c
new file mode 100644
index 0000000..352e0a3
--- /dev/null
+++ b/curses/wunctrl.c
@@ -0,0 +1,11 @@
+#include <curses.h>
+
+wchar_t * wunctrl(cchar_t * wc)
+{
+ return (wchar_t*) wc;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/TERMINAL.h b/term/TERMINAL.h
new file mode 100644
index 0000000..38528a3
--- /dev/null
+++ b/term/TERMINAL.h
@@ -0,0 +1,7 @@
+#include <term.h>
+
+typedef struct __TERMINAL TERMINAL;
+
+/*
+XOPEN(400)
+*/
diff --git a/term/acs_chars.c b/term/acs_chars.c
new file mode 100644
index 0000000..7d5d91a
--- /dev/null
+++ b/term/acs_chars.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define acs_chars tigetstr("acsc")
+
+/** graphic charset paris aAbBcC **/
+
+/*
+TERMINFO_NAME(acsc)
+TERMCAP_NAME(ac)
+XOPEN(400)
+*/
diff --git a/term/alt_scancode_esc.c b/term/alt_scancode_esc.c
new file mode 100644
index 0000000..e81d590
--- /dev/null
+++ b/term/alt_scancode_esc.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define alt_scancode_esc tigetstr("scesa")
+
+/** alternate escape for scancode emulation **/
+
+/*
+TERMINFO_NAME(scesa)
+TERMCAP_NAME(S8)
+XOPEN(400)
+*/
diff --git a/term/auto_left_margin.c b/term/auto_left_margin.c
new file mode 100644
index 0000000..028de1b
--- /dev/null
+++ b/term/auto_left_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define auto_left_margin tigetflag("bw")
+
+/** TERMCAP(cub1) wraps from column 0 to last column **/
+
+/*
+TERMINFO_NAME(bw)
+TERMCAP_NAME(bw)
+XOPEN(400)
+*/
diff --git a/term/auto_right_margin.c b/term/auto_right_margin.c
new file mode 100644
index 0000000..0d746bf
--- /dev/null
+++ b/term/auto_right_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define auto_right_margin tigetflag("am")
+
+/** terminal has automatic margins **/
+
+/*
+TERMINFO_NAME(am)
+TERMCAP_NAME(am)
+XOPEN(400)
+*/
diff --git a/term/back_color_erase.c b/term/back_color_erase.c
new file mode 100644
index 0000000..722daac
--- /dev/null
+++ b/term/back_color_erase.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define back_color_erase tigetflag("bce")
+
+/** screen erased with background color **/
+
+/*
+TERMINFO_NAME(bce)
+TERMCAP_NAME(ut)
+XOPEN(400)
+*/
diff --git a/term/back_tab.c b/term/back_tab.c
new file mode 100644
index 0000000..a877a7c
--- /dev/null
+++ b/term/back_tab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define back_tab tigetstr("cbt")
+
+/** back tab **/
+
+/*
+TERMINFO_NAME(cbt)
+TERMCAP_NAME(bt)
+XOPEN(400)
+*/
diff --git a/term/bell.c b/term/bell.c
new file mode 100644
index 0000000..31bc1b5
--- /dev/null
+++ b/term/bell.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bell tigetstr("bel")
+
+/** audible signal (bell) **/
+
+/*
+TERMINFO_NAME(bel)
+TERMCAP_NAME(bl)
+XOPEN(400)
+*/
diff --git a/term/bit_image_carriage_return.c b/term/bit_image_carriage_return.c
new file mode 100644
index 0000000..7488672
--- /dev/null
+++ b/term/bit_image_carriage_return.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bit_image_carriage_return tigetstr("bicr")
+
+/** move to beginning of same row **/
+
+/*
+TERMINFO_NAME(bicr)
+TERMCAP_NAME(Yv)
+XOPEN(400)
+*/
diff --git a/term/bit_image_entwining.c b/term/bit_image_entwining.c
new file mode 100644
index 0000000..ac46094
--- /dev/null
+++ b/term/bit_image_entwining.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bit_image_entwining tigetnum("bitwin")
+
+/** numbe of passes for each bit-map row **/
+
+/*
+TERMINFO_NAME(bitwin)
+TERMCAP_NAME(Yo)
+XOPEN(400)
+*/
diff --git a/term/bit_image_newline.c b/term/bit_image_newline.c
new file mode 100644
index 0000000..6536f4d
--- /dev/null
+++ b/term/bit_image_newline.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bit_image_newline tigetstr("binel")
+
+/** move to next row of the bit image **/
+
+/*
+TERMINFO_NAME(binel)
+TERMCAP_NAME(Zz)
+XOPEN(400)
+*/
diff --git a/term/bit_image_repeat.c b/term/bit_image_repeat.c
new file mode 100644
index 0000000..b552670
--- /dev/null
+++ b/term/bit_image_repeat.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bit_image_repeat tigetstr("birep")
+
+/** repeate bit-image cell #1 #2 times **/
+
+/*
+TERMINFO_NAME(birep)
+TERMCAP_NAME(Xy)
+XOPEN(400)
+*/
diff --git a/term/bit_image_type.c b/term/bit_image_type.c
new file mode 100644
index 0000000..6c03a4c
--- /dev/null
+++ b/term/bit_image_type.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define bit_image_type tigetnum("bitype")
+
+/** type of bit image device **/
+
+/*
+TERMINFO_NAME(bitype)
+TERMCAP_NAME(Yp)
+XOPEN(400)
+*/
diff --git a/term/buffer_capacity.c b/term/buffer_capacity.c
new file mode 100644
index 0000000..10f6cf6
--- /dev/null
+++ b/term/buffer_capacity.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define buffer_capacity tigetnum("bufsz")
+
+/** number of bytes buffered before printing **/
+
+/*
+TERMINFO_NAME(bufsz)
+TERMCAP_NAME(Ya)
+XOPEN(400)
+*/
diff --git a/term/buttons.c b/term/buttons.c
new file mode 100644
index 0000000..46bb4cd
--- /dev/null
+++ b/term/buttons.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define buttons tigetnum("btns")
+
+/** number of buttons on the mouse **/
+
+/*
+TERMINFO_NAME(btns)
+TERMCAP_NAME(BT)
+XOPEN(400)
+*/
diff --git a/term/can_change.c b/term/can_change.c
new file mode 100644
index 0000000..d4d1c6c
--- /dev/null
+++ b/term/can_change.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define can_change tigetflag("ccc")
+
+/** terminal can re-define exising color **/
+
+/*
+TERMINFO_NAME(ccc)
+TERMCAP_NAME(cc)
+XOPEN(400)
+*/
diff --git a/term/carriage_return.c b/term/carriage_return.c
new file mode 100644
index 0000000..408141f
--- /dev/null
+++ b/term/carriage_return.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define carriage_return tigetstr("cr")
+
+/** carriage return **/
+
+/*
+TERMINFO_NAME(cr)
+TERMCAP_NAME(cr)
+XOPEN(400)
+*/
diff --git a/term/ceol_standout_glitch.c b/term/ceol_standout_glitch.c
new file mode 100644
index 0000000..2d24fcc
--- /dev/null
+++ b/term/ceol_standout_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define ceol_standout_glitch tigetflag("xhp")
+
+/** standout not erased by overwriting **/
+
+/*
+TERMINFO_NAME(xhp)
+TERMCAP_NAME(xs)
+XOPEN(400)
+*/
diff --git a/term/change_char_pitch.c b/term/change_char_pitch.c
new file mode 100644
index 0000000..20659e0
--- /dev/null
+++ b/term/change_char_pitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define change_char_pitch tigetstr("cpi")
+
+/** change number of characters per inch **/
+
+/*
+TERMINFO_NAME(cpi)
+TERMCAP_NAME(ZA)
+XOPEN(400)
+*/
diff --git a/term/change_line_pitch.c b/term/change_line_pitch.c
new file mode 100644
index 0000000..654b67a
--- /dev/null
+++ b/term/change_line_pitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define change_line_pitch tigetstr("lpi")
+
+/** change number of lines per inch **/
+
+/*
+TERMINFO_NAME(lpi)
+TERMCAP_NAME(ZB)
+XOPEN(400)
+*/
diff --git a/term/change_res_horz.c b/term/change_res_horz.c
new file mode 100644
index 0000000..f19a0a1
--- /dev/null
+++ b/term/change_res_horz.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define change_res_horz tigetstr("chr")
+
+/** change horizontal resolution **/
+
+/*
+TERMINFO_NAME(chr)
+TERMCAP_NAME(ZC)
+XOPEN(400)
+*/
diff --git a/term/change_res_vert.c b/term/change_res_vert.c
new file mode 100644
index 0000000..6be62dd
--- /dev/null
+++ b/term/change_res_vert.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define change_res_vert tigetstr("cvr")
+
+/** change vertical resolution **/
+
+/*
+TERMINFO_NAME(cvr)
+TERMCAP_NAME(ZD)
+XOPEN(400)
+*/
diff --git a/term/change_scroll_region.c b/term/change_scroll_region.c
new file mode 100644
index 0000000..126c01f
--- /dev/null
+++ b/term/change_scroll_region.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define change_scroll_region tigetstr("csr")
+
+/** change to lines #1 through #2 **/
+
+/*
+TERMINFO_NAME(csr)
+TERMCAP_NAME(cs)
+XOPEN(400)
+*/
diff --git a/term/char_padding.c b/term/char_padding.c
new file mode 100644
index 0000000..d3274d9
--- /dev/null
+++ b/term/char_padding.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define char_padding tigetstr("rmp")
+
+/** like TERMCAP(ip) but when in replace mode **/
+
+/*
+TERMINFO_NAME(rmp)
+TERMCAP_NAME(rP)
+XOPEN(400)
+*/
diff --git a/term/char_set_names.c b/term/char_set_names.c
new file mode 100644
index 0000000..da6579b
--- /dev/null
+++ b/term/char_set_names.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define char_set_names tigetstr("csnm")
+
+/** return a list of character set names **/
+
+/*
+TERMINFO_NAME(csnm)
+TERMCAP_NAME(Zy)
+XOPEN(400)
+*/
diff --git a/term/clear_all_tabs.c b/term/clear_all_tabs.c
new file mode 100644
index 0000000..cc4730f
--- /dev/null
+++ b/term/clear_all_tabs.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clear_all_tabs tigetstr("tbc")
+
+/** clear all tab stops **/
+
+/*
+TERMINFO_NAME(tbc)
+TERMCAP_NAME(ct)
+XOPEN(400)
+*/
diff --git a/term/clear_margins.c b/term/clear_margins.c
new file mode 100644
index 0000000..de547fa
--- /dev/null
+++ b/term/clear_margins.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clear_margins tigetstr("mgc")
+
+/** clear all margins (top, bottom, and sides) **/
+
+/*
+TERMINFO_NAME(mgc)
+TERMCAP_NAME(MC)
+XOPEN(400)
+*/
diff --git a/term/clear_screen.c b/term/clear_screen.c
new file mode 100644
index 0000000..73d8606
--- /dev/null
+++ b/term/clear_screen.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clear_screen tigetstr("clear")
+
+/** clear screen and home cursor **/
+
+/*
+TERMINFO_NAME(clear)
+TERMCAP_NAME(cl)
+XOPEN(400)
+*/
diff --git a/term/clr_bol.c b/term/clr_bol.c
new file mode 100644
index 0000000..4993e07
--- /dev/null
+++ b/term/clr_bol.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clr_bol tigetstr("el1")
+
+/** clear to beginning of line, inclusive **/
+
+/*
+TERMINFO_NAME(el1)
+TERMCAP_NAME(cb)
+XOPEN(400)
+*/
diff --git a/term/clr_eol.c b/term/clr_eol.c
new file mode 100644
index 0000000..e94964d
--- /dev/null
+++ b/term/clr_eol.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clr_eol tigetstr("el")
+
+/** clear to end of line **/
+
+/*
+TERMINFO_NAME(el)
+TERMCAP_NAME(ce)
+XOPEN(400)
+*/
diff --git a/term/clr_eos.c b/term/clr_eos.c
new file mode 100644
index 0000000..cb7f839
--- /dev/null
+++ b/term/clr_eos.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define clr_eos tigetstr("el")
+
+/** clear to end of display **/
+
+/*
+TERMINFO_NAME(el)
+TERMCAP_NAME(ce)
+XOPEN(400)
+*/
diff --git a/term/code_set_init.c b/term/code_set_init.c
new file mode 100644
index 0000000..c7f4bd9
--- /dev/null
+++ b/term/code_set_init.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define code_set_init tigetstr("csin")
+
+/** init sequence for multiple codesets **/
+
+/*
+TERMINFO_NAME(csin)
+TERMCAP_NAME(ci)
+XOPEN(400)
+*/
diff --git a/term/col_addr_glitch.c b/term/col_addr_glitch.c
new file mode 100644
index 0000000..84bb840
--- /dev/null
+++ b/term/col_addr_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define col_addr_glitch tigetflag("xhpa")
+
+/** only positive motion for TERMCAP(hpa)/TERMCAP(mhpa) **/
+
+/*
+TERMINFO_NAME(xhpa)
+TERMCAP_NAME(YA)
+XOPEN(400)
+*/
diff --git a/term/color_names.c b/term/color_names.c
new file mode 100644
index 0000000..c0c896b
--- /dev/null
+++ b/term/color_names.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define color_names tigetstr("colornm")
+
+/** give name for color #1 **/
+
+/*
+TERMINFO_NAME(colornm)
+TERMCAP_NAME(Yw)
+XOPEN(400)
+*/
diff --git a/term/column_address.c b/term/column_address.c
new file mode 100644
index 0000000..cfc22b9
--- /dev/null
+++ b/term/column_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define column_address tigetstr("hpa")
+
+/** set horizontal position to absolute #1 **/
+
+/*
+TERMINFO_NAME(hpa)
+TERMCAP_NAME(ch)
+XOPEN(400)
+*/
diff --git a/term/columns.c b/term/columns.c
new file mode 100644
index 0000000..f693eb4
--- /dev/null
+++ b/term/columns.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define columns tigetnum("cols")
+
+/** number of columns in a line **/
+
+/*
+TERMINFO_NAME(cols)
+TERMCAP_NAME(co)
+XOPEN(400)
+*/
diff --git a/term/command_character.c b/term/command_character.c
new file mode 100644
index 0000000..7114ef8
--- /dev/null
+++ b/term/command_character.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define command_character tigetstr("cmdch")
+
+/** terminal settable cmd character in prototype **/
+
+/*
+TERMINFO_NAME(cmdch)
+TERMCAP_NAME(CC)
+XOPEN(400)
+*/
diff --git a/term/cpi_change_res.c b/term/cpi_change_res.c
new file mode 100644
index 0000000..b949f13
--- /dev/null
+++ b/term/cpi_change_res.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cpi_change_res tigetflag("cpix")
+
+/** changing character pitch changes resolution **/
+
+/*
+TERMINFO_NAME(cpix)
+TERMCAP_NAME(YF)
+XOPEN(400)
+*/
diff --git a/term/cr_cancles_micro_mode.c b/term/cr_cancles_micro_mode.c
new file mode 100644
index 0000000..1bc2d6a
--- /dev/null
+++ b/term/cr_cancles_micro_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cr_cancles_micro_mode tigetflag("crxm")
+
+/** using TERMCAP(cr) turns off micro mode **/
+
+/*
+TERMINFO_NAME(crxm)
+TERMCAP_NAME(YB)
+XOPEN(400)
+*/
diff --git a/term/create_window.c b/term/create_window.c
new file mode 100644
index 0000000..b02653f
--- /dev/null
+++ b/term/create_window.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define create_window tigetstr("cwin")
+
+/** define window #1 to go from #2,#3 to #4,#5 **/
+
+/*
+TERMINFO_NAME(cwin)
+TERMCAP_NAME(CW)
+XOPEN(400)
+*/
diff --git a/term/cur_term.c b/term/cur_term.c
new file mode 100644
index 0000000..4e26483
--- /dev/null
+++ b/term/cur_term.c
@@ -0,0 +1,8 @@
+#include <term.h>
+
+TERMINAL * cur_term;
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/cursor_address.c b/term/cursor_address.c
new file mode 100644
index 0000000..e48005b
--- /dev/null
+++ b/term/cursor_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_address tigetstr("cup")
+
+/** move to row #1 col #2 **/
+
+/*
+TERMINFO_NAME(cup)
+TERMCAP_NAME(cm)
+XOPEN(400)
+*/
diff --git a/term/cursor_down.c b/term/cursor_down.c
new file mode 100644
index 0000000..220c389
--- /dev/null
+++ b/term/cursor_down.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_down tigetstr("cudl")
+
+/** down one line **/
+
+/*
+TERMINFO_NAME(cudl)
+TERMCAP_NAME(do)
+XOPEN(400)
+*/
diff --git a/term/cursor_home.c b/term/cursor_home.c
new file mode 100644
index 0000000..02271d1
--- /dev/null
+++ b/term/cursor_home.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_home tigetstr("home")
+
+/** home cursor (if no TERMCAP(cup)) **/
+
+/*
+TERMINFO_NAME(home)
+TERMCAP_NAME(ho)
+XOPEN(400)
+*/
diff --git a/term/cursor_invisible.c b/term/cursor_invisible.c
new file mode 100644
index 0000000..2987927
--- /dev/null
+++ b/term/cursor_invisible.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_invisible tigetstr("civis")
+
+/** make cursor invisible **/
+
+/*
+TERMINFO_NAME(civis)
+TERMCAP_NAME(vi)
+XOPEN(400)
+*/
diff --git a/term/cursor_left.c b/term/cursor_left.c
new file mode 100644
index 0000000..fc436f8
--- /dev/null
+++ b/term/cursor_left.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_left tigetstr("cubl")
+
+/** move left one space **/
+
+/*
+TERMINFO_NAME(cubl)
+TERMCAP_NAME(le)
+XOPEN(400)
+*/
diff --git a/term/cursor_mem_address.c b/term/cursor_mem_address.c
new file mode 100644
index 0000000..f59b697
--- /dev/null
+++ b/term/cursor_mem_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_mem_address tigetstr("mrcup")
+
+/** memory relative cursor addressing **/
+
+/*
+TERMINFO_NAME(mrcup)
+TERMCAP_NAME(CM)
+XOPEN(400)
+*/
diff --git a/term/cursor_normal.c b/term/cursor_normal.c
new file mode 100644
index 0000000..f8414cf
--- /dev/null
+++ b/term/cursor_normal.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_normal tigetstr("cnorm")
+
+/** make cursor appear normal **/
+
+/*
+TERMINFO_NAME(cnorm)
+TERMCAP_NAME(ve)
+XOPEN(400)
+*/
diff --git a/term/cursor_right.c b/term/cursor_right.c
new file mode 100644
index 0000000..3ec6293
--- /dev/null
+++ b/term/cursor_right.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_right tigetstr("cufl")
+
+/** non-destructive space (cursor or carriage right) **/
+
+/*
+TERMINFO_NAME(cufl)
+TERMCAP_NAME(nd)
+XOPEN(400)
+*/
diff --git a/term/cursor_to_ll.c b/term/cursor_to_ll.c
new file mode 100644
index 0000000..d023086
--- /dev/null
+++ b/term/cursor_to_ll.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_to_ll tigetstr("ll")
+
+/** last line, first column (if no (TERMCAP(cup)) **/
+
+/*
+TERMINFO_NAME(ll)
+TERMCAP_NAME(ll)
+XOPEN(400)
+*/
diff --git a/term/cursor_up.c b/term/cursor_up.c
new file mode 100644
index 0000000..7ade9c0
--- /dev/null
+++ b/term/cursor_up.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_up tigetstr("cuul")
+
+/** upline (cursor up) **/
+
+/*
+TERMINFO_NAME(cuul)
+TERMCAP_NAME(up)
+XOPEN(400)
+*/
diff --git a/term/cursor_visible.c b/term/cursor_visible.c
new file mode 100644
index 0000000..6fef376
--- /dev/null
+++ b/term/cursor_visible.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define cursor_visible tigetstr("cvvis")
+
+/** make cursor very visible **/
+
+/*
+TERMINFO_NAME(cvvis)
+TERMCAP_NAME(vs)
+XOPEN(400)
+*/
diff --git a/term/define_bit_image_region.c b/term/define_bit_image_region.c
new file mode 100644
index 0000000..034167a
--- /dev/null
+++ b/term/define_bit_image_region.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define define_bit_image_region tigetstr("defbi")
+
+/** define rectangular bit-image region **/
+
+/*
+TERMINFO_NAME(defbi)
+TERMCAP_NAME(Yx)
+XOPEN(400)
+*/
diff --git a/term/define_char.c b/term/define_char.c
new file mode 100644
index 0000000..78b7ea1
--- /dev/null
+++ b/term/define_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define define_char tigetstr("defc")
+
+/** define a character in a character set **/
+
+/*
+TERMINFO_NAME(defc)
+TERMCAP_NAME(ZE)
+XOPEN(400)
+*/
diff --git a/term/del_curterm.c b/term/del_curterm.c
new file mode 100644
index 0000000..f0f0eed
--- /dev/null
+++ b/term/del_curterm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int del_curterm(TERMINAL * oterm)
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/delete_character.c b/term/delete_character.c
new file mode 100644
index 0000000..09da62b
--- /dev/null
+++ b/term/delete_character.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define delete_character tigetstr("dchl")
+
+/** delete character **/
+
+/*
+TERMINFO_NAME(dchl)
+TERMCAP_NAME(dc)
+XOPEN(400)
+*/
diff --git a/term/delete_line.c b/term/delete_line.c
new file mode 100644
index 0000000..9b20e7b
--- /dev/null
+++ b/term/delete_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define delete_line tigetstr("dll")
+
+/** delete line **/
+
+/*
+TERMINFO_NAME(dll)
+TERMCAP_NAME(dl)
+XOPEN(400)
+*/
diff --git a/term/dest_tabs_magic_smso.c b/term/dest_tabs_magic_smso.c
new file mode 100644
index 0000000..7394378
--- /dev/null
+++ b/term/dest_tabs_magic_smso.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define dest_tabs_magic_smso tigetflag("xt")
+
+/** destructive tabs, magic TERMCAP(smso) **/
+
+/*
+TERMINFO_NAME(xt)
+TERMCAP_NAME(xt)
+XOPEN(400)
+*/
diff --git a/term/device_type.c b/term/device_type.c
new file mode 100644
index 0000000..19a097e
--- /dev/null
+++ b/term/device_type.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define device_type tigetstr("devt")
+
+/** indicate language/codeset support **/
+
+/*
+TERMINFO_NAME(devt)
+TERMCAP_NAME(dv)
+XOPEN(400)
+*/
diff --git a/term/dial_phone.c b/term/dial_phone.c
new file mode 100644
index 0000000..edbf37e
--- /dev/null
+++ b/term/dial_phone.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define dial_phone tigetstr("dial")
+
+/** dial phone number #1 **/
+
+/*
+TERMINFO_NAME(dial)
+TERMCAP_NAME(DI)
+XOPEN(400)
+*/
diff --git a/term/dis_status_line.c b/term/dis_status_line.c
new file mode 100644
index 0000000..e340188
--- /dev/null
+++ b/term/dis_status_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define dis_status_line tigetstr("dsl")
+
+/** disable status line **/
+
+/*
+TERMINFO_NAME(dsl)
+TERMCAP_NAME(ds)
+XOPEN(400)
+*/
diff --git a/term/display_clock.c b/term/display_clock.c
new file mode 100644
index 0000000..39a3147
--- /dev/null
+++ b/term/display_clock.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define display_clock tigetstr("dclk")
+
+/** display time-of-dat clock **/
+
+/*
+TERMINFO_NAME(dclk)
+TERMCAP_NAME(DK)
+XOPEN(400)
+*/
diff --git a/term/display_pc_char.c b/term/display_pc_char.c
new file mode 100644
index 0000000..6cffb42
--- /dev/null
+++ b/term/display_pc_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define display_pc_char tigetstr("dispc")
+
+/** display PC character **/
+
+/*
+TERMINFO_NAME(dispc)
+TERMCAP_NAME(S1)
+XOPEN(400)
+*/
diff --git a/term/dot_horz_spacing.c b/term/dot_horz_spacing.c
new file mode 100644
index 0000000..91e1b4e
--- /dev/null
+++ b/term/dot_horz_spacing.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define dot_horz_spacing tigetnum("spinh")
+
+/** spacing of dots horizontally in dots per inch **/
+
+/*
+TERMINFO_NAME(spinh)
+TERMCAP_NAME(Yc)
+XOPEN(400)
+*/
diff --git a/term/dot_vert_spacing.c b/term/dot_vert_spacing.c
new file mode 100644
index 0000000..01a5f42
--- /dev/null
+++ b/term/dot_vert_spacing.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define dot_vert_spacing tigetnum("spinv")
+
+/** spacing of pins vertically in pins per inch **/
+
+/*
+TERMINFO_NAME(spinv)
+TERMCAP_NAME(Yb)
+XOPEN(400)
+*/
diff --git a/term/down_half_line.c b/term/down_half_line.c
new file mode 100644
index 0000000..d0a2f24
--- /dev/null
+++ b/term/down_half_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define down_half_line tigetstr("hd")
+
+/** half-line down (forward 1/2 linefeed) **/
+
+/*
+TERMINFO_NAME(hd)
+TERMCAP_NAME(hd)
+XOPEN(400)
+*/
diff --git a/term/eat_newline_glitch.c b/term/eat_newline_glitch.c
new file mode 100644
index 0000000..df519d9
--- /dev/null
+++ b/term/eat_newline_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define eat_newline_glitch tigetflag("xenl")
+
+/** newline ignored after 80 columns **/
+
+/*
+TERMINFO_NAME(xenl)
+TERMCAP_NAME(xn)
+XOPEN(400)
+*/
diff --git a/term/ena_acs.c b/term/ena_acs.c
new file mode 100644
index 0000000..e9b320b
--- /dev/null
+++ b/term/ena_acs.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define ena_acs tigetstr("enacs")
+
+/** enable alternate character set **/
+
+/*
+TERMINFO_NAME(enacs)
+TERMCAP_NAME(eA)
+XOPEN(400)
+*/
diff --git a/term/end_bit_image_region.c b/term/end_bit_image_region.c
new file mode 100644
index 0000000..ba8ba96
--- /dev/null
+++ b/term/end_bit_image_region.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define end_bit_image_region tigetstr("endbi")
+
+/** end a bit-image region **/
+
+/*
+TERMINFO_NAME(endbi)
+TERMCAP_NAME(Yy)
+XOPEN(400)
+*/
diff --git a/term/enter_alt_charset_mode.c b/term/enter_alt_charset_mode.c
new file mode 100644
index 0000000..ed08807
--- /dev/null
+++ b/term/enter_alt_charset_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_alt_charset_mode tigetstr("smacs")
+
+/** start alternate character set **/
+
+/*
+TERMINFO_NAME(smacs)
+TERMCAP_NAME(as)
+XOPEN(400)
+*/
diff --git a/term/enter_am_mode.c b/term/enter_am_mode.c
new file mode 100644
index 0000000..557d987
--- /dev/null
+++ b/term/enter_am_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_am_mode tigetstr("smam")
+
+/** turn on automatic margins **/
+
+/*
+TERMINFO_NAME(smam)
+TERMCAP_NAME(SA)
+XOPEN(400)
+*/
diff --git a/term/enter_blink_mode.c b/term/enter_blink_mode.c
new file mode 100644
index 0000000..4a33903
--- /dev/null
+++ b/term/enter_blink_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_blink_mode tigetstr("blink")
+
+/** turn on blinking **/
+
+/*
+TERMINFO_NAME(blink)
+TERMCAP_NAME(mb)
+XOPEN(400)
+*/
diff --git a/term/enter_bold_mode.c b/term/enter_bold_mode.c
new file mode 100644
index 0000000..de3ce76
--- /dev/null
+++ b/term/enter_bold_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_bold_mode tigetstr("bold")
+
+/** turn on bold (extra bright) mode **/
+
+/*
+TERMINFO_NAME(bold)
+TERMCAP_NAME(md)
+XOPEN(400)
+*/
diff --git a/term/enter_ca_mode.c b/term/enter_ca_mode.c
new file mode 100644
index 0000000..78e91a1
--- /dev/null
+++ b/term/enter_ca_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_ca_mode tigetstr("smcup")
+
+/** string to being programs that use TERMCAP(cup) **/
+
+/*
+TERMINFO_NAME(smcup)
+TERMCAP_NAME(ti)
+XOPEN(400)
+*/
diff --git a/term/enter_delete_mode.c b/term/enter_delete_mode.c
new file mode 100644
index 0000000..42f313c
--- /dev/null
+++ b/term/enter_delete_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_delete_mode tigetstr("smdc")
+
+/** delete mode (enter) **/
+
+/*
+TERMINFO_NAME(smdc)
+TERMCAP_NAME(dm)
+XOPEN(400)
+*/
diff --git a/term/enter_dim_mode.c b/term/enter_dim_mode.c
new file mode 100644
index 0000000..8b97a88
--- /dev/null
+++ b/term/enter_dim_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_dim_mode tigetstr("dim")
+
+/** turn on half-bright mode **/
+
+/*
+TERMINFO_NAME(dim)
+TERMCAP_NAME(mh)
+XOPEN(400)
+*/
diff --git a/term/enter_doublewide_mode.c b/term/enter_doublewide_mode.c
new file mode 100644
index 0000000..bd3cb67
--- /dev/null
+++ b/term/enter_doublewide_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_doublewide_mode tigetstr("swidm")
+
+/** enable double wide printing **/
+
+/*
+TERMINFO_NAME(swidm)
+TERMCAP_NAME(ZF)
+XOPEN(400)
+*/
diff --git a/term/enter_draft_quality.c b/term/enter_draft_quality.c
new file mode 100644
index 0000000..f9902eb
--- /dev/null
+++ b/term/enter_draft_quality.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_draft_quality tigetstr("sdrfq")
+
+/** set draf quality print **/
+
+/*
+TERMINFO_NAME(sdrfq)
+TERMCAP_NAME(ZG)
+XOPEN(400)
+*/
diff --git a/term/enter_horizontal_hl_mode.c b/term/enter_horizontal_hl_mode.c
new file mode 100644
index 0000000..d24ad72
--- /dev/null
+++ b/term/enter_horizontal_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_horizontal_hl_mode tigetstr("ehhlm")
+
+/** turn on horizontal highlight mode **/
+
+/*
+TERMINFO_NAME(ehhlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_insert_mode.c b/term/enter_insert_mode.c
new file mode 100644
index 0000000..f35fcc7
--- /dev/null
+++ b/term/enter_insert_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_insert_mode tigetstr("smir")
+
+/** insert mode (enter) **/
+
+/*
+TERMINFO_NAME(smir)
+TERMCAP_NAME(im)
+XOPEN(400)
+*/
diff --git a/term/enter_italics_mode.c b/term/enter_italics_mode.c
new file mode 100644
index 0000000..0c11abc
--- /dev/null
+++ b/term/enter_italics_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_italics_mode tigetstr("sitm")
+
+/** enable italics **/
+
+/*
+TERMINFO_NAME(sitm)
+TERMCAP_NAME(im)
+XOPEN(400)
+*/
diff --git a/term/enter_left_hl_mode.c b/term/enter_left_hl_mode.c
new file mode 100644
index 0000000..7ab9973
--- /dev/null
+++ b/term/enter_left_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_left_hl_mode tigetstr("elhlm")
+
+/** turn on left highlight mode **/
+
+/*
+TERMINFO_NAME(elhlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_leftward_mode.c b/term/enter_leftward_mode.c
new file mode 100644
index 0000000..8303101
--- /dev/null
+++ b/term/enter_leftward_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_leftward_mode tigetstr("slm")
+
+/** enable leftware carriage motion **/
+
+/*
+TERMINFO_NAME(slm)
+TERMCAP_NAME(ZI)
+XOPEN(400)
+*/
diff --git a/term/enter_low_hl_mode.c b/term/enter_low_hl_mode.c
new file mode 100644
index 0000000..d8df62c
--- /dev/null
+++ b/term/enter_low_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_low_hl_mode tigetstr("elohlm")
+
+/** turn on low highlight mode **/
+
+/*
+TERMINFO_NAME(elohlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_micro_code.c b/term/enter_micro_code.c
new file mode 100644
index 0000000..34b419a
--- /dev/null
+++ b/term/enter_micro_code.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_micro_code tigetstr("smicm")
+
+/** enable micro motion capabilities **/
+
+/*
+TERMINFO_NAME(smicm)
+TERMCAP_NAME(ZJ)
+XOPEN(400)
+*/
diff --git a/term/enter_near_letter_quality.c b/term/enter_near_letter_quality.c
new file mode 100644
index 0000000..21d0f84
--- /dev/null
+++ b/term/enter_near_letter_quality.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_near_letter_quality tigetstr("snlq")
+
+/** set near-letter quality print **/
+
+/*
+TERMINFO_NAME(snlq)
+TERMCAP_NAME(ZJ)
+XOPEN(400)
+*/
diff --git a/term/enter_normal_quality.c b/term/enter_normal_quality.c
new file mode 100644
index 0000000..fe1b1aa
--- /dev/null
+++ b/term/enter_normal_quality.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_normal_quality tigetstr("snrmq")
+
+/** set normal quality print **/
+
+/*
+TERMINFO_NAME(snrmq)
+TERMCAP_NAME(ZL)
+XOPEN(400)
+*/
diff --git a/term/enter_pc_charset_mode.c b/term/enter_pc_charset_mode.c
new file mode 100644
index 0000000..8939acc
--- /dev/null
+++ b/term/enter_pc_charset_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_pc_charset_mode tigetstr("smpch")
+
+/** enter PC character display mode **/
+
+/*
+TERMINFO_NAME(smpch)
+TERMCAP_NAME(S2)
+XOPEN(400)
+*/
diff --git a/term/enter_protected_mode.c b/term/enter_protected_mode.c
new file mode 100644
index 0000000..da30463
--- /dev/null
+++ b/term/enter_protected_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_protected_mode tigetstr("prot")
+
+/** turn on protected mode **/
+
+/*
+TERMINFO_NAME(prot)
+TERMCAP_NAME(mp)
+XOPEN(400)
+*/
diff --git a/term/enter_reverse_mode.c b/term/enter_reverse_mode.c
new file mode 100644
index 0000000..8fca9b1
--- /dev/null
+++ b/term/enter_reverse_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_reverse_mode tigetstr("rev")
+
+/** turn on reverse video mode **/
+
+/*
+TERMINFO_NAME(rev)
+TERMCAP_NAME(mr)
+XOPEN(400)
+*/
diff --git a/term/enter_right_hl_mode.c b/term/enter_right_hl_mode.c
new file mode 100644
index 0000000..f8655d6
--- /dev/null
+++ b/term/enter_right_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_right_hl_mode tigetstr("erhlm")
+
+/** turn on right highlight mode **/
+
+/*
+TERMINFO_NAME(erhlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_scancode_mode.c b/term/enter_scancode_mode.c
new file mode 100644
index 0000000..34ec3c7
--- /dev/null
+++ b/term/enter_scancode_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_scancode_mode tigetstr("smsc")
+
+/** enter PC scancode mode **/
+
+/*
+TERMINFO_NAME(smsc)
+TERMCAP_NAME(S4)
+XOPEN(400)
+*/
diff --git a/term/enter_secure_mode.c b/term/enter_secure_mode.c
new file mode 100644
index 0000000..61e432e
--- /dev/null
+++ b/term/enter_secure_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_secure_mode tigetstr("invis")
+
+/** turn on blank mode (characters invisible) **/
+
+/*
+TERMINFO_NAME(invis)
+TERMCAP_NAME(mk)
+XOPEN(400)
+*/
diff --git a/term/enter_shadow_mode.c b/term/enter_shadow_mode.c
new file mode 100644
index 0000000..9607d03
--- /dev/null
+++ b/term/enter_shadow_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_shadow_mode tigetstr("sshm")
+
+/** enable shadow printing **/
+
+/*
+TERMINFO_NAME(sshm)
+TERMCAP_NAME(ZM)
+XOPEN(400)
+*/
diff --git a/term/enter_standout_mode.c b/term/enter_standout_mode.c
new file mode 100644
index 0000000..74d6f47
--- /dev/null
+++ b/term/enter_standout_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_standout_mode tigetstr("smso")
+
+/** begin standout mode **/
+
+/*
+TERMINFO_NAME(smso)
+TERMCAP_NAME(so)
+XOPEN(400)
+*/
diff --git a/term/enter_subscript_mode.c b/term/enter_subscript_mode.c
new file mode 100644
index 0000000..cfb0537
--- /dev/null
+++ b/term/enter_subscript_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_subscript_mode tigetstr("ssubm")
+
+/** enable subscript printing **/
+
+/*
+TERMINFO_NAME(ssubm)
+TERMCAP_NAME(ZN)
+XOPEN(400)
+*/
diff --git a/term/enter_superscript_mode.c b/term/enter_superscript_mode.c
new file mode 100644
index 0000000..71a87d4
--- /dev/null
+++ b/term/enter_superscript_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_superscript_mode tigetstr("ssupm")
+
+/** enable superscript printing **/
+
+/*
+TERMINFO_NAME(ssupm)
+TERMCAP_NAME(ZO)
+XOPEN(400)
+*/
diff --git a/term/enter_top_hl_mode.c b/term/enter_top_hl_mode.c
new file mode 100644
index 0000000..d0fade8
--- /dev/null
+++ b/term/enter_top_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_top_hl_mode tigetstr("ethlm")
+
+/** turn on top highlight mode **/
+
+/*
+TERMINFO_NAME(ethlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_underline_mode.c b/term/enter_underline_mode.c
new file mode 100644
index 0000000..c72503b
--- /dev/null
+++ b/term/enter_underline_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_underline_mode tigetstr("smul")
+
+/** start underscore mode **/
+
+/*
+TERMINFO_NAME(smul)
+TERMCAP_NAME(us)
+XOPEN(400)
+*/
diff --git a/term/enter_upward_mode.c b/term/enter_upward_mode.c
new file mode 100644
index 0000000..bcda154
--- /dev/null
+++ b/term/enter_upward_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_upward_mode tigetstr("sum")
+
+/** enable upward carriage motion **/
+
+/*
+TERMINFO_NAME(sum)
+TERMCAP_NAME(ZP)
+XOPEN(400)
+*/
diff --git a/term/enter_vertical_hl_mode.c b/term/enter_vertical_hl_mode.c
new file mode 100644
index 0000000..e0d4804
--- /dev/null
+++ b/term/enter_vertical_hl_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_vertical_hl_mode tigetstr("evhlm")
+
+/** turn on vertical highlight mode **/
+
+/*
+TERMINFO_NAME(evhlm)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/enter_xon_mode.c b/term/enter_xon_mode.c
new file mode 100644
index 0000000..0d0ccaf
--- /dev/null
+++ b/term/enter_xon_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define enter_xon_mode tigetstr("smxon")
+
+/** turn on xon/xoff handshaking **/
+
+/*
+TERMINFO_NAME(smxon)
+TERMCAP_NAME(SX)
+XOPEN(400)
+*/
diff --git a/term/erase_chars.c b/term/erase_chars.c
new file mode 100644
index 0000000..873bea3
--- /dev/null
+++ b/term/erase_chars.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define erase_chars tigetstr("ech")
+
+/** erase #1 chars **/
+
+/*
+TERMINFO_NAME(ech)
+TERMCAP_NAME(ec)
+XOPEN(400)
+*/
diff --git a/term/erase_overstrick.c b/term/erase_overstrick.c
new file mode 100644
index 0000000..6317cd9
--- /dev/null
+++ b/term/erase_overstrick.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define erase_overstrick tigetflag("eo")
+
+/** can erase overstrikes with a blank **/
+
+/*
+TERMINFO_NAME(eo)
+TERMCAP_NAME(eo)
+XOPEN(400)
+*/
diff --git a/term/exit_alt_charset_mode.c b/term/exit_alt_charset_mode.c
new file mode 100644
index 0000000..74cdfa3
--- /dev/null
+++ b/term/exit_alt_charset_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_alt_charset_mode tigetstr("rmacs")
+
+/** end alternate character set **/
+
+/*
+TERMINFO_NAME(rmacs)
+TERMCAP_NAME(ae)
+XOPEN(400)
+*/
diff --git a/term/exit_am_mode.c b/term/exit_am_mode.c
new file mode 100644
index 0000000..dc3d4cf
--- /dev/null
+++ b/term/exit_am_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_am_mode tigetstr("rmam")
+
+/** turn off automagic margins **/
+
+/*
+TERMINFO_NAME(rmam)
+TERMCAP_NAME(RA)
+XOPEN(400)
+*/
diff --git a/term/exit_attribute_mode.c b/term/exit_attribute_mode.c
new file mode 100644
index 0000000..43d2eda
--- /dev/null
+++ b/term/exit_attribute_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_attribute_mode tigetstr("sgr0")
+
+/** turn off all attributes **/
+
+/*
+TERMINFO_NAME(sgr0)
+TERMCAP_NAME(me)
+XOPEN(400)
+*/
diff --git a/term/exit_ca_mode.c b/term/exit_ca_mode.c
new file mode 100644
index 0000000..4a32dcf
--- /dev/null
+++ b/term/exit_ca_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_ca_mode tigetstr("rmcup")
+
+/** string to end programs that use TERMCAP(cup) **/
+
+/*
+TERMINFO_NAME(rmcup)
+TERMCAP_NAME(te)
+XOPEN(400)
+*/
diff --git a/term/exit_delete_mode.c b/term/exit_delete_mode.c
new file mode 100644
index 0000000..cc54202
--- /dev/null
+++ b/term/exit_delete_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_delete_mode tigetstr("rmdc")
+
+/** end delete mode **/
+
+/*
+TERMINFO_NAME(rmdc)
+TERMCAP_NAME(ed)
+XOPEN(400)
+*/
diff --git a/term/exit_doublewide_mode.c b/term/exit_doublewide_mode.c
new file mode 100644
index 0000000..8ac2d47
--- /dev/null
+++ b/term/exit_doublewide_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_doublewide_mode tigetstr("rwidm")
+
+/** disable double wide printing **/
+
+/*
+TERMINFO_NAME(rwidm)
+TERMCAP_NAME(ZQ)
+XOPEN(400)
+*/
diff --git a/term/exit_insert_mode.c b/term/exit_insert_mode.c
new file mode 100644
index 0000000..0a9d8b3
--- /dev/null
+++ b/term/exit_insert_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_insert_mode tigetstr("rmir")
+
+/** end insert mode **/
+
+/*
+TERMINFO_NAME(rmir)
+TERMCAP_NAME(ei)
+XOPEN(400)
+*/
diff --git a/term/exit_italics_mode.c b/term/exit_italics_mode.c
new file mode 100644
index 0000000..c83fb91
--- /dev/null
+++ b/term/exit_italics_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_italics_mode tigetstr("ritm")
+
+/** disable italics **/
+
+/*
+TERMINFO_NAME(ritm)
+TERMCAP_NAME(ZR)
+XOPEN(400)
+*/
diff --git a/term/exit_leftword_mode.c b/term/exit_leftword_mode.c
new file mode 100644
index 0000000..15f3e75
--- /dev/null
+++ b/term/exit_leftword_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_leftword_mode tigetstr("rlim")
+
+/** enable rightward (normal) carriage motion **/
+
+/*
+TERMINFO_NAME(rlim)
+TERMCAP_NAME(ZS)
+XOPEN(400)
+*/
diff --git a/term/exit_micro_mode.c b/term/exit_micro_mode.c
new file mode 100644
index 0000000..4400f0b
--- /dev/null
+++ b/term/exit_micro_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_micro_mode tigetstr("rmicm")
+
+/** disable micro motion capabilities **/
+
+/*
+TERMINFO_NAME(rmicm)
+TERMCAP_NAME(ZT)
+XOPEN(400)
+*/
diff --git a/term/exit_pc_charset_mode.c b/term/exit_pc_charset_mode.c
new file mode 100644
index 0000000..ca4db77
--- /dev/null
+++ b/term/exit_pc_charset_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_pc_charset_mode tigetstr("rmpch")
+
+/** disable PC character display mode **/
+
+/*
+TERMINFO_NAME(rmpch)
+TERMCAP_NAME(S3)
+XOPEN(400)
+*/
diff --git a/term/exit_scancode_mode.c b/term/exit_scancode_mode.c
new file mode 100644
index 0000000..3662fcc
--- /dev/null
+++ b/term/exit_scancode_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_scancode_mode tigetstr("rmcs")
+
+/** disable PC scancode mode **/
+
+/*
+TERMINFO_NAME(rmcs)
+TERMCAP_NAME(S5)
+XOPEN(400)
+*/
diff --git a/term/exit_shadow_mode.c b/term/exit_shadow_mode.c
new file mode 100644
index 0000000..6c18ba4
--- /dev/null
+++ b/term/exit_shadow_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_shadow_mode tigetstr("rshm")
+
+/** disable shadow printing **/
+
+/*
+TERMINFO_NAME(rshm)
+TERMCAP_NAME(ZU)
+XOPEN(400)
+*/
diff --git a/term/exit_standout_mode.c b/term/exit_standout_mode.c
new file mode 100644
index 0000000..625b4a7
--- /dev/null
+++ b/term/exit_standout_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_standout_mode tigetstr("rmso")
+
+/** end standout mode **/
+
+/*
+TERMINFO_NAME(rmso)
+TERMCAP_NAME(se)
+XOPEN(400)
+*/
diff --git a/term/exit_subscript_mode.c b/term/exit_subscript_mode.c
new file mode 100644
index 0000000..6916c1e
--- /dev/null
+++ b/term/exit_subscript_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_subscript_mode tigetstr("rsubm")
+
+/** dsiable subscript printing **/
+
+/*
+TERMINFO_NAME(rsubm)
+TERMCAP_NAME(ZV)
+XOPEN(400)
+*/
diff --git a/term/exit_superscript_mode.c b/term/exit_superscript_mode.c
new file mode 100644
index 0000000..ffaa6f9
--- /dev/null
+++ b/term/exit_superscript_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_superscript_mode tigetstr("rsupm")
+
+/** disable superscript printing **/
+
+/*
+TERMINFO_NAME(rsupm)
+TERMCAP_NAME(ZW)
+XOPEN(400)
+*/
diff --git a/term/exit_underline_mode.c b/term/exit_underline_mode.c
new file mode 100644
index 0000000..88a22fb
--- /dev/null
+++ b/term/exit_underline_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_underline_mode tigetstr("rmul")
+
+/** end underscore mode **/
+
+/*
+TERMINFO_NAME(rmul)
+TERMCAP_NAME(ue)
+XOPEN(400)
+*/
diff --git a/term/exit_upward_mode.c b/term/exit_upward_mode.c
new file mode 100644
index 0000000..fda525c
--- /dev/null
+++ b/term/exit_upward_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_upward_mode tigetstr("rum")
+
+/** enable downward (normal) carriage motion **/
+
+/*
+TERMINFO_NAME(rum)
+TERMCAP_NAME(ZX)
+XOPEN(400)
+*/
diff --git a/term/exit_xon_mode.c b/term/exit_xon_mode.c
new file mode 100644
index 0000000..0899420
--- /dev/null
+++ b/term/exit_xon_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define exit_xon_mode tigetstr("rmxon")
+
+/** turn off xon/xoff handshaking **/
+
+/*
+TERMINFO_NAME(rmxon)
+TERMCAP_NAME(RX)
+XOPEN(400)
+*/
diff --git a/term/fixed_pause.c b/term/fixed_pause.c
new file mode 100644
index 0000000..f5549f8
--- /dev/null
+++ b/term/fixed_pause.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define fixed_pause tigetstr("pause")
+
+/** pause for 2-3 seconds **/
+
+/*
+TERMINFO_NAME(pause)
+TERMCAP_NAME(PA)
+XOPEN(400)
+*/
diff --git a/term/flash_hook.c b/term/flash_hook.c
new file mode 100644
index 0000000..ed47957
--- /dev/null
+++ b/term/flash_hook.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define flash_hook tigetstr("hook")
+
+/** flash the switch hook **/
+
+/*
+TERMINFO_NAME(hook)
+TERMCAP_NAME(fh)
+XOPEN(400)
+*/
diff --git a/term/flash_screen.c b/term/flash_screen.c
new file mode 100644
index 0000000..00cbf84
--- /dev/null
+++ b/term/flash_screen.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define flash_screen tigetstr("flash")
+
+/** visible bell (may move cursor) **/
+
+/*
+TERMINFO_NAME(flash)
+TERMCAP_NAME(vb)
+XOPEN(400)
+*/
diff --git a/term/form_feed.c b/term/form_feed.c
new file mode 100644
index 0000000..443a0a3
--- /dev/null
+++ b/term/form_feed.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define form_feed tigetstr("ff")
+
+/** hardcopy terminal page eject **/
+
+/*
+TERMINFO_NAME(ff)
+TERMCAP_NAME(ff)
+XOPEN(400)
+*/
diff --git a/term/from_status_line.c b/term/from_status_line.c
new file mode 100644
index 0000000..dc871ff
--- /dev/null
+++ b/term/from_status_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define from_status_line tigetstr("fsl")
+
+/** return from status line **/
+
+/*
+TERMINFO_NAME(fsl)
+TERMCAP_NAME(fs)
+XOPEN(400)
+*/
diff --git a/term/generic_type.c b/term/generic_type.c
new file mode 100644
index 0000000..d642452
--- /dev/null
+++ b/term/generic_type.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define generic_type tigetflag("gn")
+
+/** generic line type **/
+
+/*
+TERMINFO_NAME(gn)
+TERMCAP_NAME(gn)
+XOPEN(400)
+*/
diff --git a/term/get_mouse.c b/term/get_mouse.c
new file mode 100644
index 0000000..c9b22ef
--- /dev/null
+++ b/term/get_mouse.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define get_mouse tigetstr("getm")
+
+/** curses should get button events **/
+
+/*
+TERMINFO_NAME(getm)
+TERMCAP_NAME(Gm)
+XOPEN(400)
+*/
diff --git a/term/goto_window.c b/term/goto_window.c
new file mode 100644
index 0000000..b564bb8
--- /dev/null
+++ b/term/goto_window.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define goto_window tigetstr("wingo")
+
+/** go to window #1 **/
+
+/*
+TERMINFO_NAME(wingo)
+TERMCAP_NAME(WG)
+XOPEN(400)
+*/
diff --git a/term/hangup.c b/term/hangup.c
new file mode 100644
index 0000000..4282f4a
--- /dev/null
+++ b/term/hangup.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define hangup tigetstr("hup")
+
+/** hang up phone **/
+
+/*
+TERMINFO_NAME(hup)
+TERMCAP_NAME(HU)
+XOPEN(400)
+*/
diff --git a/term/hard_copy.c b/term/hard_copy.c
new file mode 100644
index 0000000..9b33977
--- /dev/null
+++ b/term/hard_copy.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define hard_copy tigetflag("hc")
+
+/** hardcopy terminal **/
+
+/*
+TERMINFO_NAME(hc)
+TERMCAP_NAME(hc)
+XOPEN(400)
+*/
diff --git a/term/hard_cursor.c b/term/hard_cursor.c
new file mode 100644
index 0000000..a3e8c1c
--- /dev/null
+++ b/term/hard_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define hard_cursor tigetflag("chts")
+
+/** cursor is hard to see **/
+
+/*
+TERMINFO_NAME(chts)
+TERMCAP_NAME(HC)
+XOPEN(400)
+*/
diff --git a/term/has_meta_key.c b/term/has_meta_key.c
new file mode 100644
index 0000000..8a0e511
--- /dev/null
+++ b/term/has_meta_key.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define has_meta_key tigetflag("km")
+
+/** has a meta key **/
+
+/*
+TERMINFO_NAME(km)
+TERMCAP_NAME(km)
+XOPEN(400)
+*/
diff --git a/term/has_print_wheel.c b/term/has_print_wheel.c
new file mode 100644
index 0000000..4b936db
--- /dev/null
+++ b/term/has_print_wheel.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define has_print_wheel tigetflag("daisy")
+
+/** printer needs operator to change character set **/
+
+/*
+TERMINFO_NAME(daisy)
+TERMCAP_NAME(YC)
+XOPEN(400)
+*/
diff --git a/term/has_status_line.c b/term/has_status_line.c
new file mode 100644
index 0000000..eed68b6
--- /dev/null
+++ b/term/has_status_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define has_status_line tigetflag("hs")
+
+/** has extra "status line" **/
+
+/*
+TERMINFO_NAME(hs)
+TERMCAP_NAME(hs)
+XOPEN(400)
+*/
diff --git a/term/hue_lightness_saturation.c b/term/hue_lightness_saturation.c
new file mode 100644
index 0000000..4954ef6
--- /dev/null
+++ b/term/hue_lightness_saturation.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define hue_lightness_saturation tigetflag("hls")
+
+/** terminal uses only HLS color notation **/
+
+/*
+TERMINFO_NAME(hls)
+TERMCAP_NAME(hl)
+XOPEN(400)
+*/
diff --git a/term/init_1string.c b/term/init_1string.c
new file mode 100644
index 0000000..8e79ec5
--- /dev/null
+++ b/term/init_1string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_1string tigetstr("is1")
+
+/** terminal or printer initialization string **/
+
+/*
+TERMINFO_NAME(is1)
+TERMCAP_NAME(i1)
+XOPEN(400)
+*/
diff --git a/term/init_2string.c b/term/init_2string.c
new file mode 100644
index 0000000..c655cb1
--- /dev/null
+++ b/term/init_2string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_2string tigetstr("is2")
+
+/** terminal or printer initialization string **/
+
+/*
+TERMINFO_NAME(is2)
+TERMCAP_NAME(i2)
+XOPEN(400)
+*/
diff --git a/term/init_3string.c b/term/init_3string.c
new file mode 100644
index 0000000..34dd7a6
--- /dev/null
+++ b/term/init_3string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_3string tigetstr("is3")
+
+/** terminal or printer initialization string **/
+
+/*
+TERMINFO_NAME(is3)
+TERMCAP_NAME(i3)
+XOPEN(400)
+*/
diff --git a/term/init_file.c b/term/init_file.c
new file mode 100644
index 0000000..c0d7a9f
--- /dev/null
+++ b/term/init_file.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_file tigetstr("if")
+
+/** name of initialization file **/
+
+/*
+TERMINFO_NAME(if)
+TERMCAP_NAME(if)
+XOPEN(400)
+*/
diff --git a/term/init_prog.c b/term/init_prog.c
new file mode 100644
index 0000000..bf39cdb
--- /dev/null
+++ b/term/init_prog.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_prog tigetstr("iprog")
+
+/** path name of program for initialization **/
+
+/*
+TERMINFO_NAME(iprog)
+TERMCAP_NAME(iP)
+XOPEN(400)
+*/
diff --git a/term/init_tabs.c b/term/init_tabs.c
new file mode 100644
index 0000000..7594b2b
--- /dev/null
+++ b/term/init_tabs.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define init_tabs tigetnum("it")
+
+/** tabs initially every # spaces **/
+
+/*
+TERMINFO_NAME(it)
+TERMCAP_NAME(it)
+XOPEN(400)
+*/
diff --git a/term/initialize_color.c b/term/initialize_color.c
new file mode 100644
index 0000000..a089b1d
--- /dev/null
+++ b/term/initialize_color.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define initialize_color tigetstr("initc")
+
+/** set color #1 to RGB #2,#3,#4 **/
+
+/*
+TERMINFO_NAME(initc)
+TERMCAP_NAME(IC)
+XOPEN(400)
+*/
diff --git a/term/initialize_pair.c b/term/initialize_pair.c
new file mode 100644
index 0000000..8fa2465
--- /dev/null
+++ b/term/initialize_pair.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define initialize_pair tigetstr("initp")
+
+/** set color pair #1 to fg #2, bg #3 **/
+
+/*
+TERMINFO_NAME(initp)
+TERMCAP_NAME(Ip)
+XOPEN(400)
+*/
diff --git a/term/insert_character.c b/term/insert_character.c
new file mode 100644
index 0000000..5073861
--- /dev/null
+++ b/term/insert_character.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define insert_character tigetstr("ichl")
+
+/** insert character **/
+
+/*
+TERMINFO_NAME(ichl)
+TERMCAP_NAME(ic)
+XOPEN(400)
+*/
diff --git a/term/insert_line.c b/term/insert_line.c
new file mode 100644
index 0000000..283937b
--- /dev/null
+++ b/term/insert_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define insert_line tigetstr("ill")
+
+/** add a new blank line **/
+
+/*
+TERMINFO_NAME(ill)
+TERMCAP_NAME(al)
+XOPEN(400)
+*/
diff --git a/term/insert_null_glitch.c b/term/insert_null_glitch.c
new file mode 100644
index 0000000..3f97d2b
--- /dev/null
+++ b/term/insert_null_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define insert_null_glitch tigetflag("in")
+
+/** insert mode distinguishes nulls **/
+
+/*
+TERMINFO_NAME(in)
+TERMCAP_NAME(in)
+XOPEN(400)
+*/
diff --git a/term/insert_padding.c b/term/insert_padding.c
new file mode 100644
index 0000000..59e9dae
--- /dev/null
+++ b/term/insert_padding.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define insert_padding tigetstr("ip")
+
+/** insert pad after characters inserted **/
+
+/*
+TERMINFO_NAME(ip)
+TERMCAP_NAME(ip)
+XOPEN(400)
+*/
diff --git a/term/key_a1.c b/term/key_a1.c
new file mode 100644
index 0000000..e5ec286
--- /dev/null
+++ b/term/key_a1.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_a1 tigetstr("ka1")
+
+/** upper left of keypad **/
+
+/*
+TERMINFO_NAME(ka1)
+TERMCAP_NAME(K1)
+XOPEN(400)
+*/
diff --git a/term/key_a3.c b/term/key_a3.c
new file mode 100644
index 0000000..6eefb6c
--- /dev/null
+++ b/term/key_a3.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_a3 tigetstr("ka3")
+
+/** upper right of keypad **/
+
+/*
+TERMINFO_NAME(ka3)
+TERMCAP_NAME(K3)
+XOPEN(400)
+*/
diff --git a/term/key_b2.c b/term/key_b2.c
new file mode 100644
index 0000000..9afa01a
--- /dev/null
+++ b/term/key_b2.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_b2 tigetstr("kb2")
+
+/** center of keypad **/
+
+/*
+TERMINFO_NAME(kb2)
+TERMCAP_NAME(K2)
+XOPEN(400)
+*/
diff --git a/term/key_backspace.c b/term/key_backspace.c
new file mode 100644
index 0000000..b68e500
--- /dev/null
+++ b/term/key_backspace.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_backspace tigetstr("kbs")
+
+/** backspace key **/
+
+/*
+TERMINFO_NAME(kbs)
+TERMCAP_NAME(kb)
+XOPEN(400)
+*/
diff --git a/term/key_beg.c b/term/key_beg.c
new file mode 100644
index 0000000..01cd30b
--- /dev/null
+++ b/term/key_beg.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_beg tigetstr("kbeg")
+
+/** beg(inning) key **/
+
+/*
+TERMINFO_NAME(kbeg)
+TERMCAP_NAME(@1)
+XOPEN(400)
+*/
diff --git a/term/key_btab.c b/term/key_btab.c
new file mode 100644
index 0000000..59c19d4
--- /dev/null
+++ b/term/key_btab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_btab tigetstr("kcbt")
+
+/** back-tab key **/
+
+/*
+TERMINFO_NAME(kcbt)
+TERMCAP_NAME(kB)
+XOPEN(400)
+*/
diff --git a/term/key_c1.c b/term/key_c1.c
new file mode 100644
index 0000000..35fb809
--- /dev/null
+++ b/term/key_c1.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_c1 tigetstr("kc1")
+
+/** lower left of keypad **/
+
+/*
+TERMINFO_NAME(kc1)
+TERMCAP_NAME(K4)
+XOPEN(400)
+*/
diff --git a/term/key_c3.c b/term/key_c3.c
new file mode 100644
index 0000000..a7cd77c
--- /dev/null
+++ b/term/key_c3.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_c3 tigetstr("kc3")
+
+/** lower right of keypad **/
+
+/*
+TERMINFO_NAME(kc3)
+TERMCAP_NAME(K5)
+XOPEN(400)
+*/
diff --git a/term/key_cancel.c b/term/key_cancel.c
new file mode 100644
index 0000000..4de60f3
--- /dev/null
+++ b/term/key_cancel.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_cancel tigetstr("kcan")
+
+/** cancel key **/
+
+/*
+TERMINFO_NAME(kcan)
+TERMCAP_NAME(@2)
+XOPEN(400)
+*/
diff --git a/term/key_catab.c b/term/key_catab.c
new file mode 100644
index 0000000..cc0d03f
--- /dev/null
+++ b/term/key_catab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_catab tigetstr("ktbc")
+
+/** clear-all-tabs key **/
+
+/*
+TERMINFO_NAME(ktbc)
+TERMCAP_NAME(ka)
+XOPEN(400)
+*/
diff --git a/term/key_clear.c b/term/key_clear.c
new file mode 100644
index 0000000..7c02314
--- /dev/null
+++ b/term/key_clear.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_clear tigetstr("kclr")
+
+/** clear-screen or erase key **/
+
+/*
+TERMINFO_NAME(kclr)
+TERMCAP_NAME(kC)
+XOPEN(400)
+*/
diff --git a/term/key_close.c b/term/key_close.c
new file mode 100644
index 0000000..f0c36cc
--- /dev/null
+++ b/term/key_close.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_close tigetstr("kclo")
+
+/** close key **/
+
+/*
+TERMINFO_NAME(kclo)
+TERMCAP_NAME(@3)
+XOPEN(400)
+*/
diff --git a/term/key_command.c b/term/key_command.c
new file mode 100644
index 0000000..b8a95d7
--- /dev/null
+++ b/term/key_command.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_command tigetstr("kcmd")
+
+/** cmd (command) key **/
+
+/*
+TERMINFO_NAME(kcmd)
+TERMCAP_NAME(@4)
+XOPEN(400)
+*/
diff --git a/term/key_copy.c b/term/key_copy.c
new file mode 100644
index 0000000..940ba39
--- /dev/null
+++ b/term/key_copy.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_copy tigetstr("kcpy")
+
+/** copy key **/
+
+/*
+TERMINFO_NAME(kcpy)
+TERMCAP_NAME(@5)
+XOPEN(400)
+*/
diff --git a/term/key_create.c b/term/key_create.c
new file mode 100644
index 0000000..e02577f
--- /dev/null
+++ b/term/key_create.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_create tigetstr("kcrt")
+
+/** create key **/
+
+/*
+TERMINFO_NAME(kcrt)
+TERMCAP_NAME(@6)
+XOPEN(400)
+*/
diff --git a/term/key_ctab.c b/term/key_ctab.c
new file mode 100644
index 0000000..448cd3d
--- /dev/null
+++ b/term/key_ctab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ctab tigetstr("kctab")
+
+/** clear-tab key **/
+
+/*
+TERMINFO_NAME(kctab)
+TERMCAP_NAME(kt)
+XOPEN(400)
+*/
diff --git a/term/key_dc.c b/term/key_dc.c
new file mode 100644
index 0000000..0d8bdfc
--- /dev/null
+++ b/term/key_dc.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_dc tigetstr("kdchl")
+
+/** delete-character key **/
+
+/*
+TERMINFO_NAME(kdchl)
+TERMCAP_NAME(kD)
+XOPEN(400)
+*/
diff --git a/term/key_dl.c b/term/key_dl.c
new file mode 100644
index 0000000..219bf1d
--- /dev/null
+++ b/term/key_dl.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_dl tigetstr("kdll")
+
+/** delete-line key **/
+
+/*
+TERMINFO_NAME(kdll)
+TERMCAP_NAME(kL)
+XOPEN(400)
+*/
diff --git a/term/key_down.c b/term/key_down.c
new file mode 100644
index 0000000..504af66
--- /dev/null
+++ b/term/key_down.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_down tigetstr("kcudl")
+
+/** down-arrow key **/
+
+/*
+TERMINFO_NAME(kcudl)
+TERMCAP_NAME(kd)
+XOPEN(400)
+*/
diff --git a/term/key_eic.c b/term/key_eic.c
new file mode 100644
index 0000000..cb9d898
--- /dev/null
+++ b/term/key_eic.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_eic tigetstr("krmir")
+
+/** TERMCAP(rmir) or TERMCAP(smir) in insert mode **/
+
+/*
+TERMINFO_NAME(krmir)
+TERMCAP_NAME(kM)
+XOPEN(400)
+*/
diff --git a/term/key_end.c b/term/key_end.c
new file mode 100644
index 0000000..ee406a0
--- /dev/null
+++ b/term/key_end.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_end tigetstr("kend")
+
+/** end key **/
+
+/*
+TERMINFO_NAME(kend)
+TERMCAP_NAME(@7)
+XOPEN(400)
+*/
diff --git a/term/key_enter.c b/term/key_enter.c
new file mode 100644
index 0000000..0dd405d
--- /dev/null
+++ b/term/key_enter.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_enter tigetstr("kent")
+
+/** enter/send key **/
+
+/*
+TERMINFO_NAME(kent)
+TERMCAP_NAME(@8)
+XOPEN(400)
+*/
diff --git a/term/key_eol.c b/term/key_eol.c
new file mode 100644
index 0000000..1509a97
--- /dev/null
+++ b/term/key_eol.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_eol tigetstr("kel")
+
+/** clear-to-end-of-line key **/
+
+/*
+TERMINFO_NAME(kel)
+TERMCAP_NAME(kE)
+XOPEN(400)
+*/
diff --git a/term/key_eos.c b/term/key_eos.c
new file mode 100644
index 0000000..0346c84
--- /dev/null
+++ b/term/key_eos.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_eos tigetstr("ked")
+
+/** clear-to-end-of-screen key **/
+
+/*
+TERMINFO_NAME(ked)
+TERMCAP_NAME(kS)
+XOPEN(400)
+*/
diff --git a/term/key_exit.c b/term/key_exit.c
new file mode 100644
index 0000000..4bb8792
--- /dev/null
+++ b/term/key_exit.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_exit tigetstr("kext")
+
+/** exit key **/
+
+/*
+TERMINFO_NAME(kext)
+TERMCAP_NAME(@9)
+XOPEN(400)
+*/
diff --git a/term/key_f0.c b/term/key_f0.c
new file mode 100644
index 0000000..3f81e57
--- /dev/null
+++ b/term/key_f0.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f0 tigetstr("kf0")
+
+/** f0 key **/
+
+/*
+TERMINFO_NAME(kf0)
+TERMCAP_NAME(k0)
+XOPEN(400)
+*/
diff --git a/term/key_f1.c b/term/key_f1.c
new file mode 100644
index 0000000..9c77db3
--- /dev/null
+++ b/term/key_f1.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f1 tigetstr("kf1")
+
+/** f1 key **/
+
+/*
+TERMINFO_NAME(kf1)
+TERMCAP_NAME(k1)
+XOPEN(400)
+*/
diff --git a/term/key_f10.c b/term/key_f10.c
new file mode 100644
index 0000000..8762d65
--- /dev/null
+++ b/term/key_f10.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f10 tigetstr("kf10")
+
+/** f10 key **/
+
+/*
+TERMINFO_NAME(kf10)
+TERMCAP_NAME(ka)
+XOPEN(400)
+*/
diff --git a/term/key_f11.c b/term/key_f11.c
new file mode 100644
index 0000000..c57efd3
--- /dev/null
+++ b/term/key_f11.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f11 tigetstr("kf11")
+
+/** f11 key **/
+
+/*
+TERMINFO_NAME(kf11)
+TERMCAP_NAME(kb)
+XOPEN(400)
+*/
diff --git a/term/key_f12.c b/term/key_f12.c
new file mode 100644
index 0000000..0a2ea5a
--- /dev/null
+++ b/term/key_f12.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f12 tigetstr("kf12")
+
+/** f12 key **/
+
+/*
+TERMINFO_NAME(kf12)
+TERMCAP_NAME(kc)
+XOPEN(400)
+*/
diff --git a/term/key_f13.c b/term/key_f13.c
new file mode 100644
index 0000000..87de21f
--- /dev/null
+++ b/term/key_f13.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f13 tigetstr("kf13")
+
+/** f13 key **/
+
+/*
+TERMINFO_NAME(kf13)
+TERMCAP_NAME(kd)
+XOPEN(400)
+*/
diff --git a/term/key_f14.c b/term/key_f14.c
new file mode 100644
index 0000000..cf72601
--- /dev/null
+++ b/term/key_f14.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f14 tigetstr("kf14")
+
+/** f14 key **/
+
+/*
+TERMINFO_NAME(kf14)
+TERMCAP_NAME(ke)
+XOPEN(400)
+*/
diff --git a/term/key_f15.c b/term/key_f15.c
new file mode 100644
index 0000000..fd4ec08
--- /dev/null
+++ b/term/key_f15.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f15 tigetstr("kf15")
+
+/** f15 key **/
+
+/*
+TERMINFO_NAME(kf15)
+TERMCAP_NAME(kf)
+XOPEN(400)
+*/
diff --git a/term/key_f16.c b/term/key_f16.c
new file mode 100644
index 0000000..9d3001b
--- /dev/null
+++ b/term/key_f16.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f16 tigetstr("kf16")
+
+/** f16 key **/
+
+/*
+TERMINFO_NAME(kf16)
+TERMCAP_NAME(kg)
+XOPEN(400)
+*/
diff --git a/term/key_f17.c b/term/key_f17.c
new file mode 100644
index 0000000..b41c1e3
--- /dev/null
+++ b/term/key_f17.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f17 tigetstr("kf17")
+
+/** f17 key **/
+
+/*
+TERMINFO_NAME(kf17)
+TERMCAP_NAME(kh)
+XOPEN(400)
+*/
diff --git a/term/key_f18.c b/term/key_f18.c
new file mode 100644
index 0000000..6022b18
--- /dev/null
+++ b/term/key_f18.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f18 tigetstr("kf18")
+
+/** f18 key **/
+
+/*
+TERMINFO_NAME(kf18)
+TERMCAP_NAME(ki)
+XOPEN(400)
+*/
diff --git a/term/key_f19.c b/term/key_f19.c
new file mode 100644
index 0000000..e12826e
--- /dev/null
+++ b/term/key_f19.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f19 tigetstr("kf19")
+
+/** f19 key **/
+
+/*
+TERMINFO_NAME(kf19)
+TERMCAP_NAME(kj)
+XOPEN(400)
+*/
diff --git a/term/key_f2.c b/term/key_f2.c
new file mode 100644
index 0000000..0f4f596
--- /dev/null
+++ b/term/key_f2.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f2 tigetstr("kf2")
+
+/** f2 key **/
+
+/*
+TERMINFO_NAME(kf2)
+TERMCAP_NAME(k2)
+XOPEN(400)
+*/
diff --git a/term/key_f20.c b/term/key_f20.c
new file mode 100644
index 0000000..ecc218b
--- /dev/null
+++ b/term/key_f20.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f20 tigetstr("kf20")
+
+/** f20 key **/
+
+/*
+TERMINFO_NAME(kf20)
+TERMCAP_NAME(kk)
+XOPEN(400)
+*/
diff --git a/term/key_f21.c b/term/key_f21.c
new file mode 100644
index 0000000..40dd624
--- /dev/null
+++ b/term/key_f21.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f21 tigetstr("kf21")
+
+/** f21 key **/
+
+/*
+TERMINFO_NAME(kf21)
+TERMCAP_NAME(kl)
+XOPEN(400)
+*/
diff --git a/term/key_f22.c b/term/key_f22.c
new file mode 100644
index 0000000..718136b
--- /dev/null
+++ b/term/key_f22.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f22 tigetstr("kf22")
+
+/** f22 key **/
+
+/*
+TERMINFO_NAME(kf22)
+TERMCAP_NAME(km)
+XOPEN(400)
+*/
diff --git a/term/key_f23.c b/term/key_f23.c
new file mode 100644
index 0000000..e9b5be6
--- /dev/null
+++ b/term/key_f23.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f23 tigetstr("kf23")
+
+/** f23 key **/
+
+/*
+TERMINFO_NAME(kf23)
+TERMCAP_NAME(kn)
+XOPEN(400)
+*/
diff --git a/term/key_f24.c b/term/key_f24.c
new file mode 100644
index 0000000..47e8b69
--- /dev/null
+++ b/term/key_f24.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f24 tigetstr("kf24")
+
+/** f24 key **/
+
+/*
+TERMINFO_NAME(kf24)
+TERMCAP_NAME(ko)
+XOPEN(400)
+*/
diff --git a/term/key_f25.c b/term/key_f25.c
new file mode 100644
index 0000000..b0d03a7
--- /dev/null
+++ b/term/key_f25.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f25 tigetstr("kf25")
+
+/** f25 key **/
+
+/*
+TERMINFO_NAME(kf25)
+TERMCAP_NAME(kp)
+XOPEN(400)
+*/
diff --git a/term/key_f26.c b/term/key_f26.c
new file mode 100644
index 0000000..9bca205
--- /dev/null
+++ b/term/key_f26.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f26 tigetstr("kf26")
+
+/** f26 key **/
+
+/*
+TERMINFO_NAME(kf26)
+TERMCAP_NAME(kq)
+XOPEN(400)
+*/
diff --git a/term/key_f27.c b/term/key_f27.c
new file mode 100644
index 0000000..ce42668
--- /dev/null
+++ b/term/key_f27.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f27 tigetstr("kf27")
+
+/** f27 key **/
+
+/*
+TERMINFO_NAME(kf27)
+TERMCAP_NAME(kr)
+XOPEN(400)
+*/
diff --git a/term/key_f28.c b/term/key_f28.c
new file mode 100644
index 0000000..0f1f379
--- /dev/null
+++ b/term/key_f28.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f28 tigetstr("kf28")
+
+/** f28 key **/
+
+/*
+TERMINFO_NAME(kf28)
+TERMCAP_NAME(ks)
+XOPEN(400)
+*/
diff --git a/term/key_f29.c b/term/key_f29.c
new file mode 100644
index 0000000..c121025
--- /dev/null
+++ b/term/key_f29.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f29 tigetstr("kf29")
+
+/** f29 key **/
+
+/*
+TERMINFO_NAME(kf29)
+TERMCAP_NAME(kt)
+XOPEN(400)
+*/
diff --git a/term/key_f3.c b/term/key_f3.c
new file mode 100644
index 0000000..b11364c
--- /dev/null
+++ b/term/key_f3.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f3 tigetstr("kf3")
+
+/** f3 key **/
+
+/*
+TERMINFO_NAME(kf3)
+TERMCAP_NAME(k3)
+XOPEN(400)
+*/
diff --git a/term/key_f30.c b/term/key_f30.c
new file mode 100644
index 0000000..4367790
--- /dev/null
+++ b/term/key_f30.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f30 tigetstr("kf30")
+
+/** f30 key **/
+
+/*
+TERMINFO_NAME(kf30)
+TERMCAP_NAME(ku)
+XOPEN(400)
+*/
diff --git a/term/key_f31.c b/term/key_f31.c
new file mode 100644
index 0000000..a981398
--- /dev/null
+++ b/term/key_f31.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f31 tigetstr("kf31")
+
+/** f31 key **/
+
+/*
+TERMINFO_NAME(kf31)
+TERMCAP_NAME(kv)
+XOPEN(400)
+*/
diff --git a/term/key_f32.c b/term/key_f32.c
new file mode 100644
index 0000000..2af1d9b
--- /dev/null
+++ b/term/key_f32.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f32 tigetstr("kf32")
+
+/** f32 key **/
+
+/*
+TERMINFO_NAME(kf32)
+TERMCAP_NAME(kw)
+XOPEN(400)
+*/
diff --git a/term/key_f33.c b/term/key_f33.c
new file mode 100644
index 0000000..4267a53
--- /dev/null
+++ b/term/key_f33.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f33 tigetstr("kf33")
+
+/** f33 key **/
+
+/*
+TERMINFO_NAME(kf33)
+TERMCAP_NAME(kx)
+XOPEN(400)
+*/
diff --git a/term/key_f34.c b/term/key_f34.c
new file mode 100644
index 0000000..61b2a58
--- /dev/null
+++ b/term/key_f34.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f34 tigetstr("kf34")
+
+/** f34 key **/
+
+/*
+TERMINFO_NAME(kf34)
+TERMCAP_NAME(ku)
+XOPEN(400)
+*/
diff --git a/term/key_f35.c b/term/key_f35.c
new file mode 100644
index 0000000..8a7be71
--- /dev/null
+++ b/term/key_f35.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f35 tigetstr("kf35")
+
+/** f35 key **/
+
+/*
+TERMINFO_NAME(kf35)
+TERMCAP_NAME(Fz)
+XOPEN(400)
+*/
diff --git a/term/key_f36.c b/term/key_f36.c
new file mode 100644
index 0000000..2b54cbc
--- /dev/null
+++ b/term/key_f36.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f36 tigetstr("kf36")
+
+/** f36 key **/
+
+/*
+TERMINFO_NAME(kf36)
+TERMCAP_NAME(F0)
+XOPEN(400)
+*/
diff --git a/term/key_f37.c b/term/key_f37.c
new file mode 100644
index 0000000..3375755
--- /dev/null
+++ b/term/key_f37.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f37 tigetstr("kf37")
+
+/** f37 key **/
+
+/*
+TERMINFO_NAME(kf37)
+TERMCAP_NAME(F1)
+XOPEN(400)
+*/
diff --git a/term/key_f38.c b/term/key_f38.c
new file mode 100644
index 0000000..d5394fb
--- /dev/null
+++ b/term/key_f38.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f38 tigetstr("kf38")
+
+/** f38 key **/
+
+/*
+TERMINFO_NAME(kf38)
+TERMCAP_NAME(F2)
+XOPEN(400)
+*/
diff --git a/term/key_f39.c b/term/key_f39.c
new file mode 100644
index 0000000..845e382
--- /dev/null
+++ b/term/key_f39.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f39 tigetstr("kf39")
+
+/** f39 key **/
+
+/*
+TERMINFO_NAME(kf39)
+TERMCAP_NAME(F3)
+XOPEN(400)
+*/
diff --git a/term/key_f4.c b/term/key_f4.c
new file mode 100644
index 0000000..6551a2d
--- /dev/null
+++ b/term/key_f4.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f4 tigetstr("kf4")
+
+/** f4 key **/
+
+/*
+TERMINFO_NAME(kf4)
+TERMCAP_NAME(k4)
+XOPEN(400)
+*/
diff --git a/term/key_f40.c b/term/key_f40.c
new file mode 100644
index 0000000..bffdc45
--- /dev/null
+++ b/term/key_f40.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f40 tigetstr("kf40")
+
+/** f40 key **/
+
+/*
+TERMINFO_NAME(kf40)
+TERMCAP_NAME(F4)
+XOPEN(400)
+*/
diff --git a/term/key_f41.c b/term/key_f41.c
new file mode 100644
index 0000000..436c22a
--- /dev/null
+++ b/term/key_f41.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f41 tigetstr("kf41")
+
+/** f41 key **/
+
+/*
+TERMINFO_NAME(kf41)
+TERMCAP_NAME(F5)
+XOPEN(400)
+*/
diff --git a/term/key_f42.c b/term/key_f42.c
new file mode 100644
index 0000000..979bfb8
--- /dev/null
+++ b/term/key_f42.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f42 tigetstr("kf42")
+
+/** f42 key **/
+
+/*
+TERMINFO_NAME(kf42)
+TERMCAP_NAME(F6)
+XOPEN(400)
+*/
diff --git a/term/key_f43.c b/term/key_f43.c
new file mode 100644
index 0000000..b912a20
--- /dev/null
+++ b/term/key_f43.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f43 tigetstr("kf43")
+
+/** f43 key **/
+
+/*
+TERMINFO_NAME(kf43)
+TERMCAP_NAME(F7)
+XOPEN(400)
+*/
diff --git a/term/key_f44.c b/term/key_f44.c
new file mode 100644
index 0000000..5dd3127
--- /dev/null
+++ b/term/key_f44.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f44 tigetstr("kf44")
+
+/** f44 key **/
+
+/*
+TERMINFO_NAME(kf44)
+TERMCAP_NAME(F8)
+XOPEN(400)
+*/
diff --git a/term/key_f45.c b/term/key_f45.c
new file mode 100644
index 0000000..1c634bd
--- /dev/null
+++ b/term/key_f45.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f45 tigetstr("kf45")
+
+/** f45 key **/
+
+/*
+TERMINFO_NAME(kf45)
+TERMCAP_NAME(F9)
+XOPEN(400)
+*/
diff --git a/term/key_f46.c b/term/key_f46.c
new file mode 100644
index 0000000..da35f1e
--- /dev/null
+++ b/term/key_f46.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f46 tigetstr("kf46")
+
+/** f46 key **/
+
+/*
+TERMINFO_NAME(kf46)
+TERMCAP_NAME(Fa)
+XOPEN(400)
+*/
diff --git a/term/key_f47.c b/term/key_f47.c
new file mode 100644
index 0000000..99a8719
--- /dev/null
+++ b/term/key_f47.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f47 tigetstr("kf47")
+
+/** f47 key **/
+
+/*
+TERMINFO_NAME(kf47)
+TERMCAP_NAME(Fb)
+XOPEN(400)
+*/
diff --git a/term/key_f48.c b/term/key_f48.c
new file mode 100644
index 0000000..5b476c1
--- /dev/null
+++ b/term/key_f48.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f48 tigetstr("kf48")
+
+/** f48 key **/
+
+/*
+TERMINFO_NAME(kf48)
+TERMCAP_NAME(Fc)
+XOPEN(400)
+*/
diff --git a/term/key_f49.c b/term/key_f49.c
new file mode 100644
index 0000000..113a041
--- /dev/null
+++ b/term/key_f49.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f49 tigetstr("kf49")
+
+/** f49 key **/
+
+/*
+TERMINFO_NAME(kf49)
+TERMCAP_NAME(Fd)
+XOPEN(400)
+*/
diff --git a/term/key_f5.c b/term/key_f5.c
new file mode 100644
index 0000000..c79ee7d
--- /dev/null
+++ b/term/key_f5.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f5 tigetstr("kf5")
+
+/** f5 key **/
+
+/*
+TERMINFO_NAME(kf5)
+TERMCAP_NAME(k5)
+XOPEN(400)
+*/
diff --git a/term/key_f50.c b/term/key_f50.c
new file mode 100644
index 0000000..c0d99af
--- /dev/null
+++ b/term/key_f50.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f50 tigetstr("kf50")
+
+/** f50 key **/
+
+/*
+TERMINFO_NAME(kf50)
+TERMCAP_NAME(Fe)
+XOPEN(400)
+*/
diff --git a/term/key_f51.c b/term/key_f51.c
new file mode 100644
index 0000000..8d8c76b
--- /dev/null
+++ b/term/key_f51.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f51 tigetstr("kf51")
+
+/** f51 key **/
+
+/*
+TERMINFO_NAME(kf51)
+TERMCAP_NAME(Ff)
+XOPEN(400)
+*/
diff --git a/term/key_f52.c b/term/key_f52.c
new file mode 100644
index 0000000..ceded01
--- /dev/null
+++ b/term/key_f52.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f52 tigetstr("kf52")
+
+/** f52 key **/
+
+/*
+TERMINFO_NAME(kf52)
+TERMCAP_NAME(Fg)
+XOPEN(400)
+*/
diff --git a/term/key_f53.c b/term/key_f53.c
new file mode 100644
index 0000000..395a725
--- /dev/null
+++ b/term/key_f53.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f53 tigetstr("kf53")
+
+/** f53 key **/
+
+/*
+TERMINFO_NAME(kf53)
+TERMCAP_NAME(Fh)
+XOPEN(400)
+*/
diff --git a/term/key_f54.c b/term/key_f54.c
new file mode 100644
index 0000000..c38990d
--- /dev/null
+++ b/term/key_f54.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f54 tigetstr("kf54")
+
+/** f54 key **/
+
+/*
+TERMINFO_NAME(kf54)
+TERMCAP_NAME(Fi)
+XOPEN(400)
+*/
diff --git a/term/key_f55.c b/term/key_f55.c
new file mode 100644
index 0000000..5a267c1
--- /dev/null
+++ b/term/key_f55.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f55 tigetstr("kf55")
+
+/** f55 key **/
+
+/*
+TERMINFO_NAME(kf55)
+TERMCAP_NAME(Fj)
+XOPEN(400)
+*/
diff --git a/term/key_f56.c b/term/key_f56.c
new file mode 100644
index 0000000..6fdf509
--- /dev/null
+++ b/term/key_f56.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f56 tigetstr("kf56")
+
+/** f56 key **/
+
+/*
+TERMINFO_NAME(kf56)
+TERMCAP_NAME(Fk)
+XOPEN(400)
+*/
diff --git a/term/key_f57.c b/term/key_f57.c
new file mode 100644
index 0000000..337424b
--- /dev/null
+++ b/term/key_f57.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f57 tigetstr("kf57")
+
+/** f57 key **/
+
+/*
+TERMINFO_NAME(kf57)
+TERMCAP_NAME(Fl)
+XOPEN(400)
+*/
diff --git a/term/key_f58.c b/term/key_f58.c
new file mode 100644
index 0000000..eb71665
--- /dev/null
+++ b/term/key_f58.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f58 tigetstr("kf58")
+
+/** f58 key **/
+
+/*
+TERMINFO_NAME(kf58)
+TERMCAP_NAME(Fm)
+XOPEN(400)
+*/
diff --git a/term/key_f59.c b/term/key_f59.c
new file mode 100644
index 0000000..dbf96fb
--- /dev/null
+++ b/term/key_f59.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f59 tigetstr("kf59")
+
+/** f59 key **/
+
+/*
+TERMINFO_NAME(kf59)
+TERMCAP_NAME(Fn)
+XOPEN(400)
+*/
diff --git a/term/key_f6.c b/term/key_f6.c
new file mode 100644
index 0000000..e67c79b
--- /dev/null
+++ b/term/key_f6.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f6 tigetstr("kf6")
+
+/** f6 key **/
+
+/*
+TERMINFO_NAME(kf6)
+TERMCAP_NAME(k6)
+XOPEN(400)
+*/
diff --git a/term/key_f60.c b/term/key_f60.c
new file mode 100644
index 0000000..825ca26
--- /dev/null
+++ b/term/key_f60.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f60 tigetstr("kf60")
+
+/** f60 key **/
+
+/*
+TERMINFO_NAME(kf60)
+TERMCAP_NAME(Fo)
+XOPEN(400)
+*/
diff --git a/term/key_f61.c b/term/key_f61.c
new file mode 100644
index 0000000..04a8f83
--- /dev/null
+++ b/term/key_f61.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f61 tigetstr("kf61")
+
+/** f61 key **/
+
+/*
+TERMINFO_NAME(kf61)
+TERMCAP_NAME(Fp)
+XOPEN(400)
+*/
diff --git a/term/key_f62.c b/term/key_f62.c
new file mode 100644
index 0000000..f96f255
--- /dev/null
+++ b/term/key_f62.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f62 tigetstr("kf62")
+
+/** f62 key **/
+
+/*
+TERMINFO_NAME(kf62)
+TERMCAP_NAME(Fq)
+XOPEN(400)
+*/
diff --git a/term/key_f63.c b/term/key_f63.c
new file mode 100644
index 0000000..b67e43a
--- /dev/null
+++ b/term/key_f63.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f63 tigetstr("kf63")
+
+/** f63 key **/
+
+/*
+TERMINFO_NAME(kf63)
+TERMCAP_NAME(Fr)
+XOPEN(400)
+*/
diff --git a/term/key_f7.c b/term/key_f7.c
new file mode 100644
index 0000000..673bd1f
--- /dev/null
+++ b/term/key_f7.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f7 tigetstr("kf7")
+
+/** f7 key **/
+
+/*
+TERMINFO_NAME(kf7)
+TERMCAP_NAME(k7)
+XOPEN(400)
+*/
diff --git a/term/key_f8.c b/term/key_f8.c
new file mode 100644
index 0000000..16fa3e7
--- /dev/null
+++ b/term/key_f8.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f8 tigetstr("kf8")
+
+/** f8 key **/
+
+/*
+TERMINFO_NAME(kf8)
+TERMCAP_NAME(k8)
+XOPEN(400)
+*/
diff --git a/term/key_f9.c b/term/key_f9.c
new file mode 100644
index 0000000..20834e7
--- /dev/null
+++ b/term/key_f9.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_f9 tigetstr("kf9")
+
+/** f9 key **/
+
+/*
+TERMINFO_NAME(kf9)
+TERMCAP_NAME(k9)
+XOPEN(400)
+*/
diff --git a/term/key_find.c b/term/key_find.c
new file mode 100644
index 0000000..1d3770c
--- /dev/null
+++ b/term/key_find.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_find tigetstr("kfnd")
+
+/** find key **/
+
+/*
+TERMINFO_NAME(kfnd)
+TERMCAP_NAME(@0)
+XOPEN(400)
+*/
diff --git a/term/key_help.c b/term/key_help.c
new file mode 100644
index 0000000..8bcb33b
--- /dev/null
+++ b/term/key_help.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_help tigetstr("khlp")
+
+/** help key **/
+
+/*
+TERMINFO_NAME(khlp)
+TERMCAP_NAME(%1)
+XOPEN(400)
+*/
diff --git a/term/key_home.c b/term/key_home.c
new file mode 100644
index 0000000..dabf3ed
--- /dev/null
+++ b/term/key_home.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_home tigetstr("khome")
+
+/** home key **/
+
+/*
+TERMINFO_NAME(khome)
+TERMCAP_NAME(kh)
+XOPEN(400)
+*/
diff --git a/term/key_ic.c b/term/key_ic.c
new file mode 100644
index 0000000..6e75a90
--- /dev/null
+++ b/term/key_ic.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ic tigetstr("kichl")
+
+/** insert key **/
+
+/*
+TERMINFO_NAME(kichl)
+TERMCAP_NAME(kI)
+XOPEN(400)
+*/
diff --git a/term/key_il.c b/term/key_il.c
new file mode 100644
index 0000000..1fe93b6
--- /dev/null
+++ b/term/key_il.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_il tigetstr("kill")
+
+/** insert-line key **/
+
+/*
+TERMINFO_NAME(kill)
+TERMCAP_NAME(kA)
+XOPEN(400)
+*/
diff --git a/term/key_left.c b/term/key_left.c
new file mode 100644
index 0000000..9d7ab4f
--- /dev/null
+++ b/term/key_left.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_left tigetstr("kcubl")
+
+/** left-arrow key **/
+
+/*
+TERMINFO_NAME(kcubl)
+TERMCAP_NAME(kl)
+XOPEN(400)
+*/
diff --git a/term/key_ll.c b/term/key_ll.c
new file mode 100644
index 0000000..0f7b297
--- /dev/null
+++ b/term/key_ll.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ll tigetstr("kll")
+
+/** home-down key **/
+
+/*
+TERMINFO_NAME(kll)
+TERMCAP_NAME(kH)
+XOPEN(400)
+*/
diff --git a/term/key_mark.c b/term/key_mark.c
new file mode 100644
index 0000000..54f08bb
--- /dev/null
+++ b/term/key_mark.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_mark tigetstr("kmrk")
+
+/** mark key **/
+
+/*
+TERMINFO_NAME(kmrk)
+TERMCAP_NAME(%2)
+XOPEN(400)
+*/
diff --git a/term/key_message.c b/term/key_message.c
new file mode 100644
index 0000000..a85a1f7
--- /dev/null
+++ b/term/key_message.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_message tigetstr("kmsg")
+
+/** message key **/
+
+/*
+TERMINFO_NAME(kmsg)
+TERMCAP_NAME(%3)
+XOPEN(400)
+*/
diff --git a/term/key_mouse.c b/term/key_mouse.c
new file mode 100644
index 0000000..55dc027
--- /dev/null
+++ b/term/key_mouse.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_mouse tigetstr("kmous")
+
+/** mouse event has occured **/
+
+/*
+TERMINFO_NAME(kmous)
+TERMCAP_NAME(Km)
+XOPEN(400)
+*/
diff --git a/term/key_move.c b/term/key_move.c
new file mode 100644
index 0000000..d4730ce
--- /dev/null
+++ b/term/key_move.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_move tigetstr("kmov")
+
+/** move key **/
+
+/*
+TERMINFO_NAME(kmov)
+TERMCAP_NAME(%4)
+XOPEN(400)
+*/
diff --git a/term/key_next.c b/term/key_next.c
new file mode 100644
index 0000000..01b7157
--- /dev/null
+++ b/term/key_next.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_next tigetstr("knxt")
+
+/** next-object key **/
+
+/*
+TERMINFO_NAME(knxt)
+TERMCAP_NAME(%5)
+XOPEN(400)
+*/
diff --git a/term/key_npage.c b/term/key_npage.c
new file mode 100644
index 0000000..ca98302
--- /dev/null
+++ b/term/key_npage.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_npage tigetstr("knp")
+
+/** next-page key **/
+
+/*
+TERMINFO_NAME(knp)
+TERMCAP_NAME(kN)
+XOPEN(400)
+*/
diff --git a/term/key_open.c b/term/key_open.c
new file mode 100644
index 0000000..ed2b1c8
--- /dev/null
+++ b/term/key_open.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_open tigetstr("kopn")
+
+/** open key **/
+
+/*
+TERMINFO_NAME(kopn)
+TERMCAP_NAME(%6)
+XOPEN(400)
+*/
diff --git a/term/key_options.c b/term/key_options.c
new file mode 100644
index 0000000..33d7119
--- /dev/null
+++ b/term/key_options.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_options tigetstr("kopt")
+
+/** options key **/
+
+/*
+TERMINFO_NAME(kopt)
+TERMCAP_NAME(%7)
+XOPEN(400)
+*/
diff --git a/term/key_ppage.c b/term/key_ppage.c
new file mode 100644
index 0000000..5f02a9d
--- /dev/null
+++ b/term/key_ppage.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ppage tigetstr("kpp")
+
+/** previous-page key **/
+
+/*
+TERMINFO_NAME(kpp)
+TERMCAP_NAME(kP)
+XOPEN(400)
+*/
diff --git a/term/key_previous.c b/term/key_previous.c
new file mode 100644
index 0000000..6cf3903
--- /dev/null
+++ b/term/key_previous.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_previous tigetstr("kprv")
+
+/** previous-object key **/
+
+/*
+TERMINFO_NAME(kprv)
+TERMCAP_NAME(%8)
+XOPEN(400)
+*/
diff --git a/term/key_print.c b/term/key_print.c
new file mode 100644
index 0000000..ac7743f
--- /dev/null
+++ b/term/key_print.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_print tigetstr("kprt")
+
+/** print or copy key **/
+
+/*
+TERMINFO_NAME(kprt)
+TERMCAP_NAME(%9)
+XOPEN(400)
+*/
diff --git a/term/key_redo.c b/term/key_redo.c
new file mode 100644
index 0000000..83dd68a
--- /dev/null
+++ b/term/key_redo.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_redo tigetstr("krdo")
+
+/** redo key **/
+
+/*
+TERMINFO_NAME(krdo)
+TERMCAP_NAME(%0)
+XOPEN(400)
+*/
diff --git a/term/key_reference.c b/term/key_reference.c
new file mode 100644
index 0000000..6c1bee2
--- /dev/null
+++ b/term/key_reference.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_reference tigetstr("kref")
+
+/** ref(erence) key **/
+
+/*
+TERMINFO_NAME(kref)
+TERMCAP_NAME(&1)
+XOPEN(400)
+*/
diff --git a/term/key_refresh.c b/term/key_refresh.c
new file mode 100644
index 0000000..d13b2ab
--- /dev/null
+++ b/term/key_refresh.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_refresh tigetstr("krfr")
+
+/** refresh key **/
+
+/*
+TERMINFO_NAME(krfr)
+TERMCAP_NAME(&2)
+XOPEN(400)
+*/
diff --git a/term/key_replace.c b/term/key_replace.c
new file mode 100644
index 0000000..c8cbad3
--- /dev/null
+++ b/term/key_replace.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_replace tigetstr("krpl")
+
+/** replace key **/
+
+/*
+TERMINFO_NAME(krpl)
+TERMCAP_NAME(&3)
+XOPEN(400)
+*/
diff --git a/term/key_restart.c b/term/key_restart.c
new file mode 100644
index 0000000..a9f6d82
--- /dev/null
+++ b/term/key_restart.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_restart tigetstr("krst")
+
+/** restart key **/
+
+/*
+TERMINFO_NAME(krst)
+TERMCAP_NAME(&4)
+XOPEN(400)
+*/
diff --git a/term/key_resume.c b/term/key_resume.c
new file mode 100644
index 0000000..79b373d
--- /dev/null
+++ b/term/key_resume.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_resume tigetstr("kres")
+
+/** resume key **/
+
+/*
+TERMINFO_NAME(kres)
+TERMCAP_NAME(&5)
+XOPEN(400)
+*/
diff --git a/term/key_right.c b/term/key_right.c
new file mode 100644
index 0000000..32a96da
--- /dev/null
+++ b/term/key_right.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_right tigetstr("kcufl")
+
+/** right-arrow key **/
+
+/*
+TERMINFO_NAME(kcufl)
+TERMCAP_NAME(kr)
+XOPEN(400)
+*/
diff --git a/term/key_save.c b/term/key_save.c
new file mode 100644
index 0000000..70fa7a5
--- /dev/null
+++ b/term/key_save.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_save tigetstr("ksav")
+
+/** save key **/
+
+/*
+TERMINFO_NAME(ksav)
+TERMCAP_NAME(&6)
+XOPEN(400)
+*/
diff --git a/term/key_sbeg.c b/term/key_sbeg.c
new file mode 100644
index 0000000..fe23751
--- /dev/null
+++ b/term/key_sbeg.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sbeg tigetstr("kBEG")
+
+/** shift+beg(innning) key **/
+
+/*
+TERMINFO_NAME(kBEG)
+TERMCAP_NAME(&9)
+XOPEN(400)
+*/
diff --git a/term/key_scancel.c b/term/key_scancel.c
new file mode 100644
index 0000000..136f836
--- /dev/null
+++ b/term/key_scancel.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_scancel tigetstr("kCAN")
+
+/** shift+cancel key **/
+
+/*
+TERMINFO_NAME(kCAN)
+TERMCAP_NAME(&0)
+XOPEN(400)
+*/
diff --git a/term/key_scommand.c b/term/key_scommand.c
new file mode 100644
index 0000000..99a0028
--- /dev/null
+++ b/term/key_scommand.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_scommand tigetstr("kCMD")
+
+/** shift+command key **/
+
+/*
+TERMINFO_NAME(kCMD)
+TERMCAP_NAME(*1)
+XOPEN(400)
+*/
diff --git a/term/key_scopy.c b/term/key_scopy.c
new file mode 100644
index 0000000..0857448
--- /dev/null
+++ b/term/key_scopy.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_scopy tigetstr("kCPY")
+
+/** shift+copy key **/
+
+/*
+TERMINFO_NAME(kCPY)
+TERMCAP_NAME(*2)
+XOPEN(400)
+*/
diff --git a/term/key_screate.c b/term/key_screate.c
new file mode 100644
index 0000000..4f52ca4
--- /dev/null
+++ b/term/key_screate.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_screate tigetstr("kCRT")
+
+/** shift+create key **/
+
+/*
+TERMINFO_NAME(kCRT)
+TERMCAP_NAME(*3)
+XOPEN(400)
+*/
diff --git a/term/key_sdc.c b/term/key_sdc.c
new file mode 100644
index 0000000..77c8689
--- /dev/null
+++ b/term/key_sdc.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sdc tigetstr("kDC")
+
+/** shift+delete-char key **/
+
+/*
+TERMINFO_NAME(kDC)
+TERMCAP_NAME(*4)
+XOPEN(400)
+*/
diff --git a/term/key_sdl.c b/term/key_sdl.c
new file mode 100644
index 0000000..ffa453b
--- /dev/null
+++ b/term/key_sdl.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sdl tigetstr("kDL")
+
+/** shift+delete-line key **/
+
+/*
+TERMINFO_NAME(kDL)
+TERMCAP_NAME(*5)
+XOPEN(400)
+*/
diff --git a/term/key_select.c b/term/key_select.c
new file mode 100644
index 0000000..ecda496
--- /dev/null
+++ b/term/key_select.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_select tigetstr("kslt")
+
+/** select key **/
+
+/*
+TERMINFO_NAME(kslt)
+TERMCAP_NAME(*6)
+XOPEN(400)
+*/
diff --git a/term/key_send.c b/term/key_send.c
new file mode 100644
index 0000000..e216348
--- /dev/null
+++ b/term/key_send.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_send tigetstr("kEND")
+
+/** shift+end key **/
+
+/*
+TERMINFO_NAME(kEND)
+TERMCAP_NAME(*7)
+XOPEN(400)
+*/
diff --git a/term/key_seol.c b/term/key_seol.c
new file mode 100644
index 0000000..f03cb0c
--- /dev/null
+++ b/term/key_seol.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_seol tigetstr("kEOL")
+
+/** shift+clear-line key **/
+
+/*
+TERMINFO_NAME(kEOL)
+TERMCAP_NAME(*8)
+XOPEN(400)
+*/
diff --git a/term/key_sexit.c b/term/key_sexit.c
new file mode 100644
index 0000000..bb4ee97
--- /dev/null
+++ b/term/key_sexit.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sexit tigetstr("kEXT")
+
+/** shift+exit key **/
+
+/*
+TERMINFO_NAME(kEXT)
+TERMCAP_NAME(*9)
+XOPEN(400)
+*/
diff --git a/term/key_sf.c b/term/key_sf.c
new file mode 100644
index 0000000..9f98951
--- /dev/null
+++ b/term/key_sf.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sf tigetstr("kind")
+
+/** scroll-forward/down key **/
+
+/*
+TERMINFO_NAME(kind)
+TERMCAP_NAME(kF)
+XOPEN(400)
+*/
diff --git a/term/key_sfind.c b/term/key_sfind.c
new file mode 100644
index 0000000..d213b4d
--- /dev/null
+++ b/term/key_sfind.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sfind tigetstr("kFND")
+
+/** shift+find key **/
+
+/*
+TERMINFO_NAME(kFND)
+TERMCAP_NAME(*0)
+XOPEN(400)
+*/
diff --git a/term/key_shelp.c b/term/key_shelp.c
new file mode 100644
index 0000000..f1e54eb
--- /dev/null
+++ b/term/key_shelp.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_shelp tigetstr("kHLP")
+
+/** shift+help key **/
+
+/*
+TERMINFO_NAME(kHLP)
+TERMCAP_NAME(#1)
+XOPEN(400)
+*/
diff --git a/term/key_shome.c b/term/key_shome.c
new file mode 100644
index 0000000..1bc3d11
--- /dev/null
+++ b/term/key_shome.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_shome tigetstr("kHOM")
+
+/** shift+home key **/
+
+/*
+TERMINFO_NAME(kHOM)
+TERMCAP_NAME(#2)
+XOPEN(400)
+*/
diff --git a/term/key_sic.c b/term/key_sic.c
new file mode 100644
index 0000000..19b9ef6
--- /dev/null
+++ b/term/key_sic.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sic tigetstr("iIC")
+
+/** shift+input key **/
+
+/*
+TERMINFO_NAME(iIC)
+TERMCAP_NAME(#3)
+XOPEN(400)
+*/
diff --git a/term/key_sleft.c b/term/key_sleft.c
new file mode 100644
index 0000000..0c9d609
--- /dev/null
+++ b/term/key_sleft.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sleft tigetstr("kLFT")
+
+/** shift+left-arrow key **/
+
+/*
+TERMINFO_NAME(kLFT)
+TERMCAP_NAME(#4)
+XOPEN(400)
+*/
diff --git a/term/key_smessage.c b/term/key_smessage.c
new file mode 100644
index 0000000..48e6975
--- /dev/null
+++ b/term/key_smessage.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_smessage tigetstr("kMSG")
+
+/** shift+message key **/
+
+/*
+TERMINFO_NAME(kMSG)
+TERMCAP_NAME(%a)
+XOPEN(400)
+*/
diff --git a/term/key_smove.c b/term/key_smove.c
new file mode 100644
index 0000000..896d22b
--- /dev/null
+++ b/term/key_smove.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_smove tigetstr("kMOV")
+
+/** shift+move key **/
+
+/*
+TERMINFO_NAME(kMOV)
+TERMCAP_NAME(%b)
+XOPEN(400)
+*/
diff --git a/term/key_snext.c b/term/key_snext.c
new file mode 100644
index 0000000..48b2ee6
--- /dev/null
+++ b/term/key_snext.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_snext tigetstr("kNXT")
+
+/** shift+next key **/
+
+/*
+TERMINFO_NAME(kNXT)
+TERMCAP_NAME(%c)
+XOPEN(400)
+*/
diff --git a/term/key_soptions.c b/term/key_soptions.c
new file mode 100644
index 0000000..d248e18
--- /dev/null
+++ b/term/key_soptions.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_soptions tigetstr("kOPT")
+
+/** shift+options key **/
+
+/*
+TERMINFO_NAME(kOPT)
+TERMCAP_NAME(%d)
+XOPEN(400)
+*/
diff --git a/term/key_sprevious.c b/term/key_sprevious.c
new file mode 100644
index 0000000..27a40b8
--- /dev/null
+++ b/term/key_sprevious.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sprevious tigetstr("kPRV")
+
+/** shift+prev key **/
+
+/*
+TERMINFO_NAME(kPRV)
+TERMCAP_NAME(%e)
+XOPEN(400)
+*/
diff --git a/term/key_sprint.c b/term/key_sprint.c
new file mode 100644
index 0000000..781c250
--- /dev/null
+++ b/term/key_sprint.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sprint tigetstr("kPRT")
+
+/** shift+print key **/
+
+/*
+TERMINFO_NAME(kPRT)
+TERMCAP_NAME(%f)
+XOPEN(400)
+*/
diff --git a/term/key_sr.c b/term/key_sr.c
new file mode 100644
index 0000000..315c70a
--- /dev/null
+++ b/term/key_sr.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sr tigetstr("kri")
+
+/** scroll-backward/up key **/
+
+/*
+TERMINFO_NAME(kri)
+TERMCAP_NAME(kR)
+XOPEN(400)
+*/
diff --git a/term/key_sredo.c b/term/key_sredo.c
new file mode 100644
index 0000000..6c37fd8
--- /dev/null
+++ b/term/key_sredo.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sredo tigetstr("kRDO")
+
+/** shift+redo key **/
+
+/*
+TERMINFO_NAME(kRDO)
+TERMCAP_NAME(%g)
+XOPEN(400)
+*/
diff --git a/term/key_sreplace.c b/term/key_sreplace.c
new file mode 100644
index 0000000..ede3b49
--- /dev/null
+++ b/term/key_sreplace.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sreplace tigetstr("kRPL")
+
+/** shift+replace key **/
+
+/*
+TERMINFO_NAME(kRPL)
+TERMCAP_NAME(%h)
+XOPEN(400)
+*/
diff --git a/term/key_sright.c b/term/key_sright.c
new file mode 100644
index 0000000..bf6c1ed
--- /dev/null
+++ b/term/key_sright.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sright tigetstr("kRIT")
+
+/** shift+right-arrow key **/
+
+/*
+TERMINFO_NAME(kRIT)
+TERMCAP_NAME(%i)
+XOPEN(400)
+*/
diff --git a/term/key_srsume.c b/term/key_srsume.c
new file mode 100644
index 0000000..9cd4267
--- /dev/null
+++ b/term/key_srsume.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_srsume tigetstr("kRES")
+
+/** shift+resume key **/
+
+/*
+TERMINFO_NAME(kRES)
+TERMCAP_NAME(%j)
+XOPEN(400)
+*/
diff --git a/term/key_ssave.c b/term/key_ssave.c
new file mode 100644
index 0000000..b3f2346
--- /dev/null
+++ b/term/key_ssave.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ssave tigetstr("kSAV")
+
+/** shift+save key **/
+
+/*
+TERMINFO_NAME(kSAV)
+TERMCAP_NAME(!1)
+XOPEN(400)
+*/
diff --git a/term/key_ssuspend.c b/term/key_ssuspend.c
new file mode 100644
index 0000000..2eba9a9
--- /dev/null
+++ b/term/key_ssuspend.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_ssuspend tigetstr("kSPD")
+
+/** shift+suspend key **/
+
+/*
+TERMINFO_NAME(kSPD)
+TERMCAP_NAME(!2)
+XOPEN(400)
+*/
diff --git a/term/key_stab.c b/term/key_stab.c
new file mode 100644
index 0000000..68c93d4
--- /dev/null
+++ b/term/key_stab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_stab tigetstr("khts")
+
+/** set-tab key **/
+
+/*
+TERMINFO_NAME(khts)
+TERMCAP_NAME(kT)
+XOPEN(400)
+*/
diff --git a/term/key_sundo.c b/term/key_sundo.c
new file mode 100644
index 0000000..08e8555
--- /dev/null
+++ b/term/key_sundo.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_sundo tigetstr("sUND")
+
+/** shift+undo key **/
+
+/*
+TERMINFO_NAME(sUND)
+TERMCAP_NAME(!3)
+XOPEN(400)
+*/
diff --git a/term/key_suspend.c b/term/key_suspend.c
new file mode 100644
index 0000000..fadaa60
--- /dev/null
+++ b/term/key_suspend.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_suspend tigetstr("kspd")
+
+/** suspend key **/
+
+/*
+TERMINFO_NAME(kspd)
+TERMCAP_NAME(&7)
+XOPEN(400)
+*/
diff --git a/term/key_undo.c b/term/key_undo.c
new file mode 100644
index 0000000..7d362a8
--- /dev/null
+++ b/term/key_undo.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_undo tigetstr("kund")
+
+/** undo key **/
+
+/*
+TERMINFO_NAME(kund)
+TERMCAP_NAME(&8)
+XOPEN(400)
+*/
diff --git a/term/key_up.c b/term/key_up.c
new file mode 100644
index 0000000..bf2aba3
--- /dev/null
+++ b/term/key_up.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define key_up tigetstr("kcuul")
+
+/** up-arrow key **/
+
+/*
+TERMINFO_NAME(kcuul)
+TERMCAP_NAME(ku)
+XOPEN(400)
+*/
diff --git a/term/keypad_local.c b/term/keypad_local.c
new file mode 100644
index 0000000..a236758
--- /dev/null
+++ b/term/keypad_local.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define keypad_local tigetstr("rmkx")
+
+/** out of "keypad-transmit" mode **/
+
+/*
+TERMINFO_NAME(rmkx)
+TERMCAP_NAME(ke)
+XOPEN(400)
+*/
diff --git a/term/keypad_xmit.c b/term/keypad_xmit.c
new file mode 100644
index 0000000..c56944a
--- /dev/null
+++ b/term/keypad_xmit.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define keypad_xmit tigetstr("smkx")
+
+/** put terminal in "keypad-transmit" mode **/
+
+/*
+TERMINFO_NAME(smkx)
+TERMCAP_NAME(ks)
+XOPEN(400)
+*/
diff --git a/term/lab_f0.c b/term/lab_f0.c
new file mode 100644
index 0000000..f772948
--- /dev/null
+++ b/term/lab_f0.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f0 tigetstr("lf0")
+
+/** label on function key f0 if not f0 **/
+
+/*
+TERMINFO_NAME(lf0)
+TERMCAP_NAME(l0)
+XOPEN(400)
+*/
diff --git a/term/lab_f1.c b/term/lab_f1.c
new file mode 100644
index 0000000..260c3b7
--- /dev/null
+++ b/term/lab_f1.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f1 tigetstr("lf1")
+
+/** label on function key f1 if not f1 **/
+
+/*
+TERMINFO_NAME(lf1)
+TERMCAP_NAME(l1)
+XOPEN(400)
+*/
diff --git a/term/lab_f10.c b/term/lab_f10.c
new file mode 100644
index 0000000..1309b05
--- /dev/null
+++ b/term/lab_f10.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f10 tigetstr("lf10")
+
+/** label on function key f10 if not f10 **/
+
+/*
+TERMINFO_NAME(lf10)
+TERMCAP_NAME(la)
+XOPEN(400)
+*/
diff --git a/term/lab_f2.c b/term/lab_f2.c
new file mode 100644
index 0000000..6fe7b9b
--- /dev/null
+++ b/term/lab_f2.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f2 tigetstr("lf2")
+
+/** label on function key f2 if not f2 **/
+
+/*
+TERMINFO_NAME(lf2)
+TERMCAP_NAME(l2)
+XOPEN(400)
+*/
diff --git a/term/lab_f3.c b/term/lab_f3.c
new file mode 100644
index 0000000..a78fe9d
--- /dev/null
+++ b/term/lab_f3.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f3 tigetstr("lf3")
+
+/** label on function key f3 if not f3 **/
+
+/*
+TERMINFO_NAME(lf3)
+TERMCAP_NAME(l3)
+XOPEN(400)
+*/
diff --git a/term/lab_f4.c b/term/lab_f4.c
new file mode 100644
index 0000000..cf6a679
--- /dev/null
+++ b/term/lab_f4.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f4 tigetstr("lf4")
+
+/** label on function key f4 if not f4 **/
+
+/*
+TERMINFO_NAME(lf4)
+TERMCAP_NAME(l4)
+XOPEN(400)
+*/
diff --git a/term/lab_f5.c b/term/lab_f5.c
new file mode 100644
index 0000000..23ad50b
--- /dev/null
+++ b/term/lab_f5.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f5 tigetstr("lf5")
+
+/** label on function key f5 if not f5 **/
+
+/*
+TERMINFO_NAME(lf5)
+TERMCAP_NAME(l5)
+XOPEN(400)
+*/
diff --git a/term/lab_f6.c b/term/lab_f6.c
new file mode 100644
index 0000000..f76c6b2
--- /dev/null
+++ b/term/lab_f6.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f6 tigetstr("lf6")
+
+/** label on function key f6 if not f6 **/
+
+/*
+TERMINFO_NAME(lf6)
+TERMCAP_NAME(l6)
+XOPEN(400)
+*/
diff --git a/term/lab_f7.c b/term/lab_f7.c
new file mode 100644
index 0000000..f7a6b77
--- /dev/null
+++ b/term/lab_f7.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f7 tigetstr("lf7")
+
+/** label on function key f7 if not f7 **/
+
+/*
+TERMINFO_NAME(lf7)
+TERMCAP_NAME(l7)
+XOPEN(400)
+*/
diff --git a/term/lab_f8.c b/term/lab_f8.c
new file mode 100644
index 0000000..01ab422
--- /dev/null
+++ b/term/lab_f8.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f8 tigetstr("lf8")
+
+/** label on function key f8 if not f8 **/
+
+/*
+TERMINFO_NAME(lf8)
+TERMCAP_NAME(l8)
+XOPEN(400)
+*/
diff --git a/term/lab_f9.c b/term/lab_f9.c
new file mode 100644
index 0000000..5065698
--- /dev/null
+++ b/term/lab_f9.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lab_f9 tigetstr("lf9")
+
+/** label on function key f9 if not f9 **/
+
+/*
+TERMINFO_NAME(lf9)
+TERMCAP_NAME(l9)
+XOPEN(400)
+*/
diff --git a/term/label_format.c b/term/label_format.c
new file mode 100644
index 0000000..0717814
--- /dev/null
+++ b/term/label_format.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define label_format tigetstr("fln")
+
+/** label format **/
+
+/*
+TERMINFO_NAME(fln)
+TERMCAP_NAME(Lf)
+XOPEN(400)
+*/
diff --git a/term/label_height.c b/term/label_height.c
new file mode 100644
index 0000000..77357bb
--- /dev/null
+++ b/term/label_height.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define label_height tigetnum("lh")
+
+/** number of rows in each label **/
+
+/*
+TERMINFO_NAME(lh)
+TERMCAP_NAME(lh)
+XOPEN(400)
+*/
diff --git a/term/label_off.c b/term/label_off.c
new file mode 100644
index 0000000..fabdec3
--- /dev/null
+++ b/term/label_off.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define label_off tigetstr("rmln")
+
+/** turn off soft labels **/
+
+/*
+TERMINFO_NAME(rmln)
+TERMCAP_NAME(LF)
+XOPEN(400)
+*/
diff --git a/term/label_on.c b/term/label_on.c
new file mode 100644
index 0000000..ff2deb0
--- /dev/null
+++ b/term/label_on.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define label_on tigetstr("smln")
+
+/** turn on soft labels **/
+
+/*
+TERMINFO_NAME(smln)
+TERMCAP_NAME(LO)
+XOPEN(400)
+*/
diff --git a/term/label_width.c b/term/label_width.c
new file mode 100644
index 0000000..768d740
--- /dev/null
+++ b/term/label_width.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define label_width tigetnum("lw")
+
+/** number of columns in each label **/
+
+/*
+TERMINFO_NAME(lw)
+TERMCAP_NAME(lw)
+XOPEN(400)
+*/
diff --git a/term/lines.c b/term/lines.c
new file mode 100644
index 0000000..cb59628
--- /dev/null
+++ b/term/lines.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lines tigetnum("lines")
+
+/** number of lines on a screen or a page **/
+
+/*
+TERMINFO_NAME(lines)
+TERMCAP_NAME(li)
+XOPEN(400)
+*/
diff --git a/term/lines_of_memory.c b/term/lines_of_memory.c
new file mode 100644
index 0000000..36d6200
--- /dev/null
+++ b/term/lines_of_memory.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lines_of_memory tigetnum("lm")
+
+/** lines of memory if > TERMCAP(lines); 0 = varies **/
+
+/*
+TERMINFO_NAME(lm)
+TERMCAP_NAME(lm)
+XOPEN(400)
+*/
diff --git a/term/lpi_changes_res.c b/term/lpi_changes_res.c
new file mode 100644
index 0000000..91e60b3
--- /dev/null
+++ b/term/lpi_changes_res.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define lpi_changes_res tigetflag("lpix")
+
+/** changing line pitch changes resolution **/
+
+/*
+TERMINFO_NAME(lpix)
+TERMCAP_NAME(YG)
+XOPEN(400)
+*/
diff --git a/term/magic_cookie_glitch.c b/term/magic_cookie_glitch.c
new file mode 100644
index 0000000..413b475
--- /dev/null
+++ b/term/magic_cookie_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define magic_cookie_glitch tigetnum("xmc")
+
+/** number of blank characters left by TERMCAP(smso) or TERMCAP(rmso) **/
+
+/*
+TERMINFO_NAME(xmc)
+TERMCAP_NAME(sg)
+XOPEN(400)
+*/
diff --git a/term/max_attributes.c b/term/max_attributes.c
new file mode 100644
index 0000000..33208b0
--- /dev/null
+++ b/term/max_attributes.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define max_attributes tigetnum("ma")
+
+/** maximum combined video attributes terminal can display **/
+
+/*
+TERMINFO_NAME(ma)
+TERMCAP_NAME(ma)
+XOPEN(400)
+*/
diff --git a/term/max_colors.c b/term/max_colors.c
new file mode 100644
index 0000000..b2c5a74
--- /dev/null
+++ b/term/max_colors.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define max_colors tigetnum("colors")
+
+/** maximum numbe of colors on the screen **/
+
+/*
+TERMINFO_NAME(colors)
+TERMCAP_NAME(Co)
+XOPEN(400)
+*/
diff --git a/term/max_micro_address.c b/term/max_micro_address.c
new file mode 100644
index 0000000..4d78821
--- /dev/null
+++ b/term/max_micro_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define max_micro_address tigetnum("maddr")
+
+/** maximum value in TERMCAP(micro_..._address) **/
+
+/*
+TERMINFO_NAME(maddr)
+TERMCAP_NAME(Yd)
+XOPEN(400)
+*/
diff --git a/term/max_micro_jump.c b/term/max_micro_jump.c
new file mode 100644
index 0000000..5817514
--- /dev/null
+++ b/term/max_micro_jump.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define max_micro_jump tigetnum("mjump")
+
+/** maximum value in TERMCAP(parm_..._micro) **/
+
+/*
+TERMINFO_NAME(mjump)
+TERMCAP_NAME(Ye)
+XOPEN(400)
+*/
diff --git a/term/max_pairs.c b/term/max_pairs.c
new file mode 100644
index 0000000..8dea999
--- /dev/null
+++ b/term/max_pairs.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define max_pairs tigetnum("pairs")
+
+/** maximum number of color pairs on the screen **/
+
+/*
+TERMINFO_NAME(pairs)
+TERMCAP_NAME(pa)
+XOPEN(400)
+*/
diff --git a/term/maximum_windows.c b/term/maximum_windows.c
new file mode 100644
index 0000000..1a6a7ab
--- /dev/null
+++ b/term/maximum_windows.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define maximum_windows tigetnum("wnum")
+
+/** maximum number of definable windows **/
+
+/*
+TERMINFO_NAME(wnum)
+TERMCAP_NAME(MW)
+XOPEN(400)
+*/
diff --git a/term/memory_above.c b/term/memory_above.c
new file mode 100644
index 0000000..4f62983
--- /dev/null
+++ b/term/memory_above.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define memory_above tigetflag("da")
+
+/** display may be retained above the screen **/
+
+/*
+TERMINFO_NAME(da)
+TERMCAP_NAME(da)
+XOPEN(400)
+*/
diff --git a/term/memory_below.c b/term/memory_below.c
new file mode 100644
index 0000000..a796480
--- /dev/null
+++ b/term/memory_below.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define memory_below tigetflag("db")
+
+/** display may be retained below the screen **/
+
+/*
+TERMINFO_NAME(db)
+TERMCAP_NAME(db)
+XOPEN(400)
+*/
diff --git a/term/meta_off.c b/term/meta_off.c
new file mode 100644
index 0000000..37acf83
--- /dev/null
+++ b/term/meta_off.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define meta_off tigetstr("rmm")
+
+/** turn off "meta mode" **/
+
+/*
+TERMINFO_NAME(rmm)
+TERMCAP_NAME(mo)
+XOPEN(400)
+*/
diff --git a/term/meta_on.c b/term/meta_on.c
new file mode 100644
index 0000000..c513368
--- /dev/null
+++ b/term/meta_on.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define meta_on tigetstr("smm")
+
+/** turn on "meta mode" (8th bit) **/
+
+/*
+TERMINFO_NAME(smm)
+TERMCAP_NAME(mm)
+XOPEN(400)
+*/
diff --git a/term/micro_col_size.c b/term/micro_col_size.c
new file mode 100644
index 0000000..84ec895
--- /dev/null
+++ b/term/micro_col_size.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_col_size tigetnum("mcs")
+
+/** character step size when in micro mode **/
+
+/*
+TERMINFO_NAME(mcs)
+TERMCAP_NAME(Yf)
+XOPEN(400)
+*/
diff --git a/term/micro_colum_address.c b/term/micro_colum_address.c
new file mode 100644
index 0000000..77ee71f
--- /dev/null
+++ b/term/micro_colum_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_colum_address tigetstr("mhpa")
+
+/** like TERMCAP(column_address) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mhpa)
+TERMCAP_NAME(ZY)
+XOPEN(400)
+*/
diff --git a/term/micro_down.c b/term/micro_down.c
new file mode 100644
index 0000000..b859687
--- /dev/null
+++ b/term/micro_down.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_down tigetstr("mcudl")
+
+/** like TERMCAP(cursor_down) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcudl)
+TERMCAP_NAME(ZZ)
+XOPEN(400)
+*/
diff --git a/term/micro_left.c b/term/micro_left.c
new file mode 100644
index 0000000..4c30e34
--- /dev/null
+++ b/term/micro_left.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_left tigetstr("mcubl")
+
+/** like TERMCAP(cursor_left) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcubl)
+TERMCAP_NAME(Za)
+XOPEN(400)
+*/
diff --git a/term/micro_line_size.c b/term/micro_line_size.c
new file mode 100644
index 0000000..e32c62f
--- /dev/null
+++ b/term/micro_line_size.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_line_size tigetnum("mls")
+
+/** line step size when in micro mode **/
+
+/*
+TERMINFO_NAME(mls)
+TERMCAP_NAME(Yg)
+XOPEN(400)
+*/
diff --git a/term/micro_right.c b/term/micro_right.c
new file mode 100644
index 0000000..683ecca
--- /dev/null
+++ b/term/micro_right.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_right tigetstr("mcufl")
+
+/** like TERMCAP(cursor_right) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcufl)
+TERMCAP_NAME(Zb)
+XOPEN(400)
+*/
diff --git a/term/micro_row_address.c b/term/micro_row_address.c
new file mode 100644
index 0000000..73473d8
--- /dev/null
+++ b/term/micro_row_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_row_address tigetstr("mvpa")
+
+/** like TERMCAP(row_address) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mvpa)
+TERMCAP_NAME(Zc)
+XOPEN(400)
+*/
diff --git a/term/micro_up.c b/term/micro_up.c
new file mode 100644
index 0000000..f2c4530
--- /dev/null
+++ b/term/micro_up.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define micro_up tigetstr("mcuul")
+
+/** like TERMCAP(cursor_up) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcuul)
+TERMCAP_NAME(Zd)
+XOPEN(400)
+*/
diff --git a/term/mouse_info.c b/term/mouse_info.c
new file mode 100644
index 0000000..c5242d8
--- /dev/null
+++ b/term/mouse_info.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define mouse_info tigetstr("minfo")
+
+/** mouse status information **/
+
+/*
+TERMINFO_NAME(minfo)
+TERMCAP_NAME(Mi)
+XOPEN(400)
+*/
diff --git a/term/move_insert_mode.c b/term/move_insert_mode.c
new file mode 100644
index 0000000..159524b
--- /dev/null
+++ b/term/move_insert_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define move_insert_mode tigetflag("mir")
+
+/** safe to move while in insert mode **/
+
+/*
+TERMINFO_NAME(mir)
+TERMCAP_NAME(mi)
+XOPEN(400)
+*/
diff --git a/term/move_standout_mode.c b/term/move_standout_mode.c
new file mode 100644
index 0000000..c7699a1
--- /dev/null
+++ b/term/move_standout_mode.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define move_standout_mode tigetflag("msgr")
+
+/** safe to move in standout modes **/
+
+/*
+TERMINFO_NAME(msgr)
+TERMCAP_NAME(ms)
+XOPEN(400)
+*/
diff --git a/term/needs_xon_xoff.c b/term/needs_xon_xoff.c
new file mode 100644
index 0000000..24367b9
--- /dev/null
+++ b/term/needs_xon_xoff.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define needs_xon_xoff tigetflag("nxon")
+
+/** padding won't work, xon/xoff required **/
+
+/*
+TERMINFO_NAME(nxon)
+TERMCAP_NAME(nx)
+XOPEN(400)
+*/
diff --git a/term/newline.c b/term/newline.c
new file mode 100644
index 0000000..c530ba3
--- /dev/null
+++ b/term/newline.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define newline tigetstr("nel")
+
+/** newline (behaves like TERMCAP(cr) followed by TERMCAP(lf)) **/
+
+/*
+TERMINFO_NAME(nel)
+TERMCAP_NAME(nw)
+XOPEN(400)
+*/
diff --git a/term/no_color_video.c b/term/no_color_video.c
new file mode 100644
index 0000000..6b82571
--- /dev/null
+++ b/term/no_color_video.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define no_color_video tigetnum("ncv")
+
+/** video attributes that can't be used with colors **/
+
+/*
+TERMINFO_NAME(ncv)
+TERMCAP_NAME(NC)
+XOPEN(400)
+*/
diff --git a/term/no_esc_ctlc.c b/term/no_esc_ctlc.c
new file mode 100644
index 0000000..572031f
--- /dev/null
+++ b/term/no_esc_ctlc.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define no_esc_ctlc tigetflag("xsb")
+
+/** beehive (f1=escape, f2=ctrl-C) **/
+
+/*
+TERMINFO_NAME(xsb)
+TERMCAP_NAME(xb)
+XOPEN(400)
+*/
diff --git a/term/no_pad_char.c b/term/no_pad_char.c
new file mode 100644
index 0000000..d09987a
--- /dev/null
+++ b/term/no_pad_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define no_pad_char tigetflag("npc")
+
+/** pad character doesn't exist **/
+
+/*
+TERMINFO_NAME(npc)
+TERMCAP_NAME(NP)
+XOPEN(400)
+*/
diff --git a/term/non_dest_scroll_region.c b/term/non_dest_scroll_region.c
new file mode 100644
index 0000000..b099bbc
--- /dev/null
+++ b/term/non_dest_scroll_region.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define non_dest_scroll_region tigetflag("ndscr")
+
+/** scrolling region is nondestructive **/
+
+/*
+TERMINFO_NAME(ndscr)
+TERMCAP_NAME(ND)
+XOPEN(400)
+*/
diff --git a/term/non_rev_rmcup.c b/term/non_rev_rmcup.c
new file mode 100644
index 0000000..7fdecf0
--- /dev/null
+++ b/term/non_rev_rmcup.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define non_rev_rmcup tigetflag("nrrmc")
+
+/** TERMCAP(smcup) does not reverse TERMCAP(rmcup) **/
+
+/*
+TERMINFO_NAME(nrrmc)
+TERMCAP_NAME(NR)
+XOPEN(400)
+*/
diff --git a/term/num_labels.c b/term/num_labels.c
new file mode 100644
index 0000000..5452b22
--- /dev/null
+++ b/term/num_labels.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define num_labels tigetnum("nlab")
+
+/** numbe of labels on screen (start at 1) **/
+
+/*
+TERMINFO_NAME(nlab)
+TERMCAP_NAME(Nl)
+XOPEN(400)
+*/
diff --git a/term/number_of_pins.c b/term/number_of_pins.c
new file mode 100644
index 0000000..7123b43
--- /dev/null
+++ b/term/number_of_pins.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define number_of_pins tigetnum("npins")
+
+/** number of pins in print-head **/
+
+/*
+TERMINFO_NAME(npins)
+TERMCAP_NAME(Yh)
+XOPEN(400)
+*/
diff --git a/term/order_of_pins.c b/term/order_of_pins.c
new file mode 100644
index 0000000..db38614
--- /dev/null
+++ b/term/order_of_pins.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define order_of_pins tigetstr("porder")
+
+/** matches software bits to print-head pins **/
+
+/*
+TERMINFO_NAME(porder)
+TERMCAP_NAME(Ze)
+XOPEN(400)
+*/
diff --git a/term/orig_colors.c b/term/orig_colors.c
new file mode 100644
index 0000000..24f862c
--- /dev/null
+++ b/term/orig_colors.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define orig_colors tigetstr("oc")
+
+/** set all colors and color pairs to original **/
+
+/*
+TERMINFO_NAME(oc)
+TERMCAP_NAME(oc)
+XOPEN(400)
+*/
diff --git a/term/orig_pair.c b/term/orig_pair.c
new file mode 100644
index 0000000..5a77cb5
--- /dev/null
+++ b/term/orig_pair.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define orig_pair tigetstr("op")
+
+/** set default color pair to original **/
+
+/*
+TERMINFO_NAME(op)
+TERMCAP_NAME(op)
+XOPEN(400)
+*/
diff --git a/term/output_res_char.c b/term/output_res_char.c
new file mode 100644
index 0000000..0d82498
--- /dev/null
+++ b/term/output_res_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define output_res_char tigetnum("orc")
+
+/** horizontal resolution in units per character **/
+
+/*
+TERMINFO_NAME(orc)
+TERMCAP_NAME(Yi)
+XOPEN(400)
+*/
diff --git a/term/output_res_horz_inch.c b/term/output_res_horz_inch.c
new file mode 100644
index 0000000..a96fbb9
--- /dev/null
+++ b/term/output_res_horz_inch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define output_res_horz_inch tigetnum("orhi")
+
+/** horizontal resolution in units per inch **/
+
+/*
+TERMINFO_NAME(orhi)
+TERMCAP_NAME(Yk)
+XOPEN(400)
+*/
diff --git a/term/output_res_line.c b/term/output_res_line.c
new file mode 100644
index 0000000..d889823
--- /dev/null
+++ b/term/output_res_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define output_res_line tigetnum("orl")
+
+/** vertical resolution in units per line **/
+
+/*
+TERMINFO_NAME(orl)
+TERMCAP_NAME(Yj)
+XOPEN(400)
+*/
diff --git a/term/output_res_vert_inch.c b/term/output_res_vert_inch.c
new file mode 100644
index 0000000..9b3b606
--- /dev/null
+++ b/term/output_res_vert_inch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define output_res_vert_inch tigetnum("orvi")
+
+/** vertical resolution in units per inch **/
+
+/*
+TERMINFO_NAME(orvi)
+TERMCAP_NAME(Yl)
+XOPEN(400)
+*/
diff --git a/term/over_strike.c b/term/over_strike.c
new file mode 100644
index 0000000..a10da9f
--- /dev/null
+++ b/term/over_strike.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define over_strike tigetflag("os")
+
+/** terminal overstrikes on hard-copy terminal **/
+
+/*
+TERMINFO_NAME(os)
+TERMCAP_NAME(os)
+XOPEN(400)
+*/
diff --git a/term/pad_char.c b/term/pad_char.c
new file mode 100644
index 0000000..831e3d7
--- /dev/null
+++ b/term/pad_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pad_char tigetstr("pad")
+
+/** pd characters (rather than null) **/
+
+/*
+TERMINFO_NAME(pad)
+TERMCAP_NAME(pc)
+XOPEN(400)
+*/
diff --git a/term/padding_baud_rate.c b/term/padding_baud_rate.c
new file mode 100644
index 0000000..24fbd5e
--- /dev/null
+++ b/term/padding_baud_rate.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define padding_baud_rate tigetnum("pb")
+
+/** lowest baud rate where padding needed **/
+
+/*
+TERMINFO_NAME(pb)
+TERMCAP_NAME(pb)
+XOPEN(400)
+*/
diff --git a/term/parm_dch.c b/term/parm_dch.c
new file mode 100644
index 0000000..705569f
--- /dev/null
+++ b/term/parm_dch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_dch tigetstr("dch")
+
+/** delete #1 chars **/
+
+/*
+TERMINFO_NAME(dch)
+TERMCAP_NAME(DC)
+XOPEN(400)
+*/
diff --git a/term/parm_delete_line.c b/term/parm_delete_line.c
new file mode 100644
index 0000000..7c43e81
--- /dev/null
+++ b/term/parm_delete_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_delete_line tigetstr("dl")
+
+/** delete #1 lines **/
+
+/*
+TERMINFO_NAME(dl)
+TERMCAP_NAME(DL)
+XOPEN(400)
+*/
diff --git a/term/parm_down_cursor.c b/term/parm_down_cursor.c
new file mode 100644
index 0000000..97acc10
--- /dev/null
+++ b/term/parm_down_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_down_cursor tigetstr("cud")
+
+/** move down #1 lines **/
+
+/*
+TERMINFO_NAME(cud)
+TERMCAP_NAME(DO)
+XOPEN(400)
+*/
diff --git a/term/parm_down_micro.c b/term/parm_down_micro.c
new file mode 100644
index 0000000..80a77c2
--- /dev/null
+++ b/term/parm_down_micro.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_down_micro tigetstr("mcud")
+
+/** like TERMCAP(parm_down_cursor) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcud)
+TERMCAP_NAME(Zf)
+XOPEN(400)
+*/
diff --git a/term/parm_ich.c b/term/parm_ich.c
new file mode 100644
index 0000000..1121bfb
--- /dev/null
+++ b/term/parm_ich.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_ich tigetstr("ich")
+
+/** insert #1 blank characters **/
+
+/*
+TERMINFO_NAME(ich)
+TERMCAP_NAME(IC)
+XOPEN(400)
+*/
diff --git a/term/parm_index.c b/term/parm_index.c
new file mode 100644
index 0000000..0aa8d18
--- /dev/null
+++ b/term/parm_index.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_index tigetstr("indn")
+
+/** scroll forward #1 lines **/
+
+/*
+TERMINFO_NAME(indn)
+TERMCAP_NAME(SF)
+XOPEN(400)
+*/
diff --git a/term/parm_insert_line.c b/term/parm_insert_line.c
new file mode 100644
index 0000000..3219fef
--- /dev/null
+++ b/term/parm_insert_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_insert_line tigetstr("il")
+
+/** add #1 new blank lines **/
+
+/*
+TERMINFO_NAME(il)
+TERMCAP_NAME(AL)
+XOPEN(400)
+*/
diff --git a/term/parm_left_cursor.c b/term/parm_left_cursor.c
new file mode 100644
index 0000000..7b1488e
--- /dev/null
+++ b/term/parm_left_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_left_cursor tigetstr("cub")
+
+/** move cursor left #1 spaces **/
+
+/*
+TERMINFO_NAME(cub)
+TERMCAP_NAME(LE)
+XOPEN(400)
+*/
diff --git a/term/parm_left_micro.c b/term/parm_left_micro.c
new file mode 100644
index 0000000..b4273df
--- /dev/null
+++ b/term/parm_left_micro.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_left_micro tigetstr("mcub")
+
+/** like TERMCAP(parm_left_cursor) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcub)
+TERMCAP_NAME(Zg)
+XOPEN(400)
+*/
diff --git a/term/parm_right_cursor.c b/term/parm_right_cursor.c
new file mode 100644
index 0000000..955f5eb
--- /dev/null
+++ b/term/parm_right_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_right_cursor tigetstr("cuf")
+
+/** move right #1 spaces **/
+
+/*
+TERMINFO_NAME(cuf)
+TERMCAP_NAME(RI)
+XOPEN(400)
+*/
diff --git a/term/parm_right_micro.c b/term/parm_right_micro.c
new file mode 100644
index 0000000..8a2e2b0
--- /dev/null
+++ b/term/parm_right_micro.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_right_micro tigetstr("mcuf")
+
+/** like TERMCAP(parm_right_cursor) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcuf)
+TERMCAP_NAME(Zh)
+XOPEN(400)
+*/
diff --git a/term/parm_rindex.c b/term/parm_rindex.c
new file mode 100644
index 0000000..8daaab5
--- /dev/null
+++ b/term/parm_rindex.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_rindex tigetstr("rin")
+
+/** scroll backward #1 lines **/
+
+/*
+TERMINFO_NAME(rin)
+TERMCAP_NAME(SR)
+XOPEN(400)
+*/
diff --git a/term/parm_up_cursor.c b/term/parm_up_cursor.c
new file mode 100644
index 0000000..3187642
--- /dev/null
+++ b/term/parm_up_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_up_cursor tigetstr("cuu")
+
+/** move cursor up #1 lines **/
+
+/*
+TERMINFO_NAME(cuu)
+TERMCAP_NAME(UP)
+XOPEN(400)
+*/
diff --git a/term/parm_up_micro.c b/term/parm_up_micro.c
new file mode 100644
index 0000000..8468ac7
--- /dev/null
+++ b/term/parm_up_micro.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define parm_up_micro tigetstr("mcuu")
+
+/** like TERMCAP(parm_up_cusor) for micro adjustment **/
+
+/*
+TERMINFO_NAME(mcuu)
+TERMCAP_NAME(Zi)
+XOPEN(400)
+*/
diff --git a/term/pc_term_options.c b/term/pc_term_options.c
new file mode 100644
index 0000000..3f6a89c
--- /dev/null
+++ b/term/pc_term_options.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pc_term_options tigetstr("pctrm")
+
+/** PC terminal options **/
+
+/*
+TERMINFO_NAME(pctrm)
+TERMCAP_NAME(S6)
+XOPEN(400)
+*/
diff --git a/term/pkey_key.c b/term/pkey_key.c
new file mode 100644
index 0000000..a3c7899
--- /dev/null
+++ b/term/pkey_key.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pkey_key tigetstr("pfkey")
+
+/** program function key #1 to type string #2 **/
+
+/*
+TERMINFO_NAME(pfkey)
+TERMCAP_NAME(pk)
+XOPEN(400)
+*/
diff --git a/term/pkey_local.c b/term/pkey_local.c
new file mode 100644
index 0000000..f5f63d6
--- /dev/null
+++ b/term/pkey_local.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pkey_local tigetstr("pfloc")
+
+/** program function key #1 to execute string #2 **/
+
+/*
+TERMINFO_NAME(pfloc)
+TERMCAP_NAME(pl)
+XOPEN(400)
+*/
diff --git a/term/pkey_plab.c b/term/pkey_plab.c
new file mode 100644
index 0000000..88fc73c
--- /dev/null
+++ b/term/pkey_plab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pkey_plab tigetstr("pfxl")
+
+/** program function key #1 to transmit string #2 and show string #3 **/
+
+/*
+TERMINFO_NAME(pfxl)
+TERMCAP_NAME(xl)
+XOPEN(400)
+*/
diff --git a/term/pkey_xmit.c b/term/pkey_xmit.c
new file mode 100644
index 0000000..ad57ad3
--- /dev/null
+++ b/term/pkey_xmit.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pkey_xmit tigetstr("pfx")
+
+/** program function key #1 to transmit string #2 **/
+
+/*
+TERMINFO_NAME(pfx)
+TERMCAP_NAME(px)
+XOPEN(400)
+*/
diff --git a/term/plab_norm.c b/term/plab_norm.c
new file mode 100644
index 0000000..15bc688
--- /dev/null
+++ b/term/plab_norm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define plab_norm tigetstr("pln")
+
+/** program label #1 to show string #2 **/
+
+/*
+TERMINFO_NAME(pln)
+TERMCAP_NAME(pn)
+XOPEN(400)
+*/
diff --git a/term/print_rate.c b/term/print_rate.c
new file mode 100644
index 0000000..dce8027
--- /dev/null
+++ b/term/print_rate.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define print_rate tigetnum("cps")
+
+/** print rate in characters per second **/
+
+/*
+TERMINFO_NAME(cps)
+TERMCAP_NAME(Ym)
+XOPEN(400)
+*/
diff --git a/term/print_screen.c b/term/print_screen.c
new file mode 100644
index 0000000..1f5b236
--- /dev/null
+++ b/term/print_screen.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define print_screen tigetstr("mc0")
+
+/** print contents of the screen **/
+
+/*
+TERMINFO_NAME(mc0)
+TERMCAP_NAME(ps)
+XOPEN(400)
+*/
diff --git a/term/prtr_non.c b/term/prtr_non.c
new file mode 100644
index 0000000..4db3f44
--- /dev/null
+++ b/term/prtr_non.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define prtr_non tigetstr("mc5p")
+
+/** turn on printer for #1 bytes **/
+
+/*
+TERMINFO_NAME(mc5p)
+TERMCAP_NAME(p0)
+XOPEN(400)
+*/
diff --git a/term/prtr_off.c b/term/prtr_off.c
new file mode 100644
index 0000000..41b2096
--- /dev/null
+++ b/term/prtr_off.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define prtr_off tigetstr("mc4")
+
+/** turn off printer **/
+
+/*
+TERMINFO_NAME(mc4)
+TERMCAP_NAME(pf)
+XOPEN(400)
+*/
diff --git a/term/prtr_on.c b/term/prtr_on.c
new file mode 100644
index 0000000..18cc67d
--- /dev/null
+++ b/term/prtr_on.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define prtr_on tigetstr("mc5")
+
+/** turn on printer **/
+
+/*
+TERMINFO_NAME(mc5)
+TERMCAP_NAME(po)
+XOPEN(400)
+*/
diff --git a/term/prtr_silent.c b/term/prtr_silent.c
new file mode 100644
index 0000000..c9d735d
--- /dev/null
+++ b/term/prtr_silent.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define prtr_silent tigetflag("mc5i")
+
+/** printer won't echo on screen **/
+
+/*
+TERMINFO_NAME(mc5i)
+TERMCAP_NAME(5i)
+XOPEN(400)
+*/
diff --git a/term/pulse.c b/term/pulse.c
new file mode 100644
index 0000000..f86a439
--- /dev/null
+++ b/term/pulse.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define pulse tigetstr("pulse")
+
+/** select pulse dialing **/
+
+/*
+TERMINFO_NAME(pulse)
+TERMCAP_NAME(PU)
+XOPEN(400)
+*/
diff --git a/term/putp.c b/term/putp.c
new file mode 100644
index 0000000..1264f7d
--- /dev/null
+++ b/term/putp.c
@@ -0,0 +1,12 @@
+#include <term.h>
+#include <curses.h>
+
+int putp(const char * str)
+{
+ return tputs(str, 1, putchar);
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/quick_dial.c b/term/quick_dial.c
new file mode 100644
index 0000000..653963f
--- /dev/null
+++ b/term/quick_dial.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define quick_dial tigetstr("qdial")
+
+/** dial phone number #1 without progress detection **/
+
+/*
+TERMINFO_NAME(qdial)
+TERMCAP_NAME(QD)
+XOPEN(400)
+*/
diff --git a/term/remove_clock.c b/term/remove_clock.c
new file mode 100644
index 0000000..5ee7df3
--- /dev/null
+++ b/term/remove_clock.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define remove_clock tigetstr("rmclk")
+
+/** remove time-of-day clock **/
+
+/*
+TERMINFO_NAME(rmclk)
+TERMCAP_NAME(RC)
+XOPEN(400)
+*/
diff --git a/term/repeat_char.c b/term/repeat_char.c
new file mode 100644
index 0000000..689832c
--- /dev/null
+++ b/term/repeat_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define repeat_char tigetstr("rep")
+
+/** repeat character #1 #2 times **/
+
+/*
+TERMINFO_NAME(rep)
+TERMCAP_NAME(rp)
+XOPEN(400)
+*/
diff --git a/term/req_for_input.c b/term/req_for_input.c
new file mode 100644
index 0000000..db3d0a9
--- /dev/null
+++ b/term/req_for_input.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define req_for_input tigetstr("rfi")
+
+/** send next input character **/
+
+/*
+TERMINFO_NAME(rfi)
+TERMCAP_NAME(RF)
+XOPEN(400)
+*/
diff --git a/term/req_mouse_pos.c b/term/req_mouse_pos.c
new file mode 100644
index 0000000..b751bc2
--- /dev/null
+++ b/term/req_mouse_pos.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define req_mouse_pos tigetstr("reqmp")
+
+/** request mouse position report **/
+
+/*
+TERMINFO_NAME(reqmp)
+TERMCAP_NAME(RQ)
+XOPEN(400)
+*/
diff --git a/term/reset_1string.c b/term/reset_1string.c
new file mode 100644
index 0000000..92f3cb7
--- /dev/null
+++ b/term/reset_1string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define reset_1string tigetstr("rs1")
+
+/** reset terminal completely to sane modes **/
+
+/*
+TERMINFO_NAME(rs1)
+TERMCAP_NAME(r1)
+XOPEN(400)
+*/
diff --git a/term/reset_2string.c b/term/reset_2string.c
new file mode 100644
index 0000000..36501d3
--- /dev/null
+++ b/term/reset_2string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define reset_2string tigetstr("rs2")
+
+/** reset terminal completely to sane modes **/
+
+/*
+TERMINFO_NAME(rs2)
+TERMCAP_NAME(r2)
+XOPEN(400)
+*/
diff --git a/term/reset_3string.c b/term/reset_3string.c
new file mode 100644
index 0000000..17c42a8
--- /dev/null
+++ b/term/reset_3string.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define reset_3string tigetstr("rs3")
+
+/** reset terminal completely to sane modes **/
+
+/*
+TERMINFO_NAME(rs3)
+TERMCAP_NAME(r3)
+XOPEN(400)
+*/
diff --git a/term/reset_file.c b/term/reset_file.c
new file mode 100644
index 0000000..ce05ef2
--- /dev/null
+++ b/term/reset_file.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define reset_file tigetstr("rf")
+
+/** name of file containing reset string **/
+
+/*
+TERMINFO_NAME(rf)
+TERMCAP_NAME(rf)
+XOPEN(400)
+*/
diff --git a/term/restartterm.c b/term/restartterm.c
new file mode 100644
index 0000000..3fda82b
--- /dev/null
+++ b/term/restartterm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int restartterm(const char * term, int fildes, int * errret)
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/restore_cursor.c b/term/restore_cursor.c
new file mode 100644
index 0000000..caa52f1
--- /dev/null
+++ b/term/restore_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define restore_cursor tigetstr("rc")
+
+/** restore cursor to position of last sc **/
+
+/*
+TERMINFO_NAME(rc)
+TERMCAP_NAME(rc)
+XOPEN(400)
+*/
diff --git a/term/row_addr_glitch.c b/term/row_addr_glitch.c
new file mode 100644
index 0000000..010d440
--- /dev/null
+++ b/term/row_addr_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define row_addr_glitch tigetflag("xvpa")
+
+/** only positive motion for TERMCAP(vpa)/TERMCAP(mvpa) **/
+
+/*
+TERMINFO_NAME(xvpa)
+TERMCAP_NAME(YD)
+XOPEN(400)
+*/
diff --git a/term/row_address.c b/term/row_address.c
new file mode 100644
index 0000000..b8e2e63
--- /dev/null
+++ b/term/row_address.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define row_address tigetstr("vpa")
+
+/** set vertical position to absolute #1 **/
+
+/*
+TERMINFO_NAME(vpa)
+TERMCAP_NAME(cv)
+XOPEN(400)
+*/
diff --git a/term/save_cursor.c b/term/save_cursor.c
new file mode 100644
index 0000000..c1d19b9
--- /dev/null
+++ b/term/save_cursor.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define save_cursor tigetstr("sc")
+
+/** save cursor position **/
+
+/*
+TERMINFO_NAME(sc)
+TERMCAP_NAME(sc)
+XOPEN(400)
+*/
diff --git a/term/scancode_escape.c b/term/scancode_escape.c
new file mode 100644
index 0000000..878476f
--- /dev/null
+++ b/term/scancode_escape.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define scancode_escape tigetstr("scesc")
+
+/** escape for scancode emulation **/
+
+/*
+TERMINFO_NAME(scesc)
+TERMCAP_NAME(S7)
+XOPEN(400)
+*/
diff --git a/term/scroll_forward.c b/term/scroll_forward.c
new file mode 100644
index 0000000..9f9f708
--- /dev/null
+++ b/term/scroll_forward.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define scroll_forward tigetstr("ind")
+
+/** scroll text up **/
+
+/*
+TERMINFO_NAME(ind)
+TERMCAP_NAME(sf)
+XOPEN(400)
+*/
diff --git a/term/scroll_reverse.c b/term/scroll_reverse.c
new file mode 100644
index 0000000..be1442a
--- /dev/null
+++ b/term/scroll_reverse.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define scroll_reverse tigetstr("ri")
+
+/** scroll text down **/
+
+/*
+TERMINFO_NAME(ri)
+TERMCAP_NAME(sr)
+XOPEN(400)
+*/
diff --git a/term/seT_top_margin.c b/term/seT_top_margin.c
new file mode 100644
index 0000000..84a6a23
--- /dev/null
+++ b/term/seT_top_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define seT_top_margin tigetstr("smgt")
+
+/** set top margin at current line **/
+
+/*
+TERMINFO_NAME(smgt)
+TERMCAP_NAME(Zo)
+XOPEN(400)
+*/
diff --git a/term/select_char_set.c b/term/select_char_set.c
new file mode 100644
index 0000000..18308f6
--- /dev/null
+++ b/term/select_char_set.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define select_char_set tigetstr("scs")
+
+/** select character set **/
+
+/*
+TERMINFO_NAME(scs)
+TERMCAP_NAME(Zj)
+XOPEN(400)
+*/
diff --git a/term/semi_auto_right_margin.c b/term/semi_auto_right_margin.c
new file mode 100644
index 0000000..13a9e4f
--- /dev/null
+++ b/term/semi_auto_right_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define semi_auto_right_margin tigetflag("sam")
+
+/** printing in last column causes TERMCAP(cr) **/
+
+/*
+TERMINFO_NAME(sam)
+TERMCAP_NAME(YE)
+XOPEN(400)
+*/
diff --git a/term/set0_des_seq.c b/term/set0_des_seq.c
new file mode 100644
index 0000000..c3a01a7
--- /dev/null
+++ b/term/set0_des_seq.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set0_des_seq tigetstr("s0ds")
+
+/** shift into codeset 0 (EUC set 0, ASCII) **/
+
+/*
+TERMINFO_NAME(s0ds)
+TERMCAP_NAME(s0)
+XOPEN(400)
+*/
diff --git a/term/set1_des_seq.c b/term/set1_des_seq.c
new file mode 100644
index 0000000..20c30b7
--- /dev/null
+++ b/term/set1_des_seq.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set1_des_seq tigetstr("s1ds")
+
+/** shift into codeset 1 **/
+
+/*
+TERMINFO_NAME(s1ds)
+TERMCAP_NAME(s1)
+XOPEN(400)
+*/
diff --git a/term/set2_des_seq.c b/term/set2_des_seq.c
new file mode 100644
index 0000000..d9ecb9f
--- /dev/null
+++ b/term/set2_des_seq.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set2_des_seq tigetstr("s2ds")
+
+/** shift into codeset 2 **/
+
+/*
+TERMINFO_NAME(s2ds)
+TERMCAP_NAME(s2)
+XOPEN(400)
+*/
diff --git a/term/set3_des_seq.c b/term/set3_des_seq.c
new file mode 100644
index 0000000..a3425eb
--- /dev/null
+++ b/term/set3_des_seq.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set3_des_seq tigetstr("s3ds")
+
+/** shift into codeset 3 **/
+
+/*
+TERMINFO_NAME(s3ds)
+TERMCAP_NAME(s3)
+XOPEN(400)
+*/
diff --git a/term/set_a_attributes.c b/term/set_a_attributes.c
new file mode 100644
index 0000000..2592c63
--- /dev/null
+++ b/term/set_a_attributes.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_a_attributes tigetstr("sgrl")
+
+/** define second set of video attributes #1-#6 **/
+
+/*
+TERMINFO_NAME(sgrl)
+TERMCAP_NAME(--)
+XOPEN(400)
+*/
diff --git a/term/set_a_background.c b/term/set_a_background.c
new file mode 100644
index 0000000..b9ea96c
--- /dev/null
+++ b/term/set_a_background.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_a_background tigetstr("setab")
+
+/** set background color to #1 using ANSI escape **/
+
+/*
+TERMINFO_NAME(setab)
+TERMCAP_NAME(AB)
+XOPEN(400)
+*/
diff --git a/term/set_a_foreground.c b/term/set_a_foreground.c
new file mode 100644
index 0000000..b1a879c
--- /dev/null
+++ b/term/set_a_foreground.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_a_foreground tigetstr("setaf")
+
+/** set foreground color to #1 using ANSI escape **/
+
+/*
+TERMINFO_NAME(setaf)
+TERMCAP_NAME(AF)
+XOPEN(400)
+*/
diff --git a/term/set_attributes.c b/term/set_attributes.c
new file mode 100644
index 0000000..98ecb57
--- /dev/null
+++ b/term/set_attributes.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_attributes tigetstr("sgr")
+
+/** define first set of video attributes #1-#9 **/
+
+/*
+TERMINFO_NAME(sgr)
+TERMCAP_NAME(sa)
+XOPEN(400)
+*/
diff --git a/term/set_background.c b/term/set_background.c
new file mode 100644
index 0000000..4bd684c
--- /dev/null
+++ b/term/set_background.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_background tigetstr("setb")
+
+/** set background color to #1 **/
+
+/*
+TERMINFO_NAME(setb)
+TERMCAP_NAME(Sb)
+XOPEN(400)
+*/
diff --git a/term/set_bottom_margin.c b/term/set_bottom_margin.c
new file mode 100644
index 0000000..928de83
--- /dev/null
+++ b/term/set_bottom_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_bottom_margin tigetstr("smgb")
+
+/** set bottom margin at current line **/
+
+/*
+TERMINFO_NAME(smgb)
+TERMCAP_NAME(Zk)
+XOPEN(400)
+*/
diff --git a/term/set_bottom_margin_parm.c b/term/set_bottom_margin_parm.c
new file mode 100644
index 0000000..8c8f0c6
--- /dev/null
+++ b/term/set_bottom_margin_parm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_bottom_margin_parm tigetstr("smgbp")
+
+/** set bototm margin at line #1 or #2 lines from bottom **/
+
+/*
+TERMINFO_NAME(smgbp)
+TERMCAP_NAME(Zl)
+XOPEN(400)
+*/
diff --git a/term/set_clock.c b/term/set_clock.c
new file mode 100644
index 0000000..83dfbcc
--- /dev/null
+++ b/term/set_clock.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_clock tigetstr("sclk")
+
+/** set clock to #1 hours, #2 minutes, #3 seconds **/
+
+/*
+TERMINFO_NAME(sclk)
+TERMCAP_NAME(SC)
+XOPEN(400)
+*/
diff --git a/term/set_color_band.c b/term/set_color_band.c
new file mode 100644
index 0000000..9e34d8f
--- /dev/null
+++ b/term/set_color_band.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_color_band tigetstr("setcolor")
+
+/** change to ribbon color #1 **/
+
+/*
+TERMINFO_NAME(setcolor)
+TERMCAP_NAME(Yz)
+XOPEN(400)
+*/
diff --git a/term/set_color_pair.c b/term/set_color_pair.c
new file mode 100644
index 0000000..483e396
--- /dev/null
+++ b/term/set_color_pair.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_color_pair tigetstr("scp")
+
+/** set current color pair to #1 **/
+
+/*
+TERMINFO_NAME(scp)
+TERMCAP_NAME(sp)
+XOPEN(400)
+*/
diff --git a/term/set_curterm.c b/term/set_curterm.c
new file mode 100644
index 0000000..5342f05
--- /dev/null
+++ b/term/set_curterm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+TERMINAL * set_curterm(TERMINAL * nterm)
+{
+ return cur_term;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/set_foreground.c b/term/set_foreground.c
new file mode 100644
index 0000000..9eda9e5
--- /dev/null
+++ b/term/set_foreground.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_foreground tigetstr("setf")
+
+/** set foreground color to #1 **/
+
+/*
+TERMINFO_NAME(setf)
+TERMCAP_NAME(Sf)
+XOPEN(400)
+*/
diff --git a/term/set_left_margin.c b/term/set_left_margin.c
new file mode 100644
index 0000000..67803ba
--- /dev/null
+++ b/term/set_left_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_left_margin tigetstr("smgl")
+
+/** set left margin at current column **/
+
+/*
+TERMINFO_NAME(smgl)
+TERMCAP_NAME(ML)
+XOPEN(400)
+*/
diff --git a/term/set_left_margin_parm.c b/term/set_left_margin_parm.c
new file mode 100644
index 0000000..35c8428
--- /dev/null
+++ b/term/set_left_margin_parm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_left_margin_parm tigetstr("smglp")
+
+/** set left (right) margin at column #1 (#2) **/
+
+/*
+TERMINFO_NAME(smglp)
+TERMCAP_NAME(Zm)
+XOPEN(400)
+*/
diff --git a/term/set_lr_margin.c b/term/set_lr_margin.c
new file mode 100644
index 0000000..4e91720
--- /dev/null
+++ b/term/set_lr_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_lr_margin tigetstr("smglr")
+
+/** set both left and right margins **/
+
+/*
+TERMINFO_NAME(smglr)
+TERMCAP_NAME(ML)
+XOPEN(400)
+*/
diff --git a/term/set_page_length.c b/term/set_page_length.c
new file mode 100644
index 0000000..5887fcb
--- /dev/null
+++ b/term/set_page_length.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_page_length tigetstr("slines")
+
+/** set page length to #1 lines **/
+
+/*
+TERMINFO_NAME(slines)
+TERMCAP_NAME(YZ)
+XOPEN(400)
+*/
diff --git a/term/set_pglen_inch.c b/term/set_pglen_inch.c
new file mode 100644
index 0000000..f185332
--- /dev/null
+++ b/term/set_pglen_inch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_pglen_inch tigetstr("slength")
+
+/** set page length to #1 hundredths of an inch **/
+
+/*
+TERMINFO_NAME(slength)
+TERMCAP_NAME(YI)
+XOPEN(400)
+*/
diff --git a/term/set_right_margin.c b/term/set_right_margin.c
new file mode 100644
index 0000000..982162b
--- /dev/null
+++ b/term/set_right_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_right_margin tigetstr("smgr")
+
+/** set right margin at current column **/
+
+/*
+TERMINFO_NAME(smgr)
+TERMCAP_NAME(MR)
+XOPEN(400)
+*/
diff --git a/term/set_right_margin_parm.c b/term/set_right_margin_parm.c
new file mode 100644
index 0000000..247713a
--- /dev/null
+++ b/term/set_right_margin_parm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_right_margin_parm tigetstr("smgrp")
+
+/** set right margin at column #1 **/
+
+/*
+TERMINFO_NAME(smgrp)
+TERMCAP_NAME(Zn)
+XOPEN(400)
+*/
diff --git a/term/set_tab.c b/term/set_tab.c
new file mode 100644
index 0000000..bf2bfb3
--- /dev/null
+++ b/term/set_tab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_tab tigetstr("hts")
+
+/** set a tab in all rows at the current column **/
+
+/*
+TERMINFO_NAME(hts)
+TERMCAP_NAME(st)
+XOPEN(400)
+*/
diff --git a/term/set_tb_margin.c b/term/set_tb_margin.c
new file mode 100644
index 0000000..40b8ff5
--- /dev/null
+++ b/term/set_tb_margin.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_tb_margin tigetstr("smgtb")
+
+/** sets both top and bottom margins **/
+
+/*
+TERMINFO_NAME(smgtb)
+TERMCAP_NAME(MT)
+XOPEN(400)
+*/
diff --git a/term/set_top_margin_parm.c b/term/set_top_margin_parm.c
new file mode 100644
index 0000000..1bbf6e5
--- /dev/null
+++ b/term/set_top_margin_parm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_top_margin_parm tigetstr("smgtp")
+
+/** set top (bottom) margin at line #1 (#2) **/
+
+/*
+TERMINFO_NAME(smgtp)
+TERMCAP_NAME(Zp)
+XOPEN(400)
+*/
diff --git a/term/set_window.c b/term/set_window.c
new file mode 100644
index 0000000..955023c
--- /dev/null
+++ b/term/set_window.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define set_window tigetstr("wind")
+
+/** current window is lines #1-#2, columns #3-#4 **/
+
+/*
+TERMINFO_NAME(wind)
+TERMCAP_NAME(wi)
+XOPEN(400)
+*/
diff --git a/term/setupterm.c b/term/setupterm.c
new file mode 100644
index 0000000..f983749
--- /dev/null
+++ b/term/setupterm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int setupterm(char * term, int fildes, int * erret)
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/start_bit_image.c b/term/start_bit_image.c
new file mode 100644
index 0000000..4bb284e
--- /dev/null
+++ b/term/start_bit_image.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define start_bit_image tigetstr("sbim")
+
+/** start printing bit image graphics **/
+
+/*
+TERMINFO_NAME(sbim)
+TERMCAP_NAME(Zq)
+XOPEN(400)
+*/
diff --git a/term/start_char_set_def.c b/term/start_char_set_def.c
new file mode 100644
index 0000000..3289ee3
--- /dev/null
+++ b/term/start_char_set_def.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define start_char_set_def tigetstr("scsd")
+
+/** start definition of a character set **/
+
+/*
+TERMINFO_NAME(scsd)
+TERMCAP_NAME(Zr)
+XOPEN(400)
+*/
diff --git a/term/status_line_esc_ok.c b/term/status_line_esc_ok.c
new file mode 100644
index 0000000..d438aaa
--- /dev/null
+++ b/term/status_line_esc_ok.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define status_line_esc_ok tigetflag("eslok")
+
+/** escape can be used on the status line **/
+
+/*
+TERMINFO_NAME(eslok)
+TERMCAP_NAME(es)
+XOPEN(400)
+*/
diff --git a/term/stop_bit_image.c b/term/stop_bit_image.c
new file mode 100644
index 0000000..611c2b4
--- /dev/null
+++ b/term/stop_bit_image.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define stop_bit_image tigetstr("rbim")
+
+/** end printing bit image graphics **/
+
+/*
+TERMINFO_NAME(rbim)
+TERMCAP_NAME(Zs)
+XOPEN(400)
+*/
diff --git a/term/stop_char_set_def.c b/term/stop_char_set_def.c
new file mode 100644
index 0000000..3c3e271
--- /dev/null
+++ b/term/stop_char_set_def.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define stop_char_set_def tigetstr("rcsd")
+
+/** end definition of a character set **/
+
+/*
+TERMINFO_NAME(rcsd)
+TERMCAP_NAME(Zt)
+XOPEN(400)
+*/
diff --git a/term/subscript_characters.c b/term/subscript_characters.c
new file mode 100644
index 0000000..d0fa34f
--- /dev/null
+++ b/term/subscript_characters.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define subscript_characters tigetstr("subcs")
+
+/** list of "subscriptable" characters **/
+
+/*
+TERMINFO_NAME(subcs)
+TERMCAP_NAME(Zu)
+XOPEN(400)
+*/
diff --git a/term/superscript_characters.c b/term/superscript_characters.c
new file mode 100644
index 0000000..c06cf37
--- /dev/null
+++ b/term/superscript_characters.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define superscript_characters tigetstr("supcs")
+
+/** list of "superscriptable" characters **/
+
+/*
+TERMINFO_NAME(supcs)
+TERMCAP_NAME(Zv)
+XOPEN(400)
+*/
diff --git a/term/tab.c b/term/tab.c
new file mode 100644
index 0000000..4f29da4
--- /dev/null
+++ b/term/tab.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define tab tigetstr("ht")
+
+/** tab to next 8-space hardware tab stop **/
+
+/*
+TERMINFO_NAME(ht)
+TERMCAP_NAME(ta)
+XOPEN(400)
+*/
diff --git a/term/tgetent.c b/term/tgetent.c
new file mode 100644
index 0000000..96978e4
--- /dev/null
+++ b/term/tgetent.c
@@ -0,0 +1,14 @@
+#include <term.h>
+#include <curses.h>
+
+int tgetent(char * bp, const char * name)
+{
+ (void)bp;
+ /* ??? */
+ return ERR;
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/
diff --git a/term/tgetflag.c b/term/tgetflag.c
new file mode 100644
index 0000000..844f142
--- /dev/null
+++ b/term/tgetflag.c
@@ -0,0 +1,61 @@
+#include <term.h>
+
+int tgetflag(char id[2])
+{
+ const struct {
+ char tc[3];
+ char ti[8];
+ } map[] = {
+ { "bw", "bw" },
+ { "am", "am" },
+ { "ut", "bce" },
+ { "cc", "ccc" },
+ { "xs", "xhp" },
+ { "YA", "xhpa" },
+ { "YF", "cpix" },
+ { "YB", "crxm" },
+ { "xt", "xt" },
+ { "xn", "xenl" },
+ { "eo", "eo" },
+ { "gn", "gn" },
+ { "hc", "hc" },
+ { "HC", "chts" },
+ { "km", "km" },
+ { "YC", "daisy" },
+ { "hs", "hs" },
+ { "hl", "hls" },
+ { "in", "in" },
+ { "YG", "lpix" },
+ { "da", "da" },
+ { "db", "db" },
+ { "mi", "mir" },
+ { "ms", "msgr" },
+ { "nx", "nxon" },
+ { "xb", "xsb" },
+ { "NP", "npc" },
+ { "ND", "ndscr" },
+ { "NR", "nrrmc" },
+ { "os", "os" },
+ { "5i", "mc5i" },
+ { "YD", "xvpa" },
+ { "YE", "sam" },
+ { "es", "eslok" },
+ { "hz", "hz" },
+ { "ul", "ul" },
+ { "xo", "xon" },
+ };
+ size_t i = 0;
+
+ for (i = 0; i < sizeof(map) / sizeof(map[0]); i++) {
+ if (map[i].tc[0] == id[0] && map[i].tc[1] == 1) {
+ return tigetflag(map[i].ti);
+ }
+ }
+
+ return -1;
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/
diff --git a/term/tgetnum.c b/term/tgetnum.c
new file mode 100644
index 0000000..1830700
--- /dev/null
+++ b/term/tgetnum.c
@@ -0,0 +1,57 @@
+#include <term.h>
+
+int tgetnum(char id[2])
+{
+ size_t i;
+ const struct {
+ char ti[3];
+ char tc[8];
+ } map[] = {
+ { "Yo", "bitwin" },
+ { "Yp", "bitype" },
+ { "Ya", "bufsz" },
+ { "BT", "btns" },
+ { "co", "cols" },
+ { "Yc", "spinh" },
+ { "Yb", "spinv" },
+ { "it", "it" },
+ { "lh", "lh" },
+ { "lw", "lw" },
+ { "li", "lines" },
+ { "lm", "lm" },
+ { "ma", "ma" },
+ { "sg", "xmc" },
+ { "Co", "colors" },
+ { "Yd", "maddr" },
+ { "Ye", "mjump" },
+ { "pa", "pairs" },
+ { "MW", "wnum" },
+ { "Yf", "mcs" },
+ { "Yg", "mls" },
+ { "NC", "ncv" },
+ { "Nl", "nlab" },
+ { "Yh", "npins" },
+ { "Yi", "orc" },
+ { "Yj", "orl" },
+ { "Yk", "orhi" },
+ { "Yl", "orvi" },
+ { "pb", "pb" },
+ { "Ym", "cps" },
+ { "vt", "vt" },
+ { "Yn", "widcs" },
+ { "ws", "wsl" },
+ };
+
+ for (i = 0; i < sizeof(map) / sizeof(map[0]); i++) {
+ if (map[i].tc[0] == id[0] && map[i].tc[1] == id[1]) {
+ return tigetnum(map[i].tc);
+ }
+ }
+
+ return -1;
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/
diff --git a/term/tgetstr.c b/term/tgetstr.c
new file mode 100644
index 0000000..394627a
--- /dev/null
+++ b/term/tgetstr.c
@@ -0,0 +1,424 @@
+#include <term.h>
+#include <string.h>
+
+char * tgetstr(char id[2], char ** area)
+{
+ char *str = NULL;
+ size_t i;
+ const struct {
+ char tc[3];
+ char ti[8];
+ } map[] = {
+ /* string variables */
+ { "ac", "acsc" },
+ { "S8", "scesa" },
+ { "bt", "cbt" },
+ { "bl", "bel" },
+ { "Yv", "bicr" },
+ { "Zz", "binel" },
+ { "Xy", "birep" },
+ { "cr", "cr" },
+ { "ZA", "cpi" },
+ { "ZB", "lpi" },
+ { "ZC", "chr" },
+ { "ZD", "cvr" },
+ { "cs", "csr" },
+ { "rP", "rmp" },
+ { "Zy", "csnm" },
+ { "ct", "tbc" },
+ { "MC", "mgc" },
+ { "cl", "clear" },
+ { "cb", "ell" },
+ { "ce", "el" },
+ { "cd", "ed" },
+ { "ci", "csin" },
+ { "Yw", "colornm" },
+ { "ch", "hpa" },
+ { "CC", "cmdch" },
+ { "CW", "cwin" },
+ { "cm", "cup" },
+ { "do", "cudl" },
+ { "ho", "home" },
+ { "vi", "civis" },
+ { "le", "cubl" },
+ { "CM", "mrcup" },
+ { "ve", "cnorm" },
+ { "nd", "cufl" },
+ { "ll", "ll" },
+ { "up", "cuul" },
+ { "vs", "cvvis" },
+ { "Yx", "defbi" },
+ { "ZE", "defc" },
+ { "dc", "dchl" },
+ { "dl", "dll" },
+ { "dv", "devt" },
+ { "DI", "dial" },
+ { "ds", "dsl" },
+ { "DK", "dclk" },
+ { "S1", "dispc" },
+ { "hd", "hd" },
+ { "eA", "enacs" },
+ { "Yy", "endbi" },
+ { "as", "smacs" },
+ { "SA", "smam" },
+ { "mb", "blink" },
+ { "md", "bold" },
+ { "ti", "smcup" },
+ { "dm", "smdc" },
+ { "mh", "dim" },
+ { "ZF", "swidm" },
+ { "ZG", "sdrfq" },
+ { "im", "smir" },
+ { "ZH", "sitm" },
+ { "ZI", "slm" },
+ { "ZJ", "smicm" },
+ { "ZK", "snlq" },
+ { "ZL", "snrmq" },
+ { "S2", "smpch" },
+ { "mp", "prot" },
+ { "mr", "rev" },
+ { "S4", "smsc" },
+ { "mk", "invis" },
+ { "ZM", "sshm" },
+ { "so", "smso" },
+ { "ZN", "ssubm" },
+ { "ZO", "ssupm" },
+ { "us", "smul" },
+ { "ZP", "sum" },
+ { "SX", "smxon" },
+ { "ec", "ech" },
+ { "ae", "rmacs" },
+ { "RA", "rmam" },
+ { "me", "sgr0" },
+ { "te", "rmcup" },
+ { "ed", "rmdc" },
+ { "ZQ", "rwidm" },
+ { "ei", "rmir" },
+ { "ZR", "ritm" },
+ { "ZS", "rlm" },
+ { "ZT", "rmicm" },
+ { "S3", "rmpch" },
+ { "S5", "rmsc" },
+ { "ZU", "rshm" },
+ { "se", "rmso" },
+ { "ZV", "rsubm" },
+ { "ZW", "rsupm" },
+ { "ue", "rmul" },
+ { "ZX", "rum" },
+ { "RX", "rmxon" },
+ { "PA", "pause" },
+ { "fh", "hook" },
+ { "vb", "flash" },
+ { "ff", "ff" },
+ { "fs", "fsl" },
+ { "Gm", "getm" },
+ { "WG", "wingo" },
+ { "HU", "hup" },
+ { "i1", "is1" },
+ { "i2", "is2" },
+ { "i3", "is3" },
+ { "if", "if" },
+ { "iP", "iprog" },
+ { "IC", "initc" },
+ { "Ip", "initp" },
+ { "ic", "ichl" },
+ { "al", "ill" },
+ { "ip", "ip" },
+
+ /* key codes */
+ { "K1", "ka1" },
+ { "K3", "ka3" },
+ { "K2", "kb2" },
+ { "kb", "kbs" },
+ { "@1", "kbeg" },
+ { "kB", "kcbt" },
+ { "K4", "kc1" },
+ { "K5", "kc3" },
+ { "@2", "kcan" },
+ { "ka", "ktbc" },
+ { "kC", "kclr" },
+ { "@3", "kclo" },
+ { "@4", "kcmd" },
+ { "@5", "kcpy" },
+ { "@6", "kcrt" },
+ { "kt", "kctab" },
+ { "kD", "kdchl" },
+ { "kL", "kdll" },
+ { "kd", "kcudl" },
+ { "kM", "krmir" },
+ { "@7", "kend" },
+ { "@8", "kent" },
+ { "kE", "kel" },
+ { "kS", "ked" },
+ { "@9", "kext" },
+ { "k0", "kf0" },
+ { "k1", "kf1" },
+ { "k2", "kf2" },
+ { "k3", "kf3" },
+ { "k4", "kf4" },
+ { "k5", "kf5" },
+ { "k6", "kf6" },
+ { "k7", "kf7" },
+ { "k8", "kf8" },
+ { "k9", "kf9" },
+ { "ka", "kf10" },
+ { "kb", "kf11" },
+ { "kc", "kf12" },
+ { "kd", "kf13" },
+ { "ke", "kf14" },
+ { "kf", "kf15" },
+ { "kg", "kf16" },
+ { "kh", "kf17" },
+ { "ki", "kf18" },
+ { "kj", "kf19" },
+ { "kk", "kf20" },
+ { "kl", "kf21" },
+ { "km", "kf22" },
+ { "kn", "kf23" },
+ { "ko", "kf24" },
+ { "kp", "kf25" },
+ { "kq", "kf26" },
+ { "kr", "kf27" },
+ { "ks", "kf28" },
+ { "kt", "kf29" },
+ { "ku", "kf30" },
+ { "kv", "kf31" },
+ { "kw", "kf32" },
+ { "kx", "kf33" },
+ { "ky", "kf34" },
+ { "kz", "kf35" },
+ { "F0", "kf36" },
+ { "F1", "kf37" },
+ { "F2", "kf38" },
+ { "F3", "kf39" },
+ { "F4", "kf40" },
+ { "F5", "kf41" },
+ { "F6", "kf42" },
+ { "F7", "kf43" },
+ { "F8", "kf44" },
+ { "F9", "kf45" },
+ { "Fa", "kf46" },
+ { "Fb", "kf47" },
+ { "Fc", "kf48" },
+ { "Fd", "kf49" },
+ { "Fe", "kf50" },
+ { "Ff", "kf51" },
+ { "Fg", "kf52" },
+ { "Fh", "kf53" },
+ { "Fi", "kf54" },
+ { "Fj", "kf55" },
+ { "Fk", "kf56" },
+ { "Fl", "kf57" },
+ { "Fm", "kf58" },
+ { "Fn", "kf59" },
+ { "Fo", "kf60" },
+ { "Fp", "kf61" },
+ { "Fq", "kf62" },
+ { "Fr", "kf63" },
+ { "@0", "kfnd" },
+ { "%1", "khlp" },
+ { "kh", "khome" },
+ { "kI", "kichl" },
+ { "kA", "kill" },
+ { "kl", "kcubl" },
+ { "kH", "kll" },
+ { "%2", "kmrk" },
+ { "%3", "kmsg" },
+ { "Km", "kmous" },
+ { "%4", "kmov" },
+ { "%5", "knxt" },
+ { "kN", "knp" },
+ { "%6", "kopn" },
+ { "%7", "kopt" },
+ { "kP", "kpp" },
+ { "%8", "kprv" },
+ { "%9", "kprt" },
+ { "%0", "krdo" },
+ { "&1", "kref" },
+ { "&2", "krfr" },
+ { "&3", "krpl" },
+ { "&4", "krst" },
+ { "&5", "kres" },
+ { "kr", "kcufl" },
+ { "&6", "ksav" },
+ { "&9", "kBEG" },
+ { "&0", "kCAN" },
+ { "*1", "kCMD" },
+ { "*2", "kCPY" },
+ { "*3", "kCRT" },
+ { "*4", "kDC" },
+ { "*5", "kDL" },
+ { "*6", "kslt" },
+ { "*7", "kEND" },
+ { "*8", "kEOL" },
+ { "*9", "kEXT" },
+ { "kF", "kind" },
+ { "*0", "kFND" },
+ { "#1", "kHLP" },
+ { "#2", "kHOM" },
+ { "#3", "kIC" },
+ { "#4", "kLFT" },
+ { "%a", "kMSG" },
+ { "%b", "kMOV" },
+ { "%c", "kNXT" },
+ { "%d", "kOPT" },
+ { "%e", "kPRV" },
+ { "%f", "kPRT" },
+ { "kR", "kri" },
+ { "%g", "kRDO" },
+ { "%h", "kRPL" },
+ { "%i", "kRIT" },
+ { "%j", "kRES" },
+ { "!1", "kSAV" },
+ { "!2", "kSPD" },
+ { "kT", "khts" },
+ { "!3", "kUND" },
+ { "&7", "kspd" },
+ { "&8", "kund" },
+ { "ku", "kcuul" },
+ { "ke", "rmkx" },
+ { "ks", "smkx" },
+
+ /* more strings */
+ { "l0", "lf0" },
+ { "l1", "lf1" },
+ { "l2", "lf2" },
+ { "l3", "lf3" },
+ { "l4", "lf4" },
+ { "l5", "lf5" },
+ { "l6", "lf6" },
+ { "l7", "lf7" },
+ { "l8", "lf8" },
+ { "l9", "lf9" },
+ { "la", "lf10" },
+ { "Lf", "fln" },
+ { "LF", "rmln" },
+ { "LO", "smln" },
+ { "mo", "rmm" },
+ { "mm", "smm" },
+ { "ZY", "mhpa" },
+ { "ZZ", "mcudl" },
+ { "Za", "mcubl" },
+ { "Zb", "mcufl" },
+ { "Zc", "mvpa" },
+ { "Zd", "mcuul" },
+ { "Mi", "minfo" },
+ { "nw", "nel" },
+ { "Ze", "porder" },
+ { "oc", "oc" },
+ { "op", "op" },
+ { "pc", "pad" },
+ { "DC", "dch" },
+ { "DL", "dl" },
+ { "DO", "cud" },
+ { "Zf", "mcud" },
+ { "IC", "ich" },
+ { "SF", "indn" },
+ { "AL", "il" },
+ { "LE", "cub" },
+ { "Zg", "mcub" },
+ { "RI", "cuf" },
+ { "Zh", "mcuf" },
+ { "SR", "rin" },
+ { "UP", "cuu" },
+ { "Zi", "mcuu" },
+ { "S6", "pctrm" },
+ { "pk", "pfkey" },
+ { "pl", "pfloc" },
+ { "xl", "pfxl" },
+ { "px", "pfx" },
+ { "pn", "pln" },
+ { "ps", "mc0" },
+ { "p0", "mc5p" },
+ { "pf", "mc4" },
+ { "po", "mc5" },
+ { "PU", "pulse" },
+ { "QD", "qdial" },
+ { "RC", "rmclk" },
+ { "rp", "rep" },
+ { "RF", "rfi" },
+ { "RQ", "reqmp" },
+ { "r1", "rs1" },
+ { "r2", "rs2" },
+ { "r3", "rs3" },
+ { "rf", "rf" },
+ { "rc", "rc" },
+ { "cv", "vpa" },
+ { "sc", "sc" },
+ { "S7", "scesc" },
+ { "sf", "ind" },
+ { "sr", "ri" },
+ { "Zj", "scs" },
+ { "s0", "s0ds" },
+ { "s1", "s1ds" },
+ { "s2", "s2ds" },
+ { "s3", "s3ds" },
+ { "AB", "setab" },
+ { "AF", "setaf" },
+ { "sa", "sgr" },
+ { "Sb", "setb" },
+ { "Zk", "smgb" },
+ { "Zl", "smgbp" },
+ { "SC", "sclk" },
+ { "Yz", "setcolor" },
+ { "sp", "scp" },
+ { "Sf", "setf" },
+ { "ML", "smgl" }, /* note: duplicate */
+ { "Zm", "smglp" },
+ { "ML", "smgrl" }, /* note: duplicate */
+ { "YZ", "slines" },
+ { "YI", "slength" },
+ { "MR", "smgr" },
+ { "Zn", "smgrp" },
+ { "st", "hts" },
+ { "MT", "smgtb" },
+ { "Zo", "smgt" },
+ { "Zp", "smgtp" },
+ { "wi", "wind" },
+ { "Zq", "sbim" },
+ { "Zr", "scsd" },
+ { "Zs", "rbim" },
+ { "Zt", "rcsd" },
+ { "Zu", "subcs" },
+ { "Zv", "supcs" },
+ { "ta", "ht" },
+ { "Zw", "docr" },
+ { "ts", "tsl" },
+ { "u0", "u0" },
+ { "u1", "u1" },
+ { "u2", "u2" },
+ { "u3", "u3" },
+ { "u4", "u4" },
+ { "u5", "u5" },
+ { "u6", "u6" },
+ { "u7", "u7" },
+ { "u8", "u8" },
+ { "u9", "u9" },
+ { "uc", "uc" },
+ { "hu", "hu" },
+ { "WA", "wait" },
+ { "XF", "xoffc" },
+ { "XN", "xonc" },
+ { "Zx", "zerom" },
+ };
+
+ for (i = 0; i < sizeof(map) / sizeof(map[0]); i++) {
+ if (map[i].tc[0] == id[0] && map[i].tc[1] == id[1]) {
+ str = tigetstr(map[i].ti);
+ break;
+ }
+ }
+
+ /* TODO: the rest isn't quite right */
+ if (str != NULL) {
+ strcpy(*area, str);
+ *area += strlen(*area);
+ }
+
+ return str;
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/
diff --git a/term/tgoto.c b/term/tgoto.c
new file mode 100644
index 0000000..ed0b6ea
--- /dev/null
+++ b/term/tgoto.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+char * tgoto(char * cap, int col, int row)
+{
+ return tiparam(cap, col, row);
+}
+
+/*
+XOPEN(400, 700)
+LINK(curses)
+*/
diff --git a/term/these_cause_cr.c b/term/these_cause_cr.c
new file mode 100644
index 0000000..b73b288
--- /dev/null
+++ b/term/these_cause_cr.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define these_cause_cr tigetstr("docr")
+
+/** printing any of these characters causes TERMCAP(cr) **/
+
+/*
+TERMINFO_NAME(docr)
+TERMCAP_NAME(Zw)
+XOPEN(400)
+*/
diff --git a/term/tigetflag.c b/term/tigetflag.c
new file mode 100644
index 0000000..be8a740
--- /dev/null
+++ b/term/tigetflag.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int tigetflag(const char * capname)
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/tigetnum.c b/term/tigetnum.c
new file mode 100644
index 0000000..bd8d28a
--- /dev/null
+++ b/term/tigetnum.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int tigetnum(const char * capname)
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/tigetstr.c b/term/tigetstr.c
new file mode 100644
index 0000000..46d4f02
--- /dev/null
+++ b/term/tigetstr.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+char * tigetstr(const char * capname)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/tilde_glitch.c b/term/tilde_glitch.c
new file mode 100644
index 0000000..77c16f3
--- /dev/null
+++ b/term/tilde_glitch.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define tilde_glitch tigetflag("hz")
+
+/** can't print tilde (~) **/
+
+/*
+TERMINFO_NAME(hz)
+TERMCAP_NAME(hz)
+XOPEN(400)
+*/
diff --git a/term/tiparm.c b/term/tiparm.c
new file mode 100644
index 0000000..c3ffe59
--- /dev/null
+++ b/term/tiparm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+char * tiparm(const char * cap, ...)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/to_status_line.c b/term/to_status_line.c
new file mode 100644
index 0000000..25daece
--- /dev/null
+++ b/term/to_status_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define to_status_line tigetstr("tsl")
+
+/** go to status line, col #1 **/
+
+/*
+TERMINFO_NAME(tsl)
+TERMCAP_NAME(ts)
+XOPEN(400)
+*/
diff --git a/term/tone.c b/term/tone.c
new file mode 100644
index 0000000..27826cf
--- /dev/null
+++ b/term/tone.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define tone tigetstr("tone")
+
+/** select touch tone dialing **/
+
+/*
+TERMINFO_NAME(tone)
+TERMCAP_NAME(TO)
+XOPEN(400)
+*/
diff --git a/term/tparm.c b/term/tparm.c
new file mode 100644
index 0000000..1f09dde
--- /dev/null
+++ b/term/tparm.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+char * tparm(const char * cap, long p1, long p2, long p3, long p4, long p5, long p6, long p7, long p8, long p9)
+{
+ return 0;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/tputs.c b/term/tputs.c
new file mode 100644
index 0000000..6e06058
--- /dev/null
+++ b/term/tputs.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+int tputs(const char * str, int affcnt, int (*putfunc)(int))
+{
+ return -1;
+}
+
+/*
+XOPEN(400)
+LINK(curses)
+*/
diff --git a/term/transparent_underline.c b/term/transparent_underline.c
new file mode 100644
index 0000000..a3c27a3
--- /dev/null
+++ b/term/transparent_underline.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define transparent_underline tigetflag("ul")
+
+/** underline character overstrikes **/
+
+/*
+TERMINFO_NAME(ul)
+TERMCAP_NAME(ul)
+XOPEN(400)
+*/
diff --git a/term/underline_char.c b/term/underline_char.c
new file mode 100644
index 0000000..ebc56b0
--- /dev/null
+++ b/term/underline_char.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define underline_char tigetstr("uc")
+
+/** underscore one character and move past it **/
+
+/*
+TERMINFO_NAME(uc)
+TERMCAP_NAME(uc)
+XOPEN(400)
+*/
diff --git a/term/up_half_line.c b/term/up_half_line.c
new file mode 100644
index 0000000..24284ba
--- /dev/null
+++ b/term/up_half_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define up_half_line tigetstr("hu")
+
+/** half-line up (reverse 1/2 linefeed) **/
+
+/*
+TERMINFO_NAME(hu)
+TERMCAP_NAME(hu)
+XOPEN(400)
+*/
diff --git a/term/user0.c b/term/user0.c
new file mode 100644
index 0000000..7c67094
--- /dev/null
+++ b/term/user0.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user0 tigetstr("u0")
+
+/** user string 0 **/
+
+/*
+TERMINFO_NAME(u0)
+TERMCAP_NAME(u0)
+XOPEN(400)
+*/
diff --git a/term/user1.c b/term/user1.c
new file mode 100644
index 0000000..2a9aa86
--- /dev/null
+++ b/term/user1.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user1 tigetstr("u1")
+
+/** user string 1 **/
+
+/*
+TERMINFO_NAME(u1)
+TERMCAP_NAME(u1)
+XOPEN(400)
+*/
diff --git a/term/user2.c b/term/user2.c
new file mode 100644
index 0000000..22265de
--- /dev/null
+++ b/term/user2.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user2 tigetstr("u2")
+
+/** user string 2 **/
+
+/*
+TERMINFO_NAME(u2)
+TERMCAP_NAME(u2)
+XOPEN(400)
+*/
diff --git a/term/user3.c b/term/user3.c
new file mode 100644
index 0000000..c60f765
--- /dev/null
+++ b/term/user3.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user3 tigetstr("u3")
+
+/** user string 3 **/
+
+/*
+TERMINFO_NAME(u3)
+TERMCAP_NAME(u3)
+XOPEN(400)
+*/
diff --git a/term/user4.c b/term/user4.c
new file mode 100644
index 0000000..7d2d4f9
--- /dev/null
+++ b/term/user4.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user4 tigetstr("u4")
+
+/** user string 4 **/
+
+/*
+TERMINFO_NAME(u4)
+TERMCAP_NAME(u4)
+XOPEN(400)
+*/
diff --git a/term/user5.c b/term/user5.c
new file mode 100644
index 0000000..6bd1bdc
--- /dev/null
+++ b/term/user5.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user5 tigetstr("u5")
+
+/** user string 5 **/
+
+/*
+TERMINFO_NAME(u5)
+TERMCAP_NAME(u5)
+XOPEN(400)
+*/
diff --git a/term/user6.c b/term/user6.c
new file mode 100644
index 0000000..d51b2ea
--- /dev/null
+++ b/term/user6.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user6 tigetstr("u6")
+
+/** user string 6 **/
+
+/*
+TERMINFO_NAME(u6)
+TERMCAP_NAME(u6)
+XOPEN(400)
+*/
diff --git a/term/user7.c b/term/user7.c
new file mode 100644
index 0000000..4992f89
--- /dev/null
+++ b/term/user7.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user7 tigetstr("u7")
+
+/** user string 7 **/
+
+/*
+TERMINFO_NAME(u7)
+TERMCAP_NAME(u7)
+XOPEN(400)
+*/
diff --git a/term/user8.c b/term/user8.c
new file mode 100644
index 0000000..2ba3ccd
--- /dev/null
+++ b/term/user8.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user8 tigetstr("u8")
+
+/** user string 8 **/
+
+/*
+TERMINFO_NAME(u8)
+TERMCAP_NAME(u8)
+XOPEN(400)
+*/
diff --git a/term/user9.c b/term/user9.c
new file mode 100644
index 0000000..6d4ee9b
--- /dev/null
+++ b/term/user9.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define user9 tigetstr("u9")
+
+/** user string 9 **/
+
+/*
+TERMINFO_NAME(u9)
+TERMCAP_NAME(u9)
+XOPEN(400)
+*/
diff --git a/term/virtual_terminal.c b/term/virtual_terminal.c
new file mode 100644
index 0000000..272173f
--- /dev/null
+++ b/term/virtual_terminal.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define virtual_terminal tigetnum("vt")
+
+/** virtual terminal number **/
+
+/*
+TERMINFO_NAME(vt)
+TERMCAP_NAME(vt)
+XOPEN(400)
+*/
diff --git a/term/wait_tone.c b/term/wait_tone.c
new file mode 100644
index 0000000..4818564
--- /dev/null
+++ b/term/wait_tone.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define wait_tone tigetstr("wait")
+
+/** wait for dial tone **/
+
+/*
+TERMINFO_NAME(wait)
+TERMCAP_NAME(WA)
+XOPEN(400)
+*/
diff --git a/term/wide_char_size.c b/term/wide_char_size.c
new file mode 100644
index 0000000..dc3850d
--- /dev/null
+++ b/term/wide_char_size.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define wide_char_size tigetnum("widcs")
+
+/** character step size when in double-wide mode **/
+
+/*
+TERMINFO_NAME(widcs)
+TERMCAP_NAME(Yn)
+XOPEN(400)
+*/
diff --git a/term/width_status_line.c b/term/width_status_line.c
new file mode 100644
index 0000000..b6ecdf6
--- /dev/null
+++ b/term/width_status_line.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define width_status_line tigetnum("wsl")
+
+/** number of columns in a status line **/
+
+/*
+TERMINFO_NAME(wsl)
+TERMCAP_NAME(ws)
+XOPEN(400)
+*/
diff --git a/term/xoff_character.c b/term/xoff_character.c
new file mode 100644
index 0000000..6c89467
--- /dev/null
+++ b/term/xoff_character.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define xoff_character tigetstr("xoffc")
+
+/** x-off character **/
+
+/*
+TERMINFO_NAME(xoffc)
+TERMCAP_NAME(XF)
+XOPEN(400)
+*/
diff --git a/term/xon_character.c b/term/xon_character.c
new file mode 100644
index 0000000..54429e6
--- /dev/null
+++ b/term/xon_character.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define xon_character tigetstr("xonc")
+
+/** x-on character **/
+
+/*
+TERMINFO_NAME(xonc)
+TERMCAP_NAME(XN)
+XOPEN(400)
+*/
diff --git a/term/xon_xoff.c b/term/xon_xoff.c
new file mode 100644
index 0000000..c2b3e35
--- /dev/null
+++ b/term/xon_xoff.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define xon_xoff tigetflag("xon")
+
+/** terminal uses xon/xoff handshaking **/
+
+/*
+TERMINFO_NAME(xon)
+TERMCAP_NAME(xo)
+XOPEN(400)
+*/
diff --git a/term/zero_motion.c b/term/zero_motion.c
new file mode 100644
index 0000000..5e7aca0
--- /dev/null
+++ b/term/zero_motion.c
@@ -0,0 +1,11 @@
+#include <term.h>
+
+#define zero_motion tigetstr("zerom")
+
+/** no motion for the subsequent character **/
+
+/*
+TERMINFO_NAME(zerom)
+TERMCAP_NAME(Zx)
+XOPEN(400)
+*/
diff --git a/txttoc.sh b/txttoc.sh
new file mode 100644
index 0000000..9d4571e
--- /dev/null
+++ b/txttoc.sh
@@ -0,0 +1,16 @@
+FUNCTION=${1:-tigetstr}
+while read long_name terminfo_name termcap_name description; do
+ cat <<-EOF > $long_name.c
+ #include <term.h>
+
+ #define $long_name ${FUNCTION}("$terminfo_name")
+
+ /** $description **/
+
+ /*
+ TERMINFO_NAME($terminfo_name)
+ TERMCAP_NAME($termcap_name)
+ XOPEN(400)
+ */
+EOF
+done
diff --git a/unctrl/chtype.ref b/unctrl/chtype.ref
new file mode 100644
index 0000000..b21d377
--- /dev/null
+++ b/unctrl/chtype.ref
@@ -0,0 +1,3 @@
+#include <unctrl.h>
+REFERENCE(curses/chtype.c)
+XOPEN(4)
diff --git a/unctrl/unctrl.c b/unctrl/unctrl.c
new file mode 100644
index 0000000..fc77e6b
--- /dev/null
+++ b/unctrl/unctrl.c
@@ -0,0 +1,29 @@
+#include <unctrl.h>
+#include <curses.h>
+#include <ctype.h>
+#include <stddef.h>
+
+char * unctrl(chtype c)
+{
+ static char buf[3];
+ char * ret = NULL;
+ int ch = c & A_CHARTEXT;
+
+ if (iscntrl(ch)) {
+ buf[0] = '^';
+ buf[1] = ch + 'A';
+ buf[2] = '\0';
+ ret = buf;
+ } else if (isprint(ch)) {
+ buf[0] = ch;
+ buf[1] = '\0';
+ ret = buf;
+ }
+
+ return ret;
+}
+
+/*
+XOPEN(4)
+LINK(curses)
+*/